So wählen Sie eine Zeile(N) aus der mysql-Tabelle mit checkbox (PHP)
Hallo ich habe eine Seite, die zeigt alle Inhalte meiner Tabelle. Alongisde jeder Zeile der Tabelle habe ich auch eine Spalte mit einer checkbox. Wenn der Benutzer wählt eine oder mehrere Zeilen durch anklicken der checkbox und drücken Sie den Absenden-button, ich will nur die Zeilen angezeigt werden in einer Tabelle auf der nächsten Seite (buy.php). Ich weiß, es ist im Grunde eine select-Anweisung pro Zeile, die ausgewählt ist. Aber ich weiß nicht, wie man diesen Ansatz. Kann jemand helfen? Dank
<!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>
EDIT: ich habe versucht, die Anregung unten, und ich habe nicht einen Tisch zu bekommen. Nur der Titel der Seite 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>
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie erstellen eine dynamische SQL-Abfrage.
1) ich schlage vor, Sie ändern die Kontrollkästchen, um die folgenden
2) Schleife durch alle Optionen kaufen
UPDATE:
`ID`
verwenden Sie die Taste ~. Spaltennamen verwenden ` Werte ' (single quote)//diese checkbox verwenden
//buy.php foreach($_POST['buy'] as $Element) {
$Abfrage = "SELECT * FROM Items WHERE ID = $Eintrag"; //verwenden Sie " "
//versuchen Sie es, wenn irgendein problem, bitte schauen Sie sorgfältig Sie Datenbank-Tabelle //download-Datei und versuchen Sie es 2file mit table-sql-Daten
//https://copy.com/8ZsBAFj7LvypLJkK