回声“你好程序员”;
我正在为一对下拉菜单挠头。它们应该显示来自 ename 和 mid 行的所有字符串。但是,这并没有发生,下拉菜单只显示每一行的一个结果。实际行中有多个测试数据字符串。
我这里有一些代码,也许你可以帮忙。让我解释。
首先这些是来自类 dbme 的方法。为了保持混乱,第二个函数完全相同,除了 getResult() 的 SQL 查询明显不同(SELECT * from member 与 memberevent 相对)
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));
}
}
其次,这是网页端的数据。
$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 />
我有一个偷偷摸摸的怀疑,一个变量正在被覆盖,或者某个地方需要一个额外的循环。但我不太确定,因此我发布这个问题以征求意见。
谢谢。