-7

私が何を望んでいたかを明確にしましょう...データベースに保存されているデータを以下のコードで表示するページがあり、ページが表示されていることがわかります$row['Email']...同じテーブルにとという名前の別の2つの行がAgeありNameます。以下のコードでわかるように、$row['Email']info.php..soというページにリンクされているので、ユーザーが電子メールをクリックすると、info.phpにリダイレクトされ、年齢と名前が表示されます...これが私ができる問題ですinfo.phpに全員の年齢と名前を表示しますが、シングルユーザー情報のみを表示したいです。オンラインで何かを購入するときに、アイテムの写真またはタイトルをクリックすると、説明が表示されます。 ?

id    |  Age  |     Email            | Name
1     |  24   |  someoneAA@yahoo.com | xx1
2     |  34   |  someoneBB@yahoo.com | xx2
3     |  56   |  someoneCC@yahoo.com | xx3
4     |  19   |  someoneDD@yahoo.com | xx4

<?php
$con = mysql_connect("localhost","wht","");
if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db("dbase", $con);
$result = mysql_query("SELECT * FROM User ");
while($row = mysql_fetch_array($result)) {
echo "<td><a href='info.php'>". $row['Email']."</a></td>";
}

mysql_close($con);
?>
4

1 に答える 1

4

次のようになります。

echo '<td><a href="info.php?id='.$row['id'].'">'.$row['Email'].'</a></td>';

ユーザー ID を info.php ページに渡しています。これは、テーブルで呼び出された Id 列がある場合にのみ機能Idします。Emailまたは、代わりに使用できますId

echo '<td><a href="info.php?email='.$row['Email'].'">'.$row['Email'].'</a></td>';

ここで、info.php で次のように別のクエリを実行できます。

$result = mysql_query("SELECT * FROM User WHERE id = " . $_GET['id']);
while($row = mysql_fetch_array($result)){
echo $row['Age'] . ' ' . $row['Name'];
}

最初の行のEmail代わりに使用した場合、次のようにする必要があります。Id

$result = mysql_query("SELECT * FROM User WHERE Email = " . $_GET['email']);

これは単なるガイドラインであることに注意してください。あなたはSQLインジェクションに対してオープンであり、PDOの使用を検討する必要があります。

于 2013-01-09T01:21:48.993 に答える