안녕하세요. 내 테이블의 모든 내용을 표시하는 페이지가 있습니다. 테이블의 각 행을 따라 가면서 나는 또한 체크 박스가있는 컬럼을 가지고있다. 사용자가 확인란을 선택하고 제출 버튼을 눌러 하나 이상의 행을 선택하면 다음 페이지 (buy.php)의 테이블에 해당 행 만 표시됩니다. 기본적으로 선택된 행당 선택 진술임을 알고 있습니다. 그러나 나는 이것에 접근하는 방법을 모른다. 아무도 도와 줄 수 있니? 감사합니다체크 박스 (PHP)를 사용하여 mysql 테이블에서 행을 선택하는 방법
<!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>
편집 : 아래의 제안을 시도하고 나는 테이블을하지 않았다. 페이지 제목 제목 :
<!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 injection으로부터 보호해야합니다. –
새 페이지의 코딩에 2 단계 부분을 추가합니까? 이 문장은 정확합니다 : SELECT * FROM Items WHERE 'ID'= $ item – Matt9Atkins
2 단계는 새로운 페이지/프로세스 순서 페이지에 있습니다. 해당 SQL 문이 올바르지 않습니다. 'ID'는'\'ID \''여야하며 ~와 함께 키를 사용하십시오. 열 이름에 \ values used (작은 따옴표)를 사용합니다. – David