Ich habe ein Problem mit dem folgenden Code, es zeigt den HTML-Teil, aber nicht die Daten aus meiner Datenbank. Ich versuche nur, die Daten aus der Datenbank in der Dropdown-Liste zu haben, und wenn ich auf find
klicke, um es in der Tabelle unten anzuzeigen. Können Sie bitte helfen?PHP Dropdown-Datenbankcode funktioniert nicht?
<?php
include 'config.php';
?>
<html>
<head>
<meta charset="UTF-8">
<title></title>
</head>
<body>
<select name="manufacturer">
<option value="">----ALL----</option>
<?php
$sql = "SELECT id, manufacturer FROM coop";
$result = $conn->query($sql);
while ($r = mysqli_fetch_assoc($result))
{
echo "<option value='$r[id]'> $r[manufacturer]</option>";
}
?>
</select>
<input type="submit" name="find" value="find"/>
<br><br>
<table border="1">
<tr align="center">
<th>ID</th> <th>Manufacturer</th>
</tr>
<?php
if($_SERVER['REQUEST_METHOD'] == "POST")
{
$des=$_POST["manufacturer"];
if($des=="")
{
$result= mysqli_query("SELECT id, manufacturer FROM coop");
}
else
{
$result= mysqli_query($sql);
}
echo "<tr><td colspan='5'></td></tr>";
while($r= mysqli_fetch_assoc($result))
{
echo "<tr>";
echo "<td align='center'>$r[0]</td>";
echo "<td width='200'>$r[1]" . " $r[2]</td>";
echo "<td alig='center' width='40'> $r[3]</td>";
echo "<td align='center' width='200'>$r[4]</td>";
echo "<td width='100' align='center'>$r[5]</td>";
echo "</tr>";
}
}
?>
</table>
</body>
</html>
Machen Sie in Ihrem Webbrowser alles, was Sie tun müssen, um den Quellcode der Seite anzuzeigen. Ist das PHP im Quellcode im Webbrowser sichtbar? Wenn es ist, ist das das Problem. Ist dies nicht der Fall, müssen Sie als nächsten Schritt die Fehlerprotokolle prüfen. – kainaw
Sie gehen auch nur davon aus, dass die Abfragen erfolgreich sind. Ganz zu schweigen davon, dass Ihr Code anfällig für SQL-Injection ist, und da Sie mysqli_ verwenden, sollten Sie vorbereitete Anweisungen verwenden, bei denen Benutzereingaben beteiligt sind. – Qirel
Ich sehe keine Fehler, es zeigt die Tabelle und die Dropdown-Liste, und das ist alles, was ich sehen kann – TheShadow