[英]MySQL link to return results
我有一個從表中顯示的圖像,我希望用戶能夠單擊該圖像將其定向到一個頁面,該頁面返回該行的其余數據。 我需要一個php循環嗎? 我不太清楚。 這將返回姓,名和圖像:
<?php
if (isset($_GET['LastName'])) {
$ln = $_GET['LastName'];
}
include 'connection.php';
$query = "SELECT * FROM residents WHERE LastName like '$ln%' ";
$result = mysql_query($query);
while($person = mysql_fetch_array($result)) { ?>
<div class="media col-sm-4">
<a class="pull-left" href="redirectionpage.php?<?php echo $person['ID'];?>.php">
<img class="media-object" src="upload/<?php echo $person['Picture'];?>" width="100" height="100"/>
</a>
<div class="media-body">
<h4 class="media-heading"><?php echo $person['LastName'] . ", " . $person['FirstName']; ?></h4>
</div>
</div>
<?php }>?
通過將用戶重定向到新頁面並使用mysql語句顯示新數據來實現此目的的最佳方法是嗎?
這是另一頁的代碼:
<?php
//Gets data from the database
include ('header.php');
include ('footer.php');
include ('connection.php');
$query = "SELECT * FROM residents WHERE ID = LastName LIMIT 1";
$result = mysql_query($query);
while($row = mysql_fetch_array($result)){
$outputpicture.='<div><p><img src="upload/' . $row['Picture'].'" width="450" height="550"/></p></div>';
$outputname.= $row['LastName'] . ", " . $row['FirstName']. '<br />';
$outputspouse.= $row['Spouse']. '<br />';
$outputrelatives.= $row['Relatives']. '<br />';
$outputaddress.= $row['Address']. '<br />';
$outputbirthday.= $row['Birthday']. '<br />';
$outputbegan.= $row['BeganResidence']. '<br />';
$outputended.= $row['EndedResidence']. '<br />';
$outputformer.= $row['FormerResidence']. '<br />';
$outputcareer.= $row['Career']. '<br />';
$outputeducation.= $row['Education']. '<br />';
$outputmaritalstatus.= $row['MaritalStatus']. '<br />';
$outputsiblings.= $row['Siblings']. '<br />';
$outputspecialinterests.= $row['SpecialInterests'].'<br />';
}
?>
鏈接需要更改為
<a class="pull-left" href="redirectionpage.php?id=<?php echo $person['ID'];?>">
添加此id=
將允許您通過$_GET
超全局變量訪問redirectionpage.php
的id參數。
$id = $_GET['id'];
您可以使用$id
變量從數據庫中選擇指定的行。 您將看到很多這樣做的示例:
$query = "SELECT * FROM residents WHERE ID = $id";
這可行,但您不應該這樣做,因為它會創建SQL注入漏洞。 閱讀有關准備好的語句並創建SQL的信息,以便您可以將ID作為參數傳遞。
$stmt = $pdo->prepare("SELECT * FROM residents WHERE ID = :id");
$stmt->bindValue(':id', $id, PDO::PARAM_INT);
$stmt->execute();
這也應應用於您用於選擇圖像列表的代碼。
假設ID是您的居民表的鍵,則應該只選擇一個記錄,因此您不需要while循環。 您可以只使用一次訪存。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.