-1

そのため、テーブルから 2 つのフィールドを呼び出し、それらを選択ボックスに 1 つのエントリとして入力すると、while ステートメントに各エントリが追加され続けるという問題が発生しています。簡単に言うと、professors という名前のテーブルに、firstname という 1 つのフィールドと次の姓があります。これらのフィールドを組み合わせてまとめ、それぞれを選択ボックスに入力する必要があります。以下は私が持っているコードで、while ステートメントを開始すると、dreamweaver の下部にエラーが表示されるため、機能していないことはわかっていますが、その理由を理解するのに苦労しています。アカウントを作成したばかりで、評判が十分でないため、シンタックスハイライト付きの写真をアップロードできません。この質問でのみ関心があるコードの部分は、テーブルを開始するところまでの最初の部分です。一番下で、教授用の選択ボックスと、テーブルにある姓名を取得するためのループを宣言します。同様の問題に対する多くのサポート ソリューションを読んできましたが、うまくいきませんでした。誰かにヒントやアドバイスがあれば、私はとても助かります。

$fprofessor = $_GET['p_firstname'];
$lprofessor = $_GET['p_lastname'];
$selected_professor=$fprofessor." ".$lprofessor;

$qp = "SELECT p_id, p_firstname, p_lastname FROM professors WHERE p_firstname='$fprofessor' AND p_lastname='$lprofessor'";
$rp = @mysqli_query($dbc, $qp);

// Table header:
echo '<table align="center" cellspacing="0" cellpadding="5" width="auto">
<tr  bgcolor="' . $bg . '">
<td align="left">Section ID</td>
<td align="left">Course Major</td>
<td align="left">Course ID</td>
<td align="left">Course Name</td>
</tr>
<tr bgcolor="' . $bg . '">
    <form action="add_courses.php" method="post">
    <td align="left"><input type="text" name="section_id" size="7" maxlength="7"/></td>
    <td align="left"><select name="course_major">
    <option value="TBA">-Select Major-</option>
    <option value="CIT">CIT</option>
    <option value="CSE">CSE</option>
    <option value="CIT/CSE">CIT/CSE</option></td>
    <td align="left"><input type="text" name="course_id" size="3" maxlength="3"/></td>
    <td align="left"><input type="text" name="course_name" size="15" maxlength="25"/></td>
 </tr>

<tr  bgcolor="' . $bg . '">
<td align="left">Professor</td>
<td align="left">Available</td>
<td align="left">Semester</td>
<td align="left">Year</td>

</tr>

<tr bgcolor="' . $bg . '">

<td align="left"><select name="course_professor">
<option value="TBA">-Select Professor-</option>'
while ($row = mysqli_fetch_array ($rp, MYSQLI_NUM)) {
 echo'<option value="'.$row[. $selected_professor .].'">'.$row[. $selected_professor .].'</option>'
};          
echo'</td>

そのため、私が得た提案に基づいて、コードをより適切と思われるものに修正しました。以下は私が今持っているものですが、このコードの $qp 変数と while ステートメントでまだエラーが発生しています

<td align="left"><select name="course_professor">'

$qp = "SELECT p_id, p_firstname, p_lastname, CONCAT(p_firstname, p_lastname) AS p_fullname FROM professors";
$rp = @mysqli_query($dbc, $qp);

echo '<option value="TBA">-Select Professor-</option>'
while ($row = mysqli_fetch_array ($rp)) {   
echo '<option value="'.$row['p_fullname'].'">'.$row['p_fullname'].'</option>'
};


echo'</td>
4

2 に答える 2

0

次のようなことをしたいと思うかもしれません:

$qp = "SELECT p_id, p_firstname, p_lastname, CONCAT(p_firstname, p_lastname) AS p_fullname FROM professors WHERE p_firstname='$fprofessor' AND p_lastname='$lprofessor'";

次に、下部のクエリで連結されたフィールドを参照します。

mysql の concat リファレンスが必要な場合は、http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_concat を参照してください

于 2013-10-20T23:10:47.253 に答える