如何在变量中包含while循环

时间:2013-11-18 13:16:41

标签: php variables

我有以下代码:

<?php

if(isset($_POST['indexSearchSubmit']))
{
foreach($_POST['industryList'] as $selected)
    {
        $_POST['industryList'] = $selected;
        $locationListResults = $_POST['locationList'];

        $results = mysqli_query($con,"SELECT * FROM currentListings WHERE     location = '$locationListResults' AND industry = '$selected'");

        while($row = mysqli_fetch_array($results))
            {
                echo $row['industry'];
                echo $row['location'];
                echo $row['title'];
                echo $row['description'];
            }
    }
                mysqli_close($con);
}

?>

有人能告诉我如何将回声部分存储到变量中,以便我可以在网站的其他部分显示它和我想要的位置吗?

如果我删除回声并将$row存储为变量,当我回显该变量时,它只输出一次并且不会运行循环。

4 个答案:

答案 0 :(得分:1)

您应该使用mysqli_fetch_all。结果将是一个数组,其中每个元素都是一行,每行是一个关联数组,其键与示例中的行相同

$data = mysqli_fetch_all($result);
$data[0]["industry"]; //Data in the first row 

然后,您可以循环$data将其输出到页面的任何位置。

答案 1 :(得分:0)

放入数组,

        $list = array();
        while($row = mysqli_fetch_array($results))
        {
           $list[] = $row;
        }

答案 2 :(得分:0)

将所有值放在数组中

 $rows = array(); 
 $x = 0;
 while($row = mysqli_fetch_array($results))
            {
                $rows[$x]['industry'] = $row['industry'];
                $rows[$x]['location'] =  $row['location'];
                $rows[$x]['title'] =  $row['title'];
                $rows[$x]['description'] =  $row['description'];
                $x++;
            }
 return $rows;

然后你可以使用$ rows作为数组。

foreach($rows as $v){
  echo $v['industry']." ".$v['location']."<br />";
  echo $v['title']." ".$v['description']."<br />";
}

答案 3 :(得分:0)

你可以试试这个

$arrayList = array();

while($row = mysqli_featch_array($results)){
     $arrayList[] = $row;               
}

print_r($arrayList);