PHP and mysql Table


PHP and mysql Table

所以我正在开发一个基本的网站,报告存储在数据库中的项目的位置。我正在尝试做的是从存储在phpmyadmin中的表中创建一个结果表。

我想要的是使每个表格行都成为指向另一个页面的链接,在该页面中,该项目将展开为更多详细信息(单个页面结果)。 例如,用户点击与商店相关的行,然后他们将被定向到该商店的另一个页面。那么我如何使用 php 来做到这一点。请参阅下面的代码

while($row = mysqli_fetch_assoc($results)){
    $ratingStars = "";
    $ratingNo = $row[rating];
    for($i=0; $i<$ratingNo; $i++){
        $ratingStars .= "&#9733; ";
    }
    echo "<form action='' method='post'>";
    echo "<tr id=". $row['id'] .">";
    echo "<td class='lrg-tbl-row'>" . $row["hotspot-name"] . "</td>";
    echo "<td class='lrgz-tbl-row'>" . $row["address"] . "</td>";
    echo "<td class='lrg-tbl-row'>" . $row["suburb"] . "</td>";
    echo "<td class='sml-tbl-row'>" . $ratingStars . "</td>";
    echo "<td>" . "<input type='submit' name = 'Submit' value='Text'/>" . "</td>";
    echo "</tr>";
    echo "</form>";
}

无需表单提交。只需创建一个链接即可转到其他页面。如果需要,可以对 id 值进行编码。也

while($row = mysqli_fetch_assoc($results)){
    $ratingStars = "";
    $ratingNo = $row[rating];
    for($i=0; $i<$ratingNo; $i++){
        $ratingStars .= "&#9733; ";
    }

    echo "<tr id=". $row['id'] .">";
    echo "<td class='lrg-tbl-row'>" . $row["hotspot-name"] . "</td>";
    echo "<td class='lrgz-tbl-row'>" . $row["address"] . "</td>";
    echo "<td class='lrg-tbl-row'>" . $row["suburb"] . "</td>";
    echo "<td class='sml-tbl-row'>" . $ratingStars . "</td>";
    echo "<td>" . "<a href='<Your domain>/?id=" .$row['id'] . "'>View Details</a></td>";
    echo "</tr>";
}

正如Dipanwita Kundu所说,这是重定向到详细形式的好方法。

我已经尝试过jquery方式检查出来。

例如,我更改了一些初始条件。相应地更改获取查询和URL。我建议你把表格和表格放在循环之外

<!DOCTYPE html>
<html>
<?php
echo "<form action='' method='post'>";
echo "<table>";
$results = array(
    array('hotspot-name'=>'hotspot1','address'=>'192.168.0.1','suburb'=>'asdf','rating'=>'5','id'=>'1'),
    array('hotspot-name'=>'hotspot2','address'=>'192.168.0.1','suburb'=>'asdf','rating'=>'4','id'=>'2'),
    array('hotspot-name'=>'hotspot3','address'=>'192.168.0.1','suburb'=>'asdf','rating'=>'3','id'=>'3'),
    array('hotspot-name'=>'hotspot4','address'=>'192.168.0.1','suburb'=>'asdf','rating'=>'2','id'=>'4')
        );
$ratingNo = 4;
foreach($results as $row){
    $ratingStars = "";
    $ratingNo = $row['rating'];
    for($i=0; $i<$ratingNo; $i++){
        $ratingStars .= "&#9733; ";
    }
    echo "<tr id=". $row['id'] .">";
    echo "<td class='lrg-tbl-row'>" . $row["hotspot-name"] . "</td>";
    echo "<td class='lrgz-tbl-row'>" . $row["address"] . "</td>";
    echo "<td class='lrg-tbl-row'>" . $row["suburb"] . "</td>";
    echo "<td class='sml-tbl-row'>" . $ratingStars . "</td>";
    echo "<td>" . "<input type='submit' name = 'Submit' value='Text'/>" . "</td>";
    echo "</tr>";
}
echo "</table>";
echo "</form>";
?>
<script src="https://code.jquery.com/jquery-1.12.3.js"></script>
<script>
$(document).ready(function(){
    $('tr').click(function(){
        var id = $(this).attr('id');
        var url = 'https://example.com'+'?id='+id; 
        window.open(url, '_blank');
    });
});
</script>

使用锚标记在详细信息页面上重定向并在详细信息页面上发布带有 URL 的 ID,然后从您的数据库中获取该 ID 的详细信息并打印它们......

<?php 
while($row = mysqli_fetch_assoc($results)){
    $ratingStars = "";
    $ratingNo = $row[rating];
    for($i=0; $i<$ratingNo; $i++){
        $ratingStars .= "&#9733; ";
    }
    echo "<form action='' method='post'>";
    echo "<tr id=".$row['id'].">";
    echo "<td class='lrg-tbl-row'>" . $row["hotspot-name"] . "</td>";
    echo "<td class='lrgz-tbl-row'>" . $row["address"] . "</td>";
    echo "<td class='lrg-tbl-row'>" . $row["suburb"] . "</td>";
    echo "<td class='sml-tbl-row'>" . $ratingStars . "</td>";
    echo '<td class="sml-tbl-row"><a href="detail.php?id='.$row['id'].'" >More Details</a></td>';
    echo "</tr>";
    echo "</form>";
}
?>

创建新的文件详细信息.php

<?php 
$id='';
if(isset($_GET['id']))
{
    $id =$_GET['id'];
    if(!empty($id))
    {
        $details = mysql_query('SELECT * FROM table WHERE id = $id');
        ////here your will get all the details  
    }
}
?>