ดึงข้อมูลจาก mysql สอง column มาเป็น select list in php หนึ่งในนั้นให้โชว์ให้ user เห็น อีกอันให้ hidden ต้องการส่งค่าไปเก็บในตาราง
แบบนี้ใช่ไหม โชว์ em_name แต่ส่งเป็น cus_id
Code (PHP)
echo '<select name="cus_id">';
//whle loop
echo '<option value="' . $data['cus_id'] . '">' . $data['em_name'] . '</option>';
//end
echo '</select>';
Date :
2011-11-27 02:11:45
By :
ikikkok
คือปัญหาของดิฉันคือ มีข้อมูลเชื่อมโยงกัน สามตาราง
tb_1
cat_id
cat_name
....
tb_2
vname_id
vcat_id
vname_name
tb_3
vscript_name
vname_id
vcat_id
มันจะเป็นลักษณะว่า tb_2 มี FK ที่เป็น PK ของ tb_1 แล้ว tb_3 มี FK ที่เป็น PK ของ tb_2 ที่นี่ดิฉันก็ code เป็น ว่าพอลบ tb_1 record ไหน ก็จะต้องไปลบที่ tb_2 ด้วย ซึ่งก็ทำได้แล้ว แต่ปัญหาคือว่า ถ้าลบที่ tb_2 จะต้องไปลบที่ tb_3 ด้วย
คือพอจะ add ข้อมู่ลที่ tb_3 ก็ให้ดึง ข้อมูลจาก tb_2 มาอยู่ใน select list ซึ่งก็ทำได้ไม่มีปัญหา แต่ดิฉันต้องการดึง vcat_id มาด้วยให้มันไปลงที่ตาราง tb_3 เพื่อที่ตอนไปลบที่ตาราง แม่ tb_1 ก็จะ ลบทุกอย่างที่เกี่ยวกับ cat_id ข้อมูลก็จะไม่ผิดพลาด
ตอนนี้ทำให้ ถ้าลบที่ tb_1 ก็จะมีผลกระทบไปกับ tb_2 ได้แล้ว แต่ที่นี้ tb_2 มันจะมีผลกับ tb_3 ด้วย เลยคิดว่าดึงค่า cat_id จาก tb_2 ที่มาด้วยตอนที่ ทำ select list แต่จะให้ User เห็นแค่ vname_name แต่ vcat_id ดึงมาด้วย แต่ไม่ให้เห็นเพราะจะเอาไปเก็บใน ตาราง tb_3 เพื่อที่ตอนทำการลบ ที่ tb_1 ก็จะได้โดนลบทุกอย่าง ข้อมูลไม่ผิดพลาด
ยาวไปหน่อยนะค่ะ ขอบคุณล่วงหน้านะค่ะ
Date :
2011-11-27 03:35:48
By :
มือใหม่หัดขับ
ท่านมืออาชีพ ช่วยด้วยยยยยยยยยยนะค่ะ
Date :
2011-11-27 15:35:59
By :
มือใหม่หัดขับ
พยายามทำความเข้าใจแล้วครับ อ่านหลายรอบ ก็ยังจับใจความยังไม่ได้ว่ากำลังจะทำอะไร แล้วการลบข้อมูลที่มี relation แบบนี้ แล้วมันจะกระทบกับข้อมูลใน table อื่นๆ ที่เกี่ยวข้องไหม ยกตัวอย่างง่ายๆ ระบบ Order ถ้าเกิดคุณเก็บข้อมูล product ใน table order แค่ product_id แล้วไป join กันเพื่อแสดงรายละเอียด order ถ้าเกิดคุณลบข้อมูลของ product หนึ่งไป ซึ่งมันมีข้อมูลการซื้ออยู่ใน order แล้ว มันจะกระทบแน่นอน เพราะ product มันโดนลบไปแล้ว งงมะครับ
Date :
2011-11-27 16:29:27
By :
ikikkok
รบกวนด้วยนะค่ะ นึกไม่ออกจริงๆ ค่ะ
ขอบคุณล่วงหน้าอีกครั้งนะค่ะ
Date :
2011-11-28 02:24:43
By :
มือใหม่หัดขับ
<option value="<?=$result["vname_id"].','.$result["vcat_id"] ;?>"<?=$sel;?>>
ส่งไปแล้ว split เอาครับ ใช้ explode ไม่อยากให้ลำบากต้องใช้ ajax เดี๋ยวจะงง
ประวัติการแก้ไข 2011-11-28 02:38:35 2011-11-28 02:38:58
Date :
2011-11-28 02:38:07
By :
ikikkok
แล้วค่า vcat_id มันจะลงไปในฐานข้อมูลยังไงค่ะ ในเมื่อเราส่ง แค่ videoNameID ตอน insert แล้ว ค่าของ vcat_id จะไปยังไงค่ะ งง งง
Code
$sql = "insert into videoscript (vname_id,vcat_id,vscript_season,vscript_script,vscript_episodes,vscript_date) values ('$_POST[videoNameID]','$_POST[txtSeason]','$_POST[txtScript]','$_POST[txtTotal]','$_POST[date]')";
<select name="videoNameID" class="txtbox">
<option value="">Select video name</option>
<?
//=========== Display type of video into list box
$sql_group = "select * from videoname order by vname_id asc";
$dbquery_group = mysql_query($sql_group);
$num_rows_group = mysql_num_rows($dbquery_group);
while ($result = mysql_fetch_array($dbquery_group))
//$result = mysql_fetch_array($dbquery_group)
{
if($_POST["videoNameID"] == $result["vname_id"])
{
$sel="selected";
}
else
{
$sel="";
}
?>
<option value="<?=$result["vname_id"].','.$result["vcat_id"];?>"<?=$sel;?>>
<?=$result["vname_name"];?>
</option>
<?
}
?>
</select>
รบกวนหน่อยนะค่ะ มือใหม่
Date :
2011-11-28 04:40:26
By :
มือใหม่หัดขับ
ส่งไปแล้ว split เอาครับ ใช้ explode ทำยังไงค่ะ รบกวนหน่อยนะค่ะ
ขอบคุณค่ะ
Date :
2011-11-28 11:32:05
By :
มือใหม่หัดขับ
ช่วยด้วยนะค่ะ
Date :
2011-11-28 12:25:24
By :
มือใหม่หัดขับ
Code (PHP)
list($vname_id,$vcat_id) = explode(",",$_POST['videoNameID']);
เอา $vname_id กับ $vcat_id ไปใช้ครับ
Date :
2011-11-28 12:46:32
By :
ikikkok
Ajax json ครับ...
Date :
2011-11-29 10:20:01
By :
fossil31
list($vname_id,$vcat_id) = explode($_POST['videoNameID'],",");
$sql = "insert into videoscript (vname_id,vcat_id,vscript_season,vscript_script,vscript_episodes,vscript_date) values ('$_POST[videoNameID]','.$_POST','$_POST[txtSeason]','$_POST[txtScript]','$_POST[txtTotal]','$_POST[date]')";
เรียงตรงไหนผิดค่ะ คือต้องการแยกข้อมูลใส่ลงใน สอง คอลัมน์ ตอนนี้ echo ออกมาดู ข้อมูลมันโชว์ เป็ฯ
(10,19),'...','....' ต้องการแยก 10 ให้ลงอีกไปที่ field vname_id แล้วก็ 19 ลงไปที่ vcat_id
ช่วยด้วยนะค่ะ
Date :
2011-11-30 13:33:26
By :
มือใหม่หัดขับ
Load balance : Server 02