0

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 />

変数が上書きされている、または余分なループがどこかに必要であるというこっそりの疑いがあります。しかし、よくわからないので、アドバイスのためにこの質問を投稿します。

ありがとう。

4

2 に答える 2

0

あなたはSQLを渡していますが、それを使用していません:

変化する

function getResult($sql){

    $result = mysqli_query($this->conn , "SELECT * from memberevent" );

function getResult($sql){

            $result = mysqli_query($this->conn , $sql );
于 2013-07-12T20:09:43.560 に答える