如何从 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 '&lt;h3&gt;&lt;a href="../index.php?id=' . $row['listing_id'] . '"&gt;' . $row['fullName'] . '&lt;/a&gt;&lt;/h3&gt;'; 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时你应该关闭&lt;?php,而不是使用很多echo

【讨论】:

能否请您告诉我应该在哪里插入 它只需要在你的 While 循环中,但你可以将它插入你想要的地方,我猜你想要它在你拥有的选择按钮中

以上是关于如何从 SQL 返回的结果中选择结果的主要内容,如果未能解决你的问题,请参考以下文章

如何从 oracle SQL 的结果中选择唯一记录?

如何从 Pentaho-Kettle 中基于动态选择的 sql 查询中获取结果集?

SQL - oracle - 如何从连接结果中选择特定部门

易语言中如何从SQL查询中返回结果?

如何从jdbc连接中的方法返回结果集

从“选择语句”格式的函数返回结果