-2

我正在创建一个存储家庭信息的网站,如地址、城市等。我完成了上传到数据库的部分,我完成了对数据库的搜索并显示信息。

但现在我的计划是你得到搜索结果,然后你想从那里获得通过链接查看该房屋的完整资料的选项。使用从数据库收集的信息显示完整的配置文件已经通过单独的 php 文件完成。现在,当我链接 php 文件时,它只会显示数据库中的最后一列。如何链接它,以便当我单击“查看完整个人资料”时,它将连接到与不同地址或价格对应的正确数据/个人资料。或者,如果我不能使用 html 链接,我可以使用什么?那不可能吗?

这是显示搜索结果的代码我已经成功地能够搜索数据库并显示它

    <?php
if($sql->num_rows){
    while ($row = $sql->fetch_array(MYSQLI_ASSOC)){
        echo '<div id="listing">
                    <div id="propertyImage"> 
                        <img src="images/'.$row['imageName1'].'" width="200" height="150" alt=""/> 
                    </div>

                    <div id="basicInfo">
                    <h2>$'.$row['Price'].'</h2>
                    <p style="font-size: 18px;"># '.$row['StreetAddress'].', '.$row['City'].', BC</p>
                    <p>'.$row['NumBed'].' Bedrooms | '.$row['NumBath'].' Bathrooms | '.$row['Property'].'</p>
                    <br>
                    <p><a href="outputtest.php" class="link2">View Full Details</a> | <a href="services/services.html" class="link2">Get Directions</a>

                    </div>
                </div>';

        height="150" alt=""/>';


    }
}
else
{
echo '<h2>0 Search Results</h2>';
}
?>

这是显示信息的php outputtest.php

<?php
mysql_connect("localhost","root","31588patrick");
@mysql_select_db("test") or die( "Unable to select database");
$query="SELECT * FROM propertyinfo";
$result=mysql_query($query);

$num=mysql_numrows($result);

mysql_close();



$i=0;
while ($i < $num) {

$varStreetAddress=mysql_result($result,$i,"StreetAddress");
$varCity=mysql_result($result,$i,"City");
$varProperty=mysql_result($result,$i,"Property");
$varNumBed=mysql_result($result,$i,"NumBed");
$varNumBath=mysql_result($result,$i,"NumBath");
$varPrice=mysql_result($result,$i,"Price");
$varEmail=mysql_result($result,$i,"Email");
$varPhone=mysql_result($result,$i,"Phone");
$varUtilities=mysql_result($result,$i,"utilities");
$varTermLease=mysql_result($result,$i,"TermLease");
$varNotes=mysql_result($result,$i,"Notes");
$image1=mysql_result($result,$i,"imageName1");
$image2=mysql_result($result,$i,"imageName2");
$image3=mysql_result($result,$i,"imageName3");
$image4=mysql_result($result,$i,"imageName4");



$i++;
}

?> html code will go after this

谢谢

编辑其工作

    <?php

////////////using mysqli to connect with database

$mysqli = new mysqli("localhost","root","31588patrick", "test");
        if ($mysqli->connect_errno) {
            echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
        }
///////////set variables
$record_id = $_GET['record_id'];

$sql = $mysqli->query("select * from propertyinfo where StreetAddress like '%$record_id%'");

if($sql === FALSE) {
    die(mysql_error()); // TODO: better error handling

}


if($sql->num_rows){
    while ($row = $sql->fetch_array(MYSQLI_ASSOC)){
        $varStreetAddress=$row['StreetAddress'];
        $varCity=$row['City'];
        $varProperty=$row['Property'];
        $varNumBed=$row['NumBed'];
        $varNumBath=$row['NumBath'];
        $varPrice=$row['Price'];
        $varEmail=$row['Email'];
        $varPhone=$row['Phone'];
        $varUtilities=$row['utilities'];
        $varTermLease=$row['TermLease'];
        $varNotes=$row['Notes'];
        $image1=$row['imageName1'];
        $image2=$row['imageName2'];
        $image3=$row['imageName3'];
        $image4=$row['imageName4'];

        }
}
4

1 回答 1

0

如果您使用的链接仅获取数据库表中的最后一条记录,则使用的基础查询必须获取最后一条记录而不是预期记录。我对您遇到的问题的理解正确吗?您使用的任何链接都只是返回数据库中的最后一条记录?

发布代码片段将帮助社区仔细研究。

在您的 php 文件中,您对所有记录运行查询,但是...

$record_id = mysql_real_escape_string($_GET["record_id"]);
$query="SELECT * FROM propertyinfo WHERE id=$record_id";

您的链接需要附加一个允许您查询特定记录的参数。

a href="outputtest.php&record_id=8"

并且您还想在将 GET 参数粘贴到查询中之前检查它的内容!我知道 mysql_real_escape_string 已经过时了。

于 2013-05-21T04:12:18.823 回答