【问题标题】:In php-sql, I want to re-search within the first search result table.在 php-sql 中,我想在第一个搜索结果表中重新搜索。
【发布时间】:2014-01-20 06:53:05
【问题描述】:

在 php-sql 中,我想在第一个搜索结果表中重新搜索。 这是我的php-mysql代码执行的抓图。

我想使用“在结果下方搜索”按钮从第一个搜索结果表中获取详细结果。 然后,“在下面的结果中搜索”表单操作是另一个 php 代码,它必须保存第一个结果,并且具有类似的 sql 代码

     select uid, contents from datatable where contents like '%re-search word%'
     and uid in (select uid from datatable where contents like '%first-search word%')

但我有一个问题,不知道 uid 是如何工作的。 我怎样才能产生uid? 什么是uid? uid信息在哪里? 如何像上面的 sql 代码一样使用 uid?

下面是我第一次搜索的php代码

  <?php
  $q = $_GET['q'];
  $con = mysqli_connect('localhost','root','autoset','my_db');
  if (!$con)
  {
  die('Could not connect: ' . mysqli_error($con));
   }

  mysqli_select_db($con,"ajax_demo");
  $sql="SELECT * FROM persons WHERE FirstName = '".$q."' ;

  $result = mysqli_query($con,$sql);

  echo "<table border='1'>
  <tr>
  <th>Firstname</th>
  <th>Lastname</th>
  <th>Age</th>
  <th>Hometown</th>
  <th>Job</th>
   </tr>";

  while($row = mysqli_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['FirstName'] . "</td>";
  echo "<td>" . $row['LastName'] . "</td>";
  echo "<td>" . $row['Age'] . "</td>";
  echo "<td>" . $row['Hometown'] . "</td>";
  echo "<td>" . $row['Job'] . "</td>";
  echo "</tr>";
   }
 echo "</table>";
 mysqli_close($con);
 ?> 

以及如何在另一个 php 代码中重用第一个搜索词变量? 另一个php代码设计如下

   <?php
  $q = $_GET['q'];
  $p = $_GET['LastName'];
  $con = mysqli_connect('localhost','root','autoset','my_db');
  if (!$con)
  {
  die('Could not connect: ' . mysqli_error($con));
   }

  mysqli_select_db($con,"ajax_demo");
  $sql="SELECT uid, * FROM persons WHERE LastName = '".$p."' and select **uid** in (select uid from datatable where FirstName='".$q."') ;

  $result = mysqli_query($con,$sql);

  echo "<table border='1'>
  <tr>
  <th>Firstname</th>
  <th>Lastname</th>
  <th>Age</th>
  <th>Hometown</th>
  <th>Job</th>
   </tr>";

  while($row = mysqli_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['FirstName'] . "</td>";
  echo "<td>" . $row['LastName'] . "</td>";
  echo "<td>" . $row['Age'] . "</td>";
  echo "<td>" . $row['Hometown'] . "</td>";
  echo "<td>" . $row['Job'] . "</td>";
  echo "</tr>";
   }
 echo "</table>";
 mysqli_close($con);
 ?> 

以上代码,我认为uid对于回忆第一个搜索结果很重要。 但是我怎样才能在 php 代码或 html 代码中获取 uid 和设置 uid?

请帮帮我!

【问题讨论】:

    标签: php mysql sql search


    【解决方案1】:

    Q1:如何生成 uid? A1:它应该是您在 mysql 中创建的表中的一列。您的 create table 语句可能类似于:

    CREATE TABLE persons (
         uid INT(10) NOT NULL AUTO_INCREMENT,
         FirstName CHAR(30) NOT NULL,
         LastName CHAR(30) NOT NULL,
         Age INT(3),
         Hometown CHAR(40),
         Job CHAR(40),
         PRIMARY KEY (uid)
    );
    


    Q2:如何生成uid?
    A2:您不必这样做。当您插入条目时,AUTO_INCREMENT 字段将为您创建自己。 doco for auto-increment here

    Q3:什么是uid?
    A3:它可能代表“用户标识”,它是用户唯一的数字。其他用户的“uid”字段中不得有该号码。

    Q4:uid信息在哪里?
    A4:在你的桌子上

    Q5:我如何像上面的 sql 代码那样使用 uid?
    A5:如果您像我在 A1 中提到的那样在“创建表”语句中创建它,那么您应该能够使用上面提供的查询访问 uid,但应该看起来更像:

    SELECT uid FROM persons WHERE LastName = '".$p."' AND FirstName ='".$q."';
    

    或者,如果您想使用您知道数据库中的名称运行测试查询,则如下所示:

    SELECT uid FROM persons WHERE LastName = 'timmy' AND FirstName ='tom';
    

    【讨论】:

    • 非常感谢您的完美回答和善意!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多