sql从表中检索数据并使它们链接

Posted

技术标签:

【中文标题】sql从表中检索数据并使它们链接【英文标题】:sql retrieve data from table and make them links 【发布时间】:2012-12-01 04:38:09 【问题描述】:

我正在从数据库生成网页。现在我的问题是:

我的数据库(mysql)中有 1000 条记录(名称)。 我在页面中创建了一个搜索框,当我输入数据库中的任何名称或名称的一部分时,所有名称都应该出现。 例如-

SELECT * FROM table where name like '%$find%'

现在我想在新页面上显示选定的名称(通过查询获取),以便当我单击任何名称时,应该打开一个新页面以及与该选定名称相关的所有数据(出现在属于数据库的表)要使用导航按钮显示在该页面上,我应该使用什么查询来执行它。

总之我想让我的页面像谷歌搜索页面。

我的第一页是这样的

<html>
<body >
<h2>Search</h2> 
<form name="search" method="post" action="second.php">
Search Name: <input type="text" name="find" id="find" /> 
<input type="submit" name="search" value="search" />
</form>
</body>
</html>

第二页有点像这样

  <html>
  <head>
  <script>
  function favBrowser()
  
  var mylist=document.getElementById("opt");
  document.getElementById("favorite").value=mylist.options[mylist.selectedIndex].text;

   
  </script>
  </head>

 <body>

  <form  method="get">

 <?php
 $find = $_REQUEST['find'];
 $con = mysql_connect("localhost","root","");
 if (!$con)
 
 die('Could not connect: ' . mysql_error());
  
 mysql_select_db("data", $con);


  $result = mysql_query("SELECT * FROM table where name like '%$find%'");


  $result_rows = mysql_num_rows($result);

 while($row = mysql_fetch_array($result))


 // $names[] = $row['name'];  
 // echo $names[0];

 // echo "$row[name]. $row[id] <a href='data.php?edit=$row[name]'>edit</a><br />";

 $_name = $row['name'];

 echo "Name : <input type='text' name='name' value='$_name' size='30'>";

 echo "<br />";
 
 
 mysql_close($con);

?>

<!--</select>
<input type ="submit" value="submit">
<p>Your selected name is: <input type="hidden" name="fun" id="favorite" size="30">
</p>
 -->

</body>
</html>

【问题讨论】:

您的问题听起来不像 Google 搜索页面。单击 Google 搜索结果会将您带到一个网站。您说过要打开一个新页面,其中包含与所选名称相关的数据。您能否在 HTML 中提供您希望列表如何显示以及第二页应该如何显示? 你想达到什么目的?你现在的代码有什么问题?如果您也想显示它们,只需从结果中回显其他变量?对于链接使用a href 而不是input 我已经完成了这个。现在我希望页面上出现的任何名称/名称我希望它们成为 url,这样每当我们单击所选名称时,它应该显示与名称相关的所有数据来自该数据库的新页面。 【参考方案1】:

但问题是如何将所有名称作为链接,然后在下一页获取它们的结果.. 对吗?

【讨论】:

【参考方案2】:

嗯,简化了,在第一页你会看到这样的内容:

while($row = mysql_fetch_array($result))

   $_name = $row['name'];
   echo '<a href="second_page.php?name='.strip_tags($_name)'" target="_BLANK"'.'</a>';

在第二个页面上,您有姓名,作为 URL 参数传递,然后您在该页面上查找另一个数据库以获取联系人详细信息并填充各个字段:

$_name = $GET['name'];

请记住添加所需的转义或使用 PDO / mysqli

【讨论】:

以上是关于sql从表中检索数据并使它们链接的主要内容,如果未能解决你的问题,请参考以下文章

SQL查询从链接表中检索最后一条记录[重复]

只要它们不存在于另一个表T-SQL中,就从一个表中检索记录[重复]

从表中检索特定 24 小时时间范围内的记录

SQL Server 函数大全

SQL多表链接查询、嵌入SELECT语句的子查询技术

仅从表中选择最新记录并使其快速,如何?