|
|
|
โลจิกแบบนี้เขียน sql ยังไงครับ รับค่ามา1ค่า สมมุติให้เป็น $data1 แล้วเอา data1มาเช็คใน sql |
|
|
|
|
|
|
|
$sql=mysql("select * from table where id=$data1");
if(mysql_num_rows($sql)>0){
กรณีมีข้อมุลมากกว่า 1 แถว
}else{
insert ข้อมูล
}
|
|
|
|
|
Date :
2013-03-18 02:53:25 |
By :
chaynuwong |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
if(mysql_num_rows(mysql("SELECT 1 FROM `table_name` WHERE `id` = '$data1' LIMIT 1"))) {
// UPDATE
}else{
// INSERT
}
|
|
|
|
|
Date :
2013-03-18 09:02:28 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากครับ
|
|
|
|
|
Date :
2013-03-18 10:35:33 |
By :
matay107 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แล้วถ้าเพิ่มมาอีกกรณี
รับค่ามา1ค่า สมมุติให้เป็น $data1 แล้วเอาdata1มาเช็คในsql
select * form table where id=$data1
ถ้า $data1=id ให้update
ถ้า $data1 whereในฐานข้อมูล[font=Verdana]แล้วไม่เจอ ให้insert
ถ้า $data1ไม่มีค่าส่งมา แต่มีidของdata1 ในฐานข้อมูล ให้delete
จะifยังไงครับ
|
ประวัติการแก้ไข 2013-03-18 10:44:30 2013-03-18 10:46:17
|
|
|
|
Date :
2013-03-18 10:42:54 |
By :
matay107 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
$data1ไม่มีค่าส่งมา แล้วจะเอาค่าไหนไปเช็คในฐานข้อมูลว่า มี id ของ data1 ในฐานข้อมูล
|
|
|
|
|
Date :
2013-03-18 10:46:14 |
By :
WiTT |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
คือ$data1 มีค่าส่งมา สมมุติ10แถว id1,2,3,...,10 แล้วid8ไม่มี แต่ในฐานข้อมูลมี id 1,2,...,10 ครบ ประมาณนี้อะครับ
ตอนนี้ที่เช็คไว้ ประมาณนี้
Code
$sql="select * from data where id=$data1 limit 1";
echo $sql."</br>";
//$rs=$this->db->query($sql)->result_array();
$chk_row2=$this->db->query($sql)->num_rows();
if($chk_row2 != 0)
{
$this->update($id,$data1,$data2,$data3,$data4,$data5,$data6,$data7,$data8,$data9,$data10,$data11,$data12,$data13);
}else
{
$this->insert($data1,$data2,$data3,$data4,$data5,$data6,$data7,$data8,$data9,$data10,$data11,$data12,$data13);
}
ลองเพิ่ม else if($chk_row2 == 0) { delete } ดู มันไม่มีอะไรเข้ามาในเงื่อนไขนี้เลย
|
ประวัติการแก้ไข 2013-03-18 11:20:40 2013-03-18 11:24:43
|
|
|
|
Date :
2013-03-18 10:54:54 |
By :
matay107 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|