在php-sql中,我想在第一个搜索结果表中重新搜索。

时间:2014-01-20 06:53:06

标签: php mysql sql search

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

enter image description here

我想使用“搜索结果”按钮从第一个搜索结果表中获取详细结果。 然后,“在下面搜索结果”表单操作是另一个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对于回忆第一个搜索结果非常重要。 但是我怎样才能获得uid并在php代码或html代码中设置uid?

请帮助我!

1 个答案:

答案 0 :(得分: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

第三季:什么是uid?
A3:它可能代表“用户识别”,这是用户唯一的号码。没有其他用户可以在他们的“uid”字段中拥有该号码。

问题4:uid信息在哪里?
A4:它在你的桌子上

问题5:如何在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';