My Search機能は正常に動作しますが、すべてのデータが正しくフェッチされるわけではありません。私は2つのテーブルからデータを表示したいが、残念ながら第二のテーブルから、それは常にちょうど最初の行を私に示しています別のテーブルから正しいIDを表示するために使用するSQL文
私は表示させたいこれらのデータ: PERSONNAME、personsurname、persondepartment、personboard(tblpersonから)とSTARTDATEメンバーからの終了。
これは私の現在のクエリです。私が検索したIDは正確なデータを表示しますが、メンバーテーブルから開始日と終了日の最初の行のみを取り出します。
"select * FROM tblperson, members
where personname = '$personname' AND personsurname = '$personsurname'
GROUP BY personname";
と、これは私のPHPコードです:
for ($i=0; $i <$num_results; $i++)
{
$row = $result->fetch_assoc();
echo '<p><strong>'.($i+1).'. Name: ';
echo htmlspecialchars(stripslashes($row['personname']));
echo '<br />PersonID: ';
echo stripslashes($row['personid']);
echo '<td><a href="editpdata.php?personid=' . $row['personid'] . '">Edit</a></td>';
echo '</strong><br />Surname: ';
echo stripslashes($row['personsurname']);
echo '<br />Department: ';
echo stripslashes($row['persondepartment']);
echo '<br />Board: ';
echo stripslashes($row['personboard']);
echo '<br />Start Date: ';
echo stripslashes($row['startdate']);
echo '<br />End Date: ';
echo stripslashes($row['enddate']);
echo '</p>';
}
は、明示的に両方の列を設定しますあなたのselectステートメントのテーブルは、現在SQLインジェクション攻撃に脆弱であることに注意してください。 – Ghost
正直言って、私はPでもHPあなたが私に例を示すことができれば、おそらく私はそれを実装しようとします。今の唯一の問題は、私が名前と姓で検索したすべての人が間違ったIDと間違ったStart End Dateを受け取ったということです。 – Shkolla
SELECTの集約されていないフィールドはGROUP BYにある必要があります – SIDU