1
私は以下のコードに問題があります。これはHTML部分を表示していますが、私のデータベースのデータは表示していません。私はドロップダウンリストのデータベースからデータを取得しようとしています。find
をクリックすると、下の表に表示されます。あなたは助けてもらえますか?PHPのドロップダウンデータベースコードが機能していませんか?
<?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>
Webブラウザで、ページのソースコードを表示するために必要な作業を行います。 WebブラウザのソースコードにPHPが表示されていますか?そうであれば、それは問題です。そうでない場合、次のステップはエラー・ログを調べることです。 – kainaw
また、クエリが成功したと仮定しているだけです。あなたのコードはSQLインジェクションに対して脆弱であることは言うまでもなく、mysqli_を使用しているので、ユーザ入力が関係するプリペアドステートメントを使い始めるべきです。 – Qirel
テーブルとドロップダウンリストを表示しているエラーは表示されません。それは私が見ることができるすべてです – TheShadow