嵌套While循环PHP

时间:2017-06-21 11:06:23

标签: php loops mysqli

我需要帮助循环访问MySQL数据。

我的库存表如下。

enter image description here

我想做的是做一个select语句,它会从stock表中获取所有行,如果它有" numberassigned_vnr"超过1,循环,并显示为单独的行。

我需要帮助编写select语句,它将遍历表并显示结果,如果有" numberassigned_vnr"不止一个,循环并将结果打印到该次数。

所以我应该看到这样的东西。

1   27  300  Black
1   27  300  Black
1   27  300  Black
7   29  315  Black
7   29  315  Black
2   28  315  Black
3   29  315  Black
......
.....

提前谢谢你。

4 个答案:

答案 0 :(得分:0)

PHP:



while($row=mysqli_fetch_array($result,MYSQL_ASSOC)){

    $numberassigned_vnr=$row['numberassigned_vnr'];

    for($i=1;$i<=$numberassigned_vnr;$i++){

        echo "your coloumns here like $row[coloumn1] $row[coloumn2]...";

    }

}


希望这有帮助

答案 1 :(得分:0)

你可以这样做

    // Create connection
    $conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    $sql = "SELECT id, firstname, lastname FROM MyGuests";
    $result = $conn->query($sql);
    if (!empty($result)) {
        foreach ($result as $data) {
            for ($i = 0; $i < $data->numberassigned_vnr; $i++) {
                echo "$data->id_vnr $data->idstk_vnr $data->width_vnr $data->color_vnr ";
            }
        }
    }

我认为这对你有用。

答案 2 :(得分:0)

如果您要求根据&#39; numberassigned_vnr&#39;多次打印该行,以下是解决方案:

// $conn = your db connection

$result = mysqli_query($conn,"SELECT * FROM your_table");

if(!empty($result)) {
    while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)){

        for($i=0; $i < $row['numberassigned_vnr']; $i++){
            echo $row['id_vnr']." ".$row['idstk_vnr']." ".$row['width_vnr']." ".$row['color_vnr'];
        }
    }

    // Free result set
    mysqli_free_result($result);
}

mysqli_close($conn);

答案 3 :(得分:0)

WHERE语句中使用PDO MySQL句柄,将所有结果都显示在numberassigned_vnr > 1

如下:

$db = new PDO("...");
$statement = $db->prepare("SELECT * FROM stock_table WHERE numberassigned_vnr > :nrassigned");
$statement->execute(array(':nrassigned' => 1));    
while ($row = $statement->fetchAll(PDO::FETCH_ASSOC)){
    var_dump($row); // var_dump complete row
    echo $row['id_vnr'] . " " . $row['idstk_vnr'] . " " . $row['width_vnr'] . " " . $row['color_vnr'];
}