繁体   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