簡體   English   中英

MySQL鏈接返回結果

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM