如何从 SQL 返回的结果中选择结果
Posted
技术标签:
【中文标题】如何从 SQL 返回的结果中选择结果【英文标题】:How to select a result from a result that return by a SQL 【发布时间】:2020-04-16 04:49:42 【问题描述】:我正在使用 SQL 和 php 从我的数据库中提取信息,它返回了符合条件的用户列表。我需要使用下图中选择的数量重定向到另一个页面。我怎样才能将这个金额抓取到另一个页面? 例如,当我单击第一个选择时,我可以转到显示 $24 的另一个页面,以及 Rubinsztein Abdel, 182 Crownhardt Lane...
<!--loader end-->
<!-- Main -->
<div id="main">
<!-- wrapper -->
<div id="wrapper">
<div class="content">
<!-- Map -->
<div class="map-container column-map right-pos-map">
<div id="map-main"></div>
<ul class="mapnavigation"></ul>
<div class="scrollContorl mapnavbtn" title="Enable Scrolling"><span><i class="fa fa-lock"></i></span></div>
</div>
<!-- Map end -->
<!--col-list-wrap -->
<div class="col-list-wrap left-list">
<!-- list-main-wrap-->
<div class="list-main-wrap fl-wrap card-listing">
<!-- listing-item -->
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
$severname = "localhost";
$username = "root";
$password = "";
$dbname = "dbn";
//$conn = mysqli_connect('xx', 'xx', 'xx','xx');
$conn = mysqli_connect('dxx', 'xx', 'xx','xx');
//check connection
if (mysqli_connect_errno())
echo nl2br("Failed to connect to MySQL: ". mysqli_connect_error() . "\n");
else
echo nl2br("");
$city = mysqli_real_escape_string($conn, $_POST['city']);
$date1 = mysqli_real_escape_string($conn, $_POST['date1']);
$date2 = mysqli_real_escape_string($conn,$_POST['date2']);
$pet = mysqli_real_escape_string($conn, $_POST['pet']);
//var_dump($date2);
$sql = "SELECT CONCAT(s.lname, ' ', s.fname) AS fullName, s.ratings, s.rate, s.phone, s.address FROM Pet_Sitter AS s WHERE s.citystate='".$city."' AND s.pet_type='".$pet."' "
;
//echo $sql."<br/>";
$result = mysqli_query($conn,$sql);
if (!$result)
printf("Error: %s\n", mysqli_error($conn));
exit();
if ($result=mysqli_query($conn,$sql))
// Return the number of rows in result set
$rowcount=mysqli_num_rows($result);
printf("");
//var_dump($result);
$num_rows = mysqli_num_rows($result);
?> <div class="container"> <?php
if ($result->num_rows > 0)
while ($row = $result->fetch_assoc())
//var_dump($row);
// echo "<tr><td>" . $row['fullName'] . " </td><td>" . $row['ratings'] . " </td><td>" . $row['rate'] . " </td></tr>";
// echo '<div class="listing-item">';
echo '<div class="listing-item">';
echo '<article class="geodir-category-listing fl-wrap">';
echo '<div class="geodir-category-img">';
echo '<img src="../images/all/1.jpg" >';
echo '<div class="overlay"></div>';
echo '<div class="list-post-counter"><span>' . $row['rate'] . '</span></div>';
echo '</div>';
echo '<div class="geodir-category-content fl-wrap">';
echo '<a class="listing-geodir-category" href="../index.html">Pet sitting</a>';
echo '<h3><a href="../index.html">' . $row['fullName'] . '</a></h3>';
echo '<p>PET-SITTER INFORMATION</p>';
echo '<div class="geodir-category-options fl-wrap">';
echo '<span>' . 'Reviews ' . $row['ratings'] .'</span>';
echo '<div class="geodir-category-location">'. $row['address'] . " · " . $row['phone'] .
'</div>';
echo '</div>';
echo '</div>';
echo '</article>';
echo '</div>';
?>
<?php
else
echo "0 results";
mysqli_close($conn);
?>
</div>
</div>
【问题讨论】:
你可以让a href
进入一个php页面并传递参数。示例:echo '<h3><a href="../index.php?id=' . $row['listing_id'] . '">' . $row['fullName'] . '</a></h3>';
How can I prevent SQL injection in PHP?
【参考方案1】:
一个简单的方法是创建一个页面(如果你点击你的项目,你想去的那个页面)并在 URL 上使用 GET 来获取页面 ID;
在您的实际页面上,您将使用如下链接:
<a href="new-page.php?id=<?php echo $row['id']; ?>"
这里的网址上的?id=
是一个参数,你可以在其他页面上获取:
$pageId = $_GET['id'];
然后,你只需要发出一个 SQL 请求
SELECT * FROM Pet_Sitter WHERE id=$pageId
(最好使用准备和执行此请求,因为每个人都可以通过更改 URL 来更改 $pageId
的值)。
所以每次点击链接,页面都会显示匹配信息。
当你写HTML
时你应该关闭<?php
,而不是使用很多echo
。
【讨论】:
能否请您告诉我应该在哪里插入 它只需要在你的 While 循环中,但你可以将它插入你想要的地方,我猜你想要它在你拥有的选择按钮中以上是关于如何从 SQL 返回的结果中选择结果的主要内容,如果未能解决你的问题,请参考以下文章