ช่วยหนูหน่อยค่า เรื่อง php กับ mysql คือหนูพยายามเขียน logic ให้มันแอ๊ดเข้าเดต้าเบสอ่ะค่ะ แต่มันแอ๊ดไม่เข้าอ่ะค่ะ ไม่รู้ผิดที่อะไร ช่วยหน่อยน๊าค๊าาาาา
คือหนูทำจะทำหน้า upload new product ผ่านหน้า บราวเซอร์ อ่าค่ะ
แล้วคือจะให้ยูเซอร์ใส่ใส่ ชื่อโปรดัก ราคา brand category size ไรพวกนี้อ่าค่ะ โดยโปรดักไอดีนึง ต่อ หนึ่งไซส์อ่าค่ะ (คือ สมมติว่าโปรดักชนิดนี้มีทั้งหมด 3 ไซส์ เราก้อจะให้เขาใส่แยก ไปเลย ว่า ไซส์เอส จำนวน.. ไซส์แอล จำนวน.. ไซส์เอม จำนวน..) แล้วคือจะไปเขียน logic ให้มันแยกไอดีเอง (คือถ้าโปรดักนึงมีสามไซส์ ก้อให้มันแยกเปนสามไอดี แล้วค่อยเอาเข้าเดต้าเบส)
คือหนูลองเขียน logic ดูอ่าค่ะ มันก็ไม่แอ๊ดลงเดต้าเบสให้เรย เรยงงว่าเปนเพราะ logic ผิด หรือ syntax ผิด หรือ ผิดทั้งคู่ พี่ๆ ช่วยดูให้หน่อยน๊าค๊า
..หน้า add new product ค่ะ
Code (PHP)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link rel="stylesheet" type="text/css" href="mystyle.css" />
<script type="text/javascript" src="myjs.js">
</script>
<script type="text/javascript">
function checkP() // ยังไม่ต้องสนใจนะคะ เพราะอันนี้เขียนไว้มั่วๆก่อน
{
valid=true;
if(document.prodForm.Pname.value=="")
{
document.getElementById(name).innerHTML="**";
valid=false;
}
return valid;
}
</script>
</head>
<body>
<div>
<?php include('menubar.php'); ?>
</div>
<table align="center"> <tr> <td>
<?php include('adminsidemenu.php'); ?>
</td>
<td>
<?php
if($_POST){
include("onlineshop.inc.php");
$prodName=htmlspecialchars($_POST[Pname],ENT_QUOTES);
$prodDesc=nl2br(htmlspecialchars($_POST[Pdesc],ENT_QUOTES));
$prodCat=htmlspecialchars($_POST[Pcat],ENT_QUOTES);
$prodBrand=htmlspecialchars($_POST[Pbrand],ENT_QUOTES);
$prodColor=htmlspecialchars($_POST[Pcolor],ENT_QUOTES);
//$prodSize=htmlspecialchars($_POST['Psize'],ENT_QUOTES);
$prodMat=htmlspecialchars($_POST[Pmat],ENT_QUOTES);
//$prodQuan=htmlspecialchars($_POST['Pquan'],ENT_QUOTES);
$prodWearer=htmlspecialchars($_POST[Pwearer],ENT_QUOTES);
$prodSizeSS=$_POST[PsizeSS]; // เก็บจำนวนไซส์ตามที่ ยูเซอร์ พิม
$prodSizeS=$_POST[PsizeS]; // เก็บจำนวนไซส์ตามที่ ยูเซอร์ พิม
$prodSizeM=$_POST[PsizeM]; // เก็บจำนวนไซส์ตามที่ ยูเซอร์ พิม
$prodSizeL=$_POST[PsizeL]; // เก็บจำนวนไซส์ตามที่ ยูเซอร์ พิม
$realname=$HTTP_POST_FILES['fileupload']['name'];
$str=substr($realname,-3,3);
if(is_uploaded_file($HTTP_POST_FILES['fileupload']['tmp_name']))
{
copy($HTTP_POST_FILES['fileupload']['tmp_name'],"./product/$realname");
$url="product/$realname";
$filename=$HTTP_POST_FILES['fileupload']['name'];
$size=$HTTP_POST_FILES['fileupload']['size']/1024/1024;
$size1=number_format($size,3);
}
$prodPrice = $_POST['Pprice'];
if($prodSizeSS>0){ // คือถ้ายูเซอร์ใส่จำนวนไซส์ ss มากกว่าศูน ก็แปลว่ามีโปรดัก ก็อจะให้มันทำการแอ๊ดเข้าเดต้าเบส
$sql = "select * from product WHERE Brand_Id=$prodBrand";
$dbquery = mysql_query($sql); //เลือกโปรดักตามแบรนที่ลูกค้าใส่
$sqlSize = "select Size_Id from size WHERE Size_Name='Super Small SS'";
$dbquerySize = mysql_query($sqlSize);
$num_rows = mysql_num_rows($dbquery); // นับจำนวนโปรดัก
$prodId= $prodBrand.$num_rows+1;//ใส่ค่าไอดีให้กับโปรดักนั้นๆโดยใช้แบรนด์ไอดีตามด้วยจำนวนrecordที่คิวรี่ขึ้นมาได้+หนึ่ง
$sql = "INSERT INTO product(Product_Id, Product_Name, Product_Price, Product_Des, Product_Quan, Wearer_Id, Brand_Id, Color_Id, Cat_Id, Size_Id, Mat_Id, Product_Pic) VALUES ('$prodId','$prodName',$prodPrice,'$prodDesc', $prodSizeSS, '$prodWearer', '$prodBrand', '$prodColor', '$prodCat', '$dbquerySize', '$prodMat','$url');";
@mysql_query($sql) or die(mysql_error()); //แอ๊ดเข้าเดต้าเบส
echo "<br><p align=center>uploaded product <b>$prodName"."size"."SS"."</b> succcessfully </p>";
}
if($prodSizeS>0){
$sql = "select * from product WHERE Brand_Id=$prodBrand";
$dbquery = mysql_query($sql);
$sqlSize = "select Size_Id from size WHERE Size_Name='Small S'";
$dbquerySize = mysql_query($sqlSize);
$num_rows = mysql_num_rows($dbquery);
$prodId= $prodBrand.$num_rows+1;
$sql = "INSERT INTO product(Product_Id, Product_Name, Product_Price, Product_Des, Product_Quan, Wearer_Id, Brand_Id, Color_Id, Cat_Id, Size_Id, Mat_Id, Product_Pic) VALUES ('$prodId','$prodName',$prodPrice,'$prodDesc', $prodSizeS, '$prodWearer', '$prodBrand', '$prodColor', '$prodCat', '$dbquerySize', '$prodMat','$url');";
mysql_query($sql) or die(mysql_error());
echo "<br><p align=center>uploaded product <b>$prodName"."size"."S"."</b> succcessfully </p>";
}
if($prodSizeM>0){
$sql = "select * from product WHERE Brand_Id=$prodBrand";
$dbquery = mysql_query($sql);
$sqlSize = "select Size_Id from size WHERE Size_Name='Medium M'";
$dbquerySize = mysql_query($sqlSize);
$num_rows = mysql_num_rows($dbquery);
$prodId= $prodBrand.$num_rows+1;
$sql = "INSERT INTO product(Product_Id, Product_Name, Product_Price, Product_Des, Product_Quan, Wearer_Id, Brand_Id, Color_Id, Cat_Id, Size_Id, Mat_Id, Product_Pic) VALUES ('$prodId','$prodName',$prodPrice,'$prodDesc', $prodSizeM, '$prodWearer', '$prodBrand', '$prodColor', '$prodCat', '$dbquerySize', '$prodMat','$url');";
mysql_query($sql) or die(mysql_error());
echo "<br><p align=center>uploaded product <b>$prodName"."size"."M"."</b> succcessfully </p>";
}
if($prodSizeL>0){
$sql = "select * from product WHERE Brand_Id=$prodBrand";
$dbquery = mysql_query($sql);
$sqlSize = "select Size_Id from size WHERE Size_Name='Large L'";
$dbquerySize = mysql_query($sqlSize);
$num_rows = mysql_num_rows($dbquery);
$prodId= $prodBrand.$num_rows+1;
$sql = "INSERT INTO product(Product_Id, Product_Name, Product_Price, Product_Des, Product_Quan, Wearer_Id, Brand_Id, Color_Id, Cat_Id, Size_Id, Mat_Id, Product_Pic) VALUES ('$prodId','$prodName',$prodPrice,'$prodDesc', $prodSizeL, '$prodWearer', '$prodBrand', '$prodColor', '$prodCat', '$dbquerySize', '$prodMat','$url');";
mysql_query($sql) or die(mysql_error());
echo "<p align=center>uploaded product <b>$prodName"."size"."L"."</b> succcessfully </p>";
}
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" id="prodForm" onsubmit="checkP()" enctype="multipart/form-data" >
<h3>
<p align="center"><b> Add product </b> </p> </h3>
<table width="600" border="0" align="center">
<!-- tr> <td width="200" align="right">Product Id: <label for="PID"></label> </td>
<td width="200" align="center"><div align="left"> <input name="PID" type="text" id="PID" /></div></td>
</tr -->
<tr> <td align="right"> Product name: <div id="name"></div> </td>
<td><div align="left"> <input type="text" name="Pname" id="Pname" /> </div></td>
</tr>
<tr> <td align="right"> Product description: <label for="Pdesc"></label> </td>
<td> <div align="left"> <textarea name="Pdesc" id="Pdesc" cols="30" rows="5"></textarea> </div> </td>
</tr>
<tr><td align="right"> Product category: <label for="Pcat"></label> </td>
<td> <div align="left"> <select name="Pcat" id="Pcat">
<? include('onlineshop.inc.php');
$sql = "select * from Category";
$dbquery = mysql_db_query($dbname, $sql);
$num_rows = mysql_num_rows($dbquery);
$i=0;
while ($i < $num_rows)
{
$result = mysql_fetch_array($dbquery);
$cat_id = $result[Cat_Id];
$cat_name = $result[Cat_Name];
print "<option value=$cat_id> $cat_name </option>";
$i++;
}
?>
</select> </div> </td> </tr>
<tr><td align="right"> Product brand: <label for="Pbrand"></label> </td>
<td> <div align="left"> <select name="Pbrand" id="Pbrand">
<? include('onlineshop.inc.php');
$sql = "select * from Brand";
$dbquery = mysql_db_query($dbname, $sql);
$num_rows = mysql_num_rows($dbquery);
$i=0;
while ($i < $num_rows)
{
$result = mysql_fetch_array($dbquery);
$brand_id = $result[Brand_Id];
$brand_name = $result[Brand_Name];
print "<option value=$brand_id> $brand_name </option>";
$i++;
}
?>
</select> </div> </td> </tr>
<tr><td align="right"> Product wearer: <label for="Pwearer"></label> </td>
<td> <div align="left"> <select name="Pwearer" id="Pwearer">
<? include('onlineshop.inc.php');
$sql = "select * from Wearer";
$dbquery = mysql_db_query($dbname, $sql);
$num_rows = mysql_num_rows($dbquery);
$i=0;
while ($i < $num_rows)
{
$result = mysql_fetch_array($dbquery);
$wearer_id = $result[Wearer_Id];
$wearer_type = $result[Wearer_Type];
print "<option value=$wearer_id> $wearer_type </option>";
$i++;
}
?>
</select> </div> </td> </tr>
<tr><td align="right"> Product color: <label for="Pcolor"></label> </td>
<td> <div align="left"> <select name="Pcolor" id="Pcolor">
<? include('onlineshop.inc.php');
$sql = "select * from Color";
$dbquery = mysql_db_query($dbname, $sql);
$num_rows = mysql_num_rows($dbquery);
$i=0;
while ($i < $num_rows)
{
$result = mysql_fetch_array($dbquery);
$color_id = $result[Color_Id];
$color_name = $result[Color_Name];
print "<option value=$color_id> $color_name </option>";
$i++;
}
?>
</select> </div> </td> </tr>
<tr><td align="right"> # size SS: <label for="PsizeSS"></label> </td>
<td> <input type="text" id="PsizeSS" /> </td> </tr> // เป็นช่องให้ใส่จำนวนโปรดักตามไซส์ค่ะ
<tr><td align="right"> # size S: <label for="PsizeS"></label> </td>
<td> <input type="text" id="PsizeS"/> </td> </tr> // เป็นช่องให้ใส่จำนวนโปรดักตามไซส์ค่ะ
<tr><td align="right"> # size M: <label for="PsizeM"></label> </td>
<td> <input type="text" id="PsizeM"/> </td> </tr> // เป็นช่องให้ใส่จำนวนโปรดักตามไซส์ค่ะ
<tr><td align="right"> # size L: <label for="PsizeL"></label> </td>
<td> <input type="text" id="PsizeL" /> </td> </tr> // เป็นช่องให้ใส่จำนวนโปรดักตามไซส์ค่ะ
<tr><td align="right"> Product material: <label for="Pmat"></label> </td>
<td> <div align="left"> <select name="Pmat" id="Pmat">
<? include('onlineshop.inc.php');
$sql = "select * from material";
$dbquery = mysql_db_query($dbname, $sql);
$num_rows = mysql_num_rows($dbquery);
$i=0;
while ($i < $num_rows)
{
$result = mysql_fetch_array($dbquery);
$mat_id = $result[Mat_Id];
$mat_name = $result[Mat_Name];
print "<option value=$mat_id> $mat_name </option>";
$i++;
}
?>
</select> </div> </td> </tr>
<tr> <td align="right"> Picture: <label for="Ppic"> </label></td>
<td> <div align="left"> <input type="file" name="fileupload" id="fileupload" /> </div> </td>
</tr>
<tr> <td align="right"> Price: <label for="Pprice"> </label> </td>
<td> <div align="left"> <input type="text" name="Pprice" id="Pprice" /> </div> </td>
</tr>
<!-- tr> <td align="right"> Product quantity: <label for="Pquan"></label> </td>
<td><div align="left"> <input type="text" name="Pquan" id="Pquan" /> </div></td>
</tr-->
<tr> <td> </td>
<td><div align="left"> <input type="submit" name="submit" value="submit" id="submit" />
<input type="reset" name="reset" id="reset" value="reset" />
</div></td></tr>
<span id="showdetail"></span>
</table>
</form>
</td></tr></table>
<br />
<div>
<?php include('footer.php'); ?>
</div>
</body>
</html>
ใครรู้วิธีแก้ช่วยหน่อยน๊าค๊าาาาา จนปัญญาจิงๆค่าาา Y-YTag : PHP, MySQL, JavaScript
Date :
2011-10-17 15:09:18
By :
gellarjung
View :
970
Reply :
5
@mysql_query($sql) or die(mysql_error()); เอา @ ออกให้มันแสดง error แล้วมาดู error กันครับ
Date :
2011-10-17 15:40:19
By :
lootboom
เอาออกแล้วอ่าค่ะ แต่มันไม่ขึ้น error เรยอ่าค่ะ มันขึ้นหน้าเดิมเหมือนว่ามันแอ๊ดเข้าไปแล้ว แต่ในเดต้าเบสไม่มีอ่าค่ะ T______________T
Date :
2011-10-17 15:55:52
By :
gellarjung
ขึ้น error แล้วค่า!!!!
คือหนูไปเพิ่ม name="PsizeS" ตรง input field อ่าค่ะ มันเรยขึ้นแอเรอร์มาเปนอย่างนี้
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\newproduct.php on line 98
Duplicate entry '1' for key 1
Date :
2011-10-17 16:00:59
By :
gellarjung
error นี้คือ primary key มันซ้ำครับ
Date :
2011-10-17 16:18:13
By :
webmaster
Load balance : Server 03