สอบถาม : การทำ input radio เพื่อเลือก ข้อมูลใส่ลงใน Mysql

เริ่มโดย pooh20240, 30 มีนาคม 2011, 15:23:53

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

bomload

ค่าใน Form

<form action="" method="post">
<? for($x=1;$x<=10;$x++){?>
<input type="checkbox" name="ck[]" id="ck[]" />
<? }?>
<input name="บันทึก" type="submit" value="bup" />
</form>



ค่าในฐานข้อมูล
<?
if(isset($_POST[bup])){

####### ส่งข้อมูลมาแบบ array เราต้องทำ array อีกที แล้วค่อยแยกออก
$cks=explode(",",@implode(",",$_POST['ck']));


##################แบบที่ 1
for($np=0;$np<count($cks);$np++)
{
$sql="insert into tb_mem values('$cks[$np]')";
mysql_db_query();// ก็ใส่ไปติดต่อฐานข้อมูลแบบไหน
}

################# แบบที่ 2 จะไม่ค่อยใช้
$sql="insert into tb_mem values('$cks[0]','$cks[1]','$cks[2]')";// มีเยอะก็ใส่ไป
mysql_db_query();// ก็ใส่ไปติดต่อฐานข้อมูลแบบไหน



}
?>



รับทำเว็บไซต์

pooh20240

อ้างถึงจาก: DJJome ใน 30 มีนาคม 2011, 18:33:02
แสดงว่าพื้นฐานยังไม่แน่น

ตอนบันทึกใช้แบบนี้ครับ


<?php 
        
if($_POST) {
            
            foreach(
$_POST['news'] as $news_line) {
                
$query "insert into news_table ('', 'content') values('', '$news_line') ";
                
mysql_query($query);
            }
            
        } 
        
?>




อย่าลืม Connect database ก่อนนะครับ

ทดสอบแล้วครับ
มันสามารถ insert เข้า db ได้ครับ แต่มันเอา ข้อมูลบันทัดสุดท้่ายเข้าไป
ตัวอย่างโคส


<tr><td><input type="checkbox" name="news[]" class="target-check"></td>
<td><input name='asin' type='text' value='COD1' style='width:70px;'></td>
</tr>
<tr><td><input type="checkbox" name="news[]" class="target-check"></td>
<td><input name='asin' type='text' value='COD2' style='width:70px;'></td>
</tr>
<tr><td><input type="checkbox" name="news[]" class="target-check"></td>
<td><input name='asin' type='text' value='COD3' style='width:70px;'></td>
</tr>
<tr><td><input type="checkbox" name="news[]" class="target-check"></td>
<td><input name='asin' type='text' value='COD4' style='width:70px;'></td>
</tr>
<tr><td><input type="checkbox" name="news[]" class="target-check"></td>
<td><input name='asin' type='text' value='COD5' style='width:70px;'></td>
</tr>



ล่างสุดเป็น COD5

คือผมเลือก COD4 แต่เวลาซัพมิทมันเอา COD5 ลง DB แทน  :P
แหล่งรวมสาว AV 18+ <== BAN USER ถาวร เรียบร้อย

pooh20240

ได้แล้วครับ   :'(

งมตั้งนาน  :wanwan014: :wanwan014:

ขอบคุณทุกคนมากครับ โคสที่นำมาบอกเป็นประโยชมากครับ  :wanwan017: :wanwan017: :wanwan017:
แหล่งรวมสาว AV 18+ <== BAN USER ถาวร เรียบร้อย

DJJome

อันนั้นเป็นแบบยาว ส่วนอันนี้เป็นแบบสั้น


<?php 
if($_POST) {
    
// connect database
    
$dbh mysql_connect('localhost''root''password') or die('can not connect database');
    
// choose database
    
mysql_select_db('test');

    
$query "insert into `news_table` (`content`) values ";
    
$query .= "('" implode("'),('"$_POST['news']) . "')";
    
//echo $query;exit;
            
    
$result mysql_query($query);
    if(
$result) {
      echo 
"Save complete";
    }

    
// close connection
    
mysql_close($dbh);

}
?>



ข้อดีของแบบนี้คือ เรียก mysql_query แค่ครั้งเดียว ส่วน code แบบเก่าต้องเรียกตามจำนวนข้อมูลที่มี
ถ้ามีเยอะแล้วเรียกใช้ foreach() มันจะทำให้ช้านะครับ


-----------------------------
จากตัวอย่าง โครงสร้างฐานข้อมูลผมเป็นแบบนี้

CREATE TABLE `news_table` (
 `id` int(11) NOT NULL auto_increment,
 `content` text collate latin1_general_ci NOT NULL,
 PRIMARY KEY  (`id`)
)