Echo 'こんにちはプログラマー' ;
ドロップダウンメニューのペアについて頭を悩ませています。これらは、ename 行と mid 行のすべての文字列を表示することになっています。ただし、これは発生しておらず、ドロップダウンには各行から 1 つの結果しか表示されていません。実際の行には、複数のテスト データの文字列があります。
ここにいくつかのコードがあります。おそらくあなたは手を貸してくれるでしょう。説明させてください。
まず、これらはクラス dbme のメソッドです。混乱を避けるために、2 番目の関数はまったく同じですが、getResult() の SQL クエリが明らかに異なります (メンバーイベントではなくメンバーからの SELECT *)。
function openDB() {//creating database connection
$conn = mysqli_connect("localhost", "root", "", "mydb");
if (!$conn) {
$this->error_msg = "connection error could not connect to the database:! ";
return false;
}
$this->conn = $conn;
return true;
}
function getResult($sql){
$result = mysqli_query($this->conn , "SELECT * from memberevent" );
if ($result) {
return $result;
} else {
die("SQL Retrieve Error: " . mysqli_error($this->conn));
}
}
次に、これは Web 側のデータです。
$db1 = new dbme();
$db1->openDB();
$sql="select mid from member";
$result=$db1->getResult($sql);// get the ids from the tables for the select
$sql1="select ename from event";
$result1=$db1->getResult($sql1);// get the ids from the tables for the select
if (!$_POST) //page loads for the first time
{
?>
<form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" onsubmit="return validateForm( );">
Select Member ID: <select name="mid">
<?php
while($row = mysqli_fetch_assoc($result))
echo "<option value='{$row['mid']}'>{$row['mid']} </option>";
?>
</select>
<br />
Select Event name : <select name="ename">
<?php
while($row = mysqli_fetch_assoc($result1))
echo "<option value='{$row['ename']}'>{$row['ename']} </option>";
?>
</select>
<br />
変数が上書きされている、または余分なループがどこかに必要であるというこっそりの疑いがあります。しかし、よくわからないので、アドバイスのためにこの質問を投稿します。
ありがとう。