PHP:while循环没有显示db问题中的所有结果

时间:2016-05-17 02:14:47

标签: php mysql

我在查询时需要从数据库中获取所需的所有结果。 我在我的主页上搜索,它将用户引导到我正在讨论的页面。用户使用他们的邮政编码搜索他们所在地区的餐馆。

我的查询检查db以查找与输入搜索栏的内容相匹配的结果,我的问题是它只显示1个结果,即使它们不止一个。它始终显示输入数据库的最后一家餐厅。

我似乎无法看清问题是什么,任何帮助或建议都会非常感激。

 $output='';
  if(isset($_POST['search'])){
$searchq= $_POST['search'];


             $sql=mysqli_query($dbc,"SELECT *
 FROM Rest_Details 
 WHERE Delivery_Pcode.Pcode LIKE '%".$searchq."'") or die ("could not search!");
             echo var_dump($sql);

             $count = mysqli_num_rows($sql);
             if($count ===0){
$output ='<b>Oh no! We do not currently deliver to '.$searchq.'</b></br>
                    Please leave your email address & we will notify you as soon as we do! </br>
<form action="Area_Rest_page.php">
<input type="text" name="FirstName" value="">
<input type="submit" value="Submit">
</form>';

             }else{
                 $i=1;
             }while($row_prods=  mysqli_fetch_array($sql)){
            $EXAMPLE = $row_prods['EXAMPLE'];


            $output ='<h3 id="rest_name">'.$rest_name .'</h3>'.

                     ;    
            $i++;

然后在页面下方放置以下内容。

print("$output");

数据库已成功连接,会话已启动,我也有错误处理程序(无错误)

1 个答案:

答案 0 :(得分:2)

与Bender建议的相同,但您不能使用(+)符号进行连接,而是使用(。)。

$output = $output . '<h3 id="rest_name">'.$rest_name .'</h3>'.
                    '<p class="title"> Price</p>'.
                    '<p class="title">Avg Delivery</p>'.
                    '<p class="title">Cost</p>'. 
                    '<a href="product_page.php?rest_id='.$rest_id.'&Postcode='.$searchq.'"><button id="feed">Feed Me!</button></a>'.
                     ;