2014-10-07 59 views
1

自從我觸及PHP已經很長時間了,所以我只需要進行一些更新。PHP的MySQL數據庫 - 所有行到多維數組

我有一個HTML表單,它捕獲多行數據(dataA,dataB,dataC & dataD)並將它們插入到數據庫表(dataAll)中。我將在數據行中輸入行到「dataAll」。什麼我希望做的是創建一個頁面Display.php的,其中的代碼將所有的數據,並把每個單元到一個數組或數組的行,例如:

new Array = [["dataA", "dataA", "dataA", "dataA", "dataA"], 
      ["dataB", "dataB", "dataB", "dataB", "dataB"], 
      ["dataC", "dataC", "dataC", "dataC", "dataC"], 
      ["dataD", "dataD", "dataD", "dataD", "dataD"]]; 

但我不記得如何執行此任務的語法。任何幫助將不勝感激。

數據庫被命名爲 'compdata',該表是 'dataAll',每一行是 '數據A', '數據B', 'DATAC', 'dataD' 。

如果我需要提供更多信息,請讓我知道。

+0

你是否在尋找: 選擇數據A,數據B,DATAC,dataD從compdata.dataAll – Alex 2014-10-07 19:00:36

回答

2

既然你問了所有行,所以查詢簡單的代碼編寫如下:

<?php 
    //after connection to mysql db using mysql_connect() 
    $sql = "Select dataA, dataB, dataC, dataD from `compdata`.`dataAll`" ; 
    $result = mysql_query($sql) ; 
    if(mysql_num_rows($result) > 0){ 
      while($row = mysql_fetch_array($result)){ 
        $dataArray[] = $row ; 
      } 
    } 
    echo '<pre>'; 
    print_r($dataArray) ;//you got the desired 2D array with all results 
?> 
+0

說我沒」 t知道最後會有多少行,我只需要替換爲:'$ sql =「select * from'compdata'。'dataAll'」;' – Murphy1976 2014-10-07 19:35:55

+2

查詢沒有問題,但有多少「行「取決於LIMIT查詢不在」select *「或列名上。 – Riad 2014-10-08 08:36:24

1

假設你使用老mysql_xxx功能:

$data = array(); 
$result = mysql_query ('select * from dataAll'); 
while ($row = mysql_fetch_array ($restult, MYSQL_ASSOC)) 
    $data [] = $row; 

結果:

$data = array (
    0=>array ('col_1'=>'dataA', 'col_2'=>dataB...), 
    1=>array ('col_1'=>'dataA', 'col_2'=>dataB...) 
); 

如果你只想要的數字,而不是列名,使用MYSQL_NUM。

但是,mysql函數正在替換爲更通用的PDO對象,因此您可能需要查看該函數。

$stmt = $pdo->query ('select * from dataAll'); 
$result = $pdo->fetchAll (PDO::FETCH_ASSOC); // Or PDO::FECTCH_NUM 

與上述結果相同。