2017-06-21 204 views
-3

我需要通過MySQL數據循環的幫助。嵌套的while循環PHP

我有庫存表如下。

enter image description here

我想要做的是做一個選擇語句這將得到股票表的所有行,如果它有「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 
...... 
..... 

在此先感謝您。

+1

我投票關閉這一問題作爲題外話,因爲你應該閱讀精細的手工:http://php.net/manual/en/control-structures。 foreach.php –

+0

你在詢問重複的記錄。 。 我認爲你應該做所需的循環與PHP只有 –

+0

是的複製記錄。第二個循環會查找「numberassigned_vnr」值,如果它不止一個;它應該將該記錄複製到該次數。 –

回答

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]..."; 

    } 

} 

 

希望這有助於

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 "; 
      } 
     } 
    } 

我hting它會爲你工作。

0

如果你詢問按照「numberassigned_vnr」行多次印刷,這裏是解決方案:

// $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); 
0

使用PDOWHERE手柄上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']; 
}