嗨我有一個頁面顯示我的表的所有內容。沿着表格的每一行我也有一個包含複選框的列。當用戶通過勾選複選框並按下提交按鈕來選擇一行或多行時,我只想讓這些行出現在下一頁的表格(buy.php)中。我知道它基本上是每行選擇的select語句。但我不知道如何解決這個問題。任何人都可以幫忙嗎?謝謝如何使用複選框(PHP)從mysql表中選擇一行(s)
<!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" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Shopping</title>
</head>
<body>
<form action='buy.php' method='post'>
<input type='submit' value='Submit' />
</form>
<h1>Buy</h1>
<?php // Script 12.7 - sopping.php
$db = mysql_connect('localhost', '#####', '#####');
mysql_select_db('shopping', $db);
$query = 'SELECT * FROM Items';
if ($r = mysql_query($query, $db)) {
print "<form>
<table>";
while ($row = mysql_fetch_array($r)) {
print
"<tr>
<td>{$row['ID']}</td>
<td>{$row['Name']}</td>
<td>{$row['Cost']}</td>
<td><input type='checkbox' name='buy[{$row['ID']}] value='buy' /></td>
</tr>";
}
print "</table>
</form>";
} else {
print '<p style="color: blue">Error!</p>';
}
mysql_close($db); // Close the connection.
?>
</body>
</html>
編輯:我試了下面的建議,我沒有得到一張表。就在頁面的標題appeard:
<!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" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Confirmation</title>
</head>
<body>
<h1>Order Details</h1>
<?php // Script 12.7 - buy.php
$db = mysql_connect('localhost', '#####', '#####');
mysql_select_db('shopping', $db);
foreach($_POST['buy'] as $item) {
$query = 'SELECT * FROM Items WHERE ID = $item';
if ($r = mysql_query($query, $db)) {
print "<table>";
while ($row = mysql_fetch_array($r)) {
print
"<tr>
<td>{$row['ID']}</td>
<td>{$row['Name']}</td>
<td>{$row['Cost']}</td>
</tr>";
}
print "</table>";
} else {
print '<p style="color: blue">Error!</p>';
}
}
mysql_close($db);
?>
</body>
</html>
你還應該注意,某些應該檢查來自帖子的值並防止sql注入:) – 2012-03-31 12:35:07
我是否在新頁面的編碼中添加了第2步的部分?此語句也是正確的:SELECT * FROM Items WHERE'ID'= $ item – Matt9Atkins 2012-03-31 13:06:53
步驟2位於新頁面/流程訂單頁面上。該sql語句不正確。 'ID'應該是'\'ID \'',用〜鍵來使用。列名使用'values use'(單引號) – David 2012-03-31 14:01:03