我无法使用数据库中的数据链接我的搜索结果
<?php
include 'connect.php';
error_reporting(0);
if(isset($_POST['search'])) {
$searchquery = $_POST['search'];
$searchquery = preg_replace("#[^0-9a-z]#i","",$searchquery);
$query = mysql_query("SELECT * FROM tbl_venues WHERE venue_name LIKE '%$searchquery%' OR venue_adress LIKE '%$searchquery%'") or die("Search failed!");
$count = mysql_num_rows($query);
if($count == 0){
$output = 'No results found!';
}else{
while($row = mysql_fetch_array($query))
{
$vname = $row['venue_name'];
$vadress = $row['venue_adress'];
$id = $row['venue_id'];
$output .='<div id="searched">'.$vname.'<a href="venue.php?venue=" . $row['venue_id']?>"</a></div>';
}
}
}
&GT;
以上是我的代码,我需要将场地的ID作为特定页面示例
venue.php?场地= $ ID
我认为问题在于$ output line
我可以正常执行此操作,但要获得搜索结果,这样做很难。 感谢
答案 0 :(得分:1)
您误导了'
和"
。当你学习PHP时,这两个引用分隔符是一个臭名昭着的痛苦。我想你也把场地名称字符串放在<a>
标签之外。
如果我理解你的话,你在输出中想要这样的东西。
<div id="searched"><a href="venue.php?venue=7">Fillmore West</a></div>
如果我是你,我会用这种结构来做这些事情。
$output .= sprintf('<div id="searched"><a href="venue.php?venue=%d">%s</a></div>',
$row['venue_id'],$vname);
使用sprintf()
可以使您的字符串替换可见。
当您使用单引号'string'
时,php无法识别字符串中的任何内容。这适用于sprintf()
的第一个参数,因为它是在内部处理的。