รบกวนพี่ๆ ช่วยดู code หน่อยนะครับ เรื่องการทำ id คู่อันดับ ครับ
ที่คุณแสดงอยู๋มันเป็นแค่การ select เอามาใช้งาน
ยังไม่เห็นส่วนที่คุณจะใช้บันทึกลง database เลยครับ และ error ยังไงครับ เอามาให้ดูด้วย
Date :
2014-07-09 06:14:48
By :
Chaidhanan
มันดูเหมือนมันยังไม่ เพิ่มเลขนับ (Price_ID) ให้กับผมนะครับ ผมควรแก้ อย่างไรครับ
Date :
2014-07-09 06:34:54
By :
san.saleah
มันฟ้อง Error ว่า Duplicate entry for key primary แปลเลยก็ มีข้อมูลที่คุณเพิ่มเข้าไปมันมีอยูแล้ว มันซ้ำกันนะ แสดงว่ามีการกำหนดให้ Price_ID หรือไม่ก็ Pro_ID เป็น Primary Key คำถามคือคุณต้องการเก็บแบบไหน ถ้าอยากได้ข้อมูลที่ซ้ำกัน ก็ให้ไปยกเลิกการทำ Primary Key ให้ 2 ฟิลด์นี้เสีย แล้วใช้ฟิดล์อื่นเป็น PK ไม่ก็สร้างขึ้นมาใหม่ ให้มันเป็น auto_increment ไปเลย
Date :
2014-07-09 08:08:51
By :
Manussawin
เอาใหม่นะครับ เรื่องของเรื่อง ก็มีอยู่ว่า ผมมีความต้องการ เพิ่มข้อมูลเข้าไปยัง ฐานข้อมูล ซึ่งมีเงื่อนไขว่า จะเป็น id คู่อันดับ เช่น
PR001 | CT002001
PR002 | CT002001
PR003 | CT002001
PR001 | CT002002
PR002 | CT002002
เป็นต้น
แล้วทีนี้ ผมเพิ่มเข้าไปแล้ว สองครั้ง ผ่านโดยไม่มีปัญหา และมาติดปัญหา ในการเพิ่มครั้งที่ 3 นี้แหละครับ คือ มันแจ้งมา
Duplicate entry 'PR002-CT002001' for key 'PRIMARY' มันบอกว่า ซ้ำกัน ซึ่งแน่นอน แสดงว่า Price_ID มันไม่เพิ่มขึ้นให้กับผมอีกต่อไป นะครับ
Date :
2014-07-09 15:03:15
By :
san.saleah
ถามนิดครับ Price_ID อักษร PR อยู่หน้า มีอักษรอื่นด้วยไหมครับ
ถ้าไม่มีอักษรอื่นอีก ก็เอามันออกไป ครับ ทำฟีลด์นี้ให้เป็น int autoincrement Primary เก็บเฉพาะตัวเลข
ให้ตัวเลขมันรันเอง ครับ ส่วนอักษร PR ค่อยไปใส่ที่หลังตอนออก Report ครับ
Date :
2014-07-09 15:14:18
By :
Chaidhanan
อ้อเข้าใจแล้วครับ
รูปภาพ insert into ขอเป็น อักษร ได้ไหมครับ มันเลยหน้า จำไม่ได้ จะได้ก๊อบปีมาเพิ่ม statement คำสั่ง sql ให้ครับ
Date :
2014-07-09 15:18:34
By :
Chaidhanan
สักครู่ครับ
Date :
2014-07-09 15:53:19
By :
san.saleah
ส่วนนี้จะเป็น code ที่ผมทำเพื่อให้มันรัน Price_ID อัตโนมัติ
Code (PHP)
include ("../../config/config_DB.php");
$code = "PR";
$yearMonth = substr(date("Y")+543, -2);
//query MAX ID
$sqlPrice = "SELECT MAX(Pro_ID) AS last_id FROM tb_price WHERE Price_ID = '".$_POST['priceidGet']."' OR Pro_ID = '".$_POST['proID']."'";
$queryPrice = mysql_query($sqlPrice) or die(mysql_error());
$totalPrice = mysql_fetch_array($queryPrice);
$maxId = substr($totalPrice['last_id'], -3);
$maxId = ($maxId + 1);
$maxId = substr("00".$maxId, -3);
$nextId = $code.$maxId;
$date = date("Y-m-d");
$status = "1";
Date :
2014-07-09 15:54:44
By :
san.saleah
อันนี้ จะเป็น code ของการ insert ครับ
Code (PHP)
if ($_POST['check'] == "2") {
$sql = "INSERT INTO tb_price ";
$sql .="(Price_ID,Pro_ID,Price_UpdateDate,Pro_Stock1,Pro_Stock2,Pro_Stock3,status) ";
$sql .="VALUES ";
$sql .="('".$nextId."','".$_POST["proID"]."','".$date."','".$_POST["price1"]."','".$_POST["price2"]."','".$_POST["price3"]."','".$status."')";
$sqlQuery = mysql_query($sql);
}
ปล. ผมก็อปโค้ด ทั้งหมดแล้ว เอามาว่าง แต่ปรากฏว่า จะโพสไม่ได้ ครับ ไม่ทราบว่าเกิดจากสาเหตุอะไรบ้างครับ
Date :
2014-07-09 15:56:49
By :
san.saleah
Load balance : Server 02