替代while循环

时间:2016-05-30 19:40:07

标签: php mysql mysqli

我是新手。我先前问过a question关于从数据库中检索我需要的数据的重复项,例如每次外卖时每个外卖的重复开放时间(见下图);我收到了非常有用的评论。该评论表明我的while循环导致我的查询结果重复问题,因为它覆盖了我的数据。

duplication example

在查看我的代码并确定哪些while循环导致了这个问题(因为我有一些),并且玩弄它们来理解我的问题时,我现在很想知道可以用什么循环代替或作为while循环的替代。

  $rest_query = "SELECT Resturant_ID FROM Rest_Details";
  $res_results = $dbc->query($rest_query);

   //while($row_results = $res_results->fetch_assoc()){
    $row_results = $res_results->fetch_assoc();{
    {
         $rests = $row_results['Resturant_ID'];
     }
   }

上面是我删除的while循环之一,我知道我需要一个循环来获取所需的所有信息。而且我不知道我需要的重复次数,因此for循环没有帮助。

正在努力获得更好的理解,因为我正在建立这个网站来自学。

1 个答案:

答案 0 :(得分:3)

"SELECT DISTINCT my_column_with_duplicates FROM Rest_Details"

然后

while($row_results = $res_results->fetch_assoc())

工作得很好。

还有其他方法,比如$ res_results-> fetchAll()来获取数组中的所有结果然后使用foreach循环。只是一个想法。