1

mysql から取得した値と mysql から取得した配列を比較しようとしています。コードは次のようになります。

$aeSelect = "SELECT id, firstName, lastName from user WHERE fiID = 0 AND access = 3 ORDER BY lastName";
$aeQuery = mysql_query($aeSelect) or die ("Could not get AE list: " . mysql_error());
while ($rowAE = mysql_fetch_array($aeQuery)) {
   echo "<option " . (($row['aeid'] == $rowAE['id']) ? "selected='selected'" : "") . ">" . $rowAE['firstName'] . " " . $rowAE['lastName'] . "</option>";
}

$row['aeid']は 20022$rowAE['id']で、AE の ID のリストです。

選択メニューに AE のすべての名前が表示されているが、正しい AE が選択されていないため、これを正しく行うことができません。なんで?私は何を間違っていますか?

4

2 に答える 2

0

最初に、この時代において、これが非常に小さなサイトでない限り、Yii や Cake などのフレームワークを PHP での DB アクセスに使用しないのは少しばかげているとだけ言っておきます。

そうは言っても、あなたが抱えている問題は簡単な修正です:

$aeSelect = "SELECT id, firstName, lastName from user WHERE fiID = 0 AND access = 3 ORDER BY lastName";
$aeQuery = mysql_query($aeSelect) or die ("Could not get AE list: " . mysql_error());
while ($rowAE = mysql_fetch_array($aeQuery)) {
   echo "<option " . (($row['aeid'] == $rowAE['id']) ? "selected='selected'" : "") . ' value="'. $rowAE['id']. "\">" . $rowAE['firstName'] . " " . $rowAE['lastName'] . "</option>";
}
于 2013-10-15T18:33:12.087 に答える
0

オプション行を次のように変更します。

echo "<option ";
if ($row['aeid'] == $rowAE['id']) echo 'selected="selected"';
echo  ' value="'.$rowAE['id'].'">' . $rowAE['firstName'] . ' '. $rowAE['lastName'] . '</option>';

私はそれが良いことを願っています:)

于 2013-10-15T18:43:52.117 に答える