我正在使用PHP和MySQL开发一个愿望清单网站,该网站在表格中显示产品。用户可以选择将每个产品添加到他们自己的愿望清单中。
我可以显示产品没问题但是一旦用户点击选项添加到他们自己的列表我什么都没得到。我运行的服务器也没有标记错误,所以我不知道我做错了什么。
非常感谢任何帮助。我已经包含了以下代码。
<?php
//connect to db
include('base.php');
//get results from db
$result = mysql_query("SELECT * FROM coffee_machines")
or die(mysql_error());
echo "<table border= '1' cellpadding='10'>";
echo "<tr> <th>ID</th> <th>Brand</th> <th>Description</th> <th>Price(£)</th> <th>image</th> </tr>";
$img_url = "http://localhost:8080/";
//loop through results of db query so items are displayed
while($row = mysql_fetch_array($result)){
// echo out contents of each row
echo '<tr>';
echo '<tr>';
echo '<td>'.$row["Product_ID"].'</td>';
echo '<td>'.$row["Brand"].'</td>';
echo '<td>'.$row["Description"].'</td>';
echo '<td>'.$row["Price"].'</td>';
echo '<td>'.'<img src="'.$img_url.$row['image'].'" /></td>';
echo '<td>'.'<a href = "?Add To List">Add To List</a></td>';
echo '</tr';
echo '</tr';
$add_to_list = "INSERT INTO andrew VALUES('".$row["Product_ID"]."', '".$row["Brand"]."', '".$row["Description"]."', '".$row["Price"]."', '".$row["image"]."')";
if(isset($_POST['Add To List'])){
mysql_query($add_to_list);
}
//close table
echo "</table>";
?>
答案 0 :(得分:1)
$_POST['Add To List']
更改为$_GET['Add To List']
,因为链接中的点击会生成GET请求。 ?Add To List
创建变量,不应使用空格创建变量名称一个简单的例子,你的链接应该是:
echo '<td>'.'<a href = "?id='.$row["Product_ID"].'">Add To List</a></td>';
然后将if
放在循环之外,例如
if(isset($_GET['id'])){
$result = mysql_query("SELECT * FROM coffee_machines Where id=".$_GET['id']." LIMIT 1");
$row = mysql_fetch_array($result);
if ($row) {
$add_to_list = "INSERT INTO andrew VALUES('".$row["Product_ID"]."', '".$row["Brand"]."', '".$row["Description"]."', '".$row["Price"]."', '".$row["image"]."')";
mysql_query($add_to_list);
}
}
但如前所述,您将尝试尽快寻找替换mysql_ *函数
答案 1 :(得分:1)
你可以尝试“从coffe_machine中选择id”;然后获取结果也请不要使用mysql函数它们不安全