PHP fetch_assoc正在削减我的String

时间:2015-04-30 13:35:47

标签: php mysql

我在PHP中有这段代码:

$i=0;
$resultado= $_GET['resultado'];
echo "<div class=informacion> <b>Usted busco:</b> $resultado </br></br>";
$consultaNegocios = $mysqli->query("SELECT * FROM negocios WHERE nombre LIKE '%$resultado%' OR keywords LIKE '%$resultado%'");
$row_cnt = $consultaNegocios->num_rows;
if ($row_cnt != 0) {
    while ($row = $consultaNegocios->fetch_assoc()) {
        $id = $row['id'];
        $logo = $row['logo'];
        $title = $row['nombre'];
        $telefono = $row['telefono'];
        $keywords = $row['keywords'];
        $direccion = $row['direccion'];
        echo '
        <a href=./detalles/'.$title.'><img src='.$logo.' width=100px height=100px align=left alt=logo de '.$title.'>
        <h2> '.$title.' </a> </h2> 

        <p><b>Direccion: </b>'.$direccion.' </br>
        <b>Telefono:</b>'.$telefono.' </br>
        <b>Palabras de busqueda:</b> '.$keywords.' </br></p>
        </div>
        ';
    }
} else{
    echo "<br><br>No hay resultados";
}

我在MYSQL:Hello World中查询$ title row,但是如果我回显$ title,它只返回Hello,第一个单词。我该怎么做才能返回所有字符串?

编辑:所有代码更新

1 个答案:

答案 0 :(得分:4)

echo '<a href="./detalles/'.$title.'"><img src="'.$logo.'" width="100px" height="100px" align="left" alt="logo de '.$title.'" />
        <h2> '.$title.'</h2> </a>
        <p><b>Direccion: </b>'.$direccion.' </br>
        <b>Telefono:</b>'.$telefono.' </br>
        <b>Palabras de busqueda:</b> '.$keywords.' </br></p>
        ';
   }
} else{
    echo "<br><br>No hay resultados";
}
echo '</div>';

解释对于那些感兴趣的人:

  1. 你应该更好地使用模板或MVC的任何概念来输出php中的html页面。

  2. 在这种特殊情况下,OP并不尊重HTML格式:

    例如:width=100px height=100px应为width="100px" height="100px"

    例如:<a href=./detalles/'.$title.'>...应为<a href="./detalles/'.$title.'">...

    例如:<a ...>...<h2> '.$title.' </a> </h2>应为<a ...>...<h2> '.$title.' </h2> </a><a ...>... </a> <h2> '.$title.' </h2>(不破坏html结构)

  3. 当开放标记位于循环外部时,
  4. echo '</div>';关闭标记包含在循环体中。所以为了修复html,我们需要从循环中提取它并放在循环之后。或者我们可以在循环中包含一些开放标记<div>。但我认为在这种情况下,这不是OP所期待的。