Неисправность, связанная с результатами поиска с использованием данных столбца

им не удалось связать мои результаты поиска, используя данные из базы данных

<!--?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']?="" target="_blank">"</a>';
 }
 }

}

?>

Выше мой код, мне нужен идентификатор места, чтобы быть конкретным примером страницы, являющимся

venue.php? место = $ идентификатор

Я думаю, проблема связана с $ output line

Я могу выполнить это нормально, но для получения результатов поиска это сложно. благодаря

1 ответ

Вы злоупотребляете ' и ". Эти два разделителя цитат - это печально известная боль в шее, когда вы изучаете PHP. Я думаю, вы также помещаете строку имени места вне тега .

Если я понимаю вас правильно, вы хотите, чтобы в вашем выпуске были такие вещи.

<div id="searched"><a href="venue.php?venue=7" target="_blank">Fillmore West</a></div>

Если бы я был вами, я бы использовал эту конструкцию для таких вещей.

$output .= sprintf('<div id="searched"><a href="venue.php?venue=%d" target="_blank">%s</a></div>',
 $row['venue_id'],$vname);

Использование sprintf() делает видимость вашей строки видимой.

Когда вы используете одиночную кавычку 'string', php ничего не распознает в строке. Это соответствует первому аргументу sprintf() потому что он обрабатывается внутренне.

licensed under cc by-sa 3.0 with attribution.