ใช้ foreach เพื่อ insert ข้อมูลหลาย record อย่างไร

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
Kizmo
PHP Newbie
PHP Newbie
Posts: 9
Joined: 01/01/1970 7:00 am

ใช้ foreach เพื่อ insert ข้อมูลหลาย record อย่างไร

Post by Kizmo »

คือผมมี form checkbox เช่น
[_] = check box
[_____] = input text

[_] CompGamer จำนวน [_____] เล่ม
[_] WeeklyOnline จำนวน [_____] เล่ม
[_] RO News จำนวน [_____] เล่ม

ผมจะส่งค่าชื่อหนังสือลงในฟิล book_name ส่วน จำนวนเล่มส่งเข้าฟิล book_ea อย่างไร

ถ้าเกิดมีการติ๊ก check box 2 หรือ 3 อันตามตัวอย่าง

ผมลอง foreach ดูแล้ว แต่ยังใช้งานไม่ได้สักที

วอนผู้รู้ลองเขียนให้ผมดูหน่อย

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 24466
Joined: 22/09/2008 6:18 pm
Contact:

Post by mindphp »

ลอง ยังไงไปครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042

User avatar
Kizmo
PHP Newbie
PHP Newbie
Posts: 9
Joined: 01/01/1970 7:00 am

Post by Kizmo »

addorderform.php
<form method = "post" action = "addorderdata.php" >ID : <input type = "text" name = "ord_id" size = 5 >
Order : <input type = "checkbox"name = "book[]" value = "CompGamer">CompGamer จำนวน : <input type = "text" name = "ord_ea" size = 5>
<input type = "checkbox"name = "book[]" value = "FutureGame">FutureGame จำนวน : <input type = "text" name = "ord_ea" size = 5>
<input type = "checkbox"name = "book[]" value = "WeeklyOnline">WeeklyOnline จำนวน : <input type = "text" name = "ord_ea" size = 5>
<input type = "checkbox"name = "book[]" value = "OnlineStation"> OnlineStation จำนวน : <input type = "text" name = "ord_ea" size = 5>
<input type = "submit" value = "OK"><input type = "reset" value = "Reset">
</form>

addorderdata.php
<?php
include("connect.inc.php");
$ord_id = $_POST['ord_id'];
$ord_book = $_POST['book'];
$ord_ea = $_POST['ord_ea'];

$link = mysql_connect($HOST,$USER,$PASSWORD) or die ("error na...");
if (!$link)
{
echo "Error not connect ";
}
else
{
mysql_select_db("project",$link);
foreach ($_POST["book"] as $ord_book) {
mysql_query("INSERT INTO book (ord_book) VALUES('$ord_book')");
}

$str = "insert into book (id, ord_ea) ";
$str = $str. " values ('$ord_id', '$ord_ea')";
$chkInsert =mysql_query($str,$link) or die ("Error ไม่สามารถเพิ่มข้อมูลได้...");
if ($chkInsert)
{
echo "เพิ่มข้อมูลเรียบร้อย...<br>";
echo "<a href='showordertable.php?id=$ord_id'>คลิกเพื่อดูข้อมูล </a>";
}
mysql_close($link);
}
?>

อันนี้เอาแค่ฟิลชื่อหนังสืออย่างเดียวนะคับ

แล้วถ้าเอาฟิลจำนวนด้วยจะทำยังไง

ขนาดแค่ฟิลเดียวยังไม่รอดเลย

-*-

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 24466
Joined: 22/09/2008 6:18 pm
Contact:

Post by mindphp »

$ord_id = $_POST['ord_id'];
$ord_book = $_POST['book'];
$ord_ea = $_POST['ord_ea'];
ใส่ เพื่ออะไร
foreach ($_POST[book] as $ord_book) {
mysql_query("INSERT INTO book (ord_book) VALUES('$ord_book')");
}
รูปแบบ ถูกแล้ว ลอง เช็ค ตาราง ดูว่า ต้องการข้อมูลออะไร บ้าง
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042

User avatar
Kizmo
PHP Newbie
PHP Newbie
Posts: 9
Joined: 01/01/1970 7:00 am

Post by Kizmo »

แล้วถ้าผมจะส่ง 2 ค่าล่ะคับ

ผมจะเขียน foreach ยังไง

ความหมายคือส่งค่า ชื่อหนังสือไปฟิล ord_book และส่งจำนวนไปฟิล ord_ea ให้อยู่ recordเดียวกัน แล้วให้มันวนลูปจนครบทุกตัวเลือกที่เลือก ผมจะเขียนยังไง

ถ้าผมตั้ง book[] ที่ชื่อหนังสือ และ ord_ea[] ที่จำนวนเล่ม

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 24466
Joined: 22/09/2008 6:18 pm
Contact:

Post by mindphp »

เพิ่ม foreach Loop เข้าไป อีกอันซิครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042

User avatar
Kizmo
PHP Newbie
PHP Newbie
Posts: 9
Joined: 01/01/1970 7:00 am

Post by Kizmo »

ลองเพิ่ม foreach loop แล้ว

มัน loop ซ้อนกันยับเลยคับ

foreach ($_POST['ord_ea'] as $ord_ea)
foreach ($_POST['ord_book'] as $ord_book)
{
$str = "insert into book (id, ord_book, ord_ea) ";
$str = $str. " values ('$ord_id', '$ord_book', '$ord_ea')";
$chkInsert =mysql_query($str,$link) or die ("Error ไม่สามารถเพิ่มข้อมูลได้...");
}

เวลามันส่งมันจะกลายเป็นว่าช่องที่ใส่เลขทั้ง 4 ช่อง เช่นเราใส่

CompGamer 50
FutureGame 35
WeeklyOnline 40
OnlineStation 10

มันจะกลายเป็น

หนังสือ จำนวน
OnlineStation 10
WeeklyOnline 10
FutureGame 10
CompGamer 10
OnlineStation 40
WeeklyOnline 40
FutureGame 40
CompGamer 40
OnlineStation 35
WeeklyOnline 35
FutureGame 35
CompGamer 35
OnlineStation 50
WeeklyOnline 50
FutureGame 50
CompGamer 50

มึนแล้ววววววววคับพี่น้องค๊าบบบบบบบบบบบบบบ

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 24466
Joined: 22/09/2008 6:18 pm
Contact:

Post by mindphp »

foreach () {
....
}

foreach() {
...
}

ปล.พูดคุยที่บอร์ด ขอให้ใช้คำสุภาพด้วยนะครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “Programming - PHP”

Who is online

Users browsing this forum: dzjp and 19 guests