在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对于回忆第一个搜索结果非常重要。 但是我怎样才能获得uid并在php代码或html代码中设置uid?
请帮助我!
答案 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
问题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';