繁体   English   中英

检索搜索结果| PHP和SQL

[英]Retrieve search results | PHP & SQL

我创建了一个表格,其中包含所有必填字段,例如(ID,名称,姓氏等)

在搜索PHP文件中,当您键入ID时,它将显示与该ID相对应的所有信息,例如(ID = 1,name = Jack)

我的想法:当我进行自定义搜索时,我想在php内添加指向另一个php文件的链接,该链接显示相同的搜索结果,但带有其他信息。

问题:如何从其他php文件调用自定义搜索结果?

关于此示例,如果我搜索ID = 2,我想链接到另一个php文件“ Extrainfo.php”,该文件显示了该自定义搜索的更多信息。

这是我使用的代码:

//database connection

global $conn;
$servername = "localhost";  //host name
$username = "root"; //username
$password = ""; //password
$mysql_database = "info"; //database name

//mysqli prepared statement 

$conn = mysqli_connect($servername, $username, $password) or die("Connection failed: " . mysqli_connect_error());

mysqli_select_db($conn,$mysql_database) or die("Opps some thing went wrong");

if(isset($_GET['idNumber']))
{
    $IDNUMBER =$_GET['idNumber'];
    $stmt = $conn->prepare("select * from madea where idNumber=? ");
    $stmt->bind_param('s',$IDNUMBER);
    $stmt->execute();
    $val =  $stmt->get_result();
    $row_count= $val->num_rows;

    if($row_count>0)
    {
        $result =$val->fetch_assoc(); 
        echo $result['idNumber']; 
        echo $result['name']; 
    }
    else
    {
        echo "identification_number not Match";
    }

    $stmt->close();
    $conn->close();

    // Probably need to save the variable to call in the other php file?

    $idNumber = $result['idNumber']; 

}

?>

<a href="extrainfo.php">Extrainfo</a>

这就是我可以告诉你的。

您第一个PHP,

if(isset($_GET['idNumber']))
{
    $IDNUMBER =$_GET['idNumber'];
    $stmt = $conn->prepare("select * from madea where idNumber=? ");
    $stmt->bind_param('s',$IDNUMBER);
    $stmt->execute();
    $val =  $stmt->get_result();
    $row_count= $val->num_rows;

    if($row_count>0)
    {
        $result =$val->fetch_assoc(); 
        echo $result['idNumber']; 
        echo $result['name'];
        echo "<a href="#" id=".$result['idNumber']." class="moreInfo">More Info</a>";
    }
    else
    {
        echo "identification_number not Match";
    }

    $stmt->close();
    $conn->close();

    // Probably need to save the variable to call in the other php file?

    $idNumber = $result['idNumber']; 

}

现在,我正在使用AJAX和Jquery,因此请链接适当的库。

<script type="text/javascript">
    $(document).ready(function(){
        $(document).on('click', '.moreInfo', function(){
            $.ajax({
            url: 'moreInfo.php',
            type: 'post',
            data: {
                'idNumber': $('.moreInfo').prop('id')
            }
            }).then(function (response) {
            $('#morInfoDiv').html(response);
            });
        })
    })
</script>

moreInfo.php,

if(isset($_POST['idNumber']))
{
    $IDNUMBER =$_GET['idNumber'];
    $stmt = $conn->prepare("select * from madea where idNumber=? ");
    $stmt->bind_param('s',$IDNUMBER);
    $stmt->execute();
    $val =  $stmt->get_result();
    $row_count= $val->num_rows;

    if($row_count>0)
    {?>
        Name:<? echo $result['Name']; ?><br>        
        Address:<? echo $result['address']; ?><br>
        Date of Birth:<? echo $result['dob']; ?><br>
    <?php }
    else
    {
        echo "identification_number not Match";
    }

    $stmt->close();
    $conn->close();
}

现在在您的第一个php文件中可以有一个DIV ,该DIV将显示来自moreInfo.php的响应

<html>
<body>
    <div id="morInfoDiv"></div>
</body>
</html>

AJAX脚本将以post方法发送数据,然后捕获第二个PHP的响应文本,并将其添加到ID为“ moreInfo”的DIV

好吧,我终于用另一种方式做到了。

result.php仅添加了一个href,该href重定向到moreinfo.php,但带有ID号的查询字符串。

 <a href="moreinfo.php?idNumber=<?php echo $idNumber?>" class="moreInfo" id="<?php echo $result['idNumber']; ?>" target="_blank">Download PDF INFO</a>

这是moreinfo.php中代码的另一部分

首先,获取先前由链接重定向的查询字符串上的ID号,并将其放入变量以在sql查询中使用

$reportNumber = $_GET['idNumber'];

$result = mysqli_query($con,"SELECT * FROM madea where reportNumber='".$idNumber."'");

其余的仅显示结果,我真正需要的是:

while($row = mysqli_fetch_array($result))
{
$html .= '<td>'.$row['idNumber'].'</td><td>' . $row['Name']. '</td>';
 }

希望它有助于进一步解决问题。 非常感谢所有帮助! :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM