2015-10-22 70 views
-1

我在PHP數組的下列工作數組:構建從SQL查詢數組的數組用PHP

$explore1 = array 
(
array("a.html", "A"), 
array("b.html", "B"), 
array("c","C") 
);   
$arrlength = count($explore1); 
for($x = 0; $x < $arrlength; $x++) { 
    echo '<li><a href="'.$explore1[$x][0].'">'.$explore1[$x][1].'</a></li>'; 
} } 

我想填充從SQL的explore1陣列。如果我簡單地改變下面的代碼它有錯誤,但我不知道我想要做什麼呢?

$sql = 'SELECT url, name FROM explore_items WHERE menuID="item1"'; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    // output data of each row 
    $explore1 = array //IT DOESN'T LIKE THIS LINE 
(
while($row = $result->fetch_assoc()) { 
    // BUILD SAME LINES AS ABOVE WITH ECHO 
    echo "array('" . $row["url"]. ", '" . $row["name"]. "'),"; 
} 
); 

任何人都可以幫忙嗎?

+0

'$ explore1 = []; while($ row = $ result-> fetch_assoc()){$ explore1 [] = [$ row [「url」],$ row [「name」]];}' – Rizier123

+0

雖然您的嘗試可能失敗,但您仍然嘗試過最好自己解決問題,並分析一下代碼。這很好+ *嘗試和錯誤*是你如何學習。 – Rizier123

回答

0

請學習一些php基礎知識。 定義數組的數組是一樣的東西:

$explore1 = array(); 
while($row = $result->fetch_assoc()) { 
    $explore1[] = array($row["url"], $row["name"]); 
} 
+0

感謝您的答案@u_mulder看起來也很完美。我知道這可能是最基本的,但我通過做所有的W3schools和谷歌學習,我仍然無法解決這個問題,因此,這個問題。 –

1

要麼你不需要$explore1都:

$sql = 'SELECT url, name FROM explore_items WHERE menuID="item1"'; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    while($row = $result->fetch_assoc()) { 
    //echo "array('" . $row["url"]. ", '" . $row["name"]. "'),"; 
    echo '<li><a href="'.$row["url"].'">'.$row["name"].'</a></li>'; 
    } 
} 

,或者您可以根據需要fetch_all()

$sql = 'SELECT url, name FROM explore_items WHERE menuID="item1"'; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    $explore1=$result->fetch_all(MYSQLI_ASSOC); 
    foreach($explore1 as $row) { 
    //echo "array('" . $row["url"]. ", '" . $row["name"]. "'),"; 
    echo '<li><a href="'.$row["url"].'">'.$row["name"].'</a></li>'; 
    } 
} 
+0

謝謝@Alex我得到了同樣的結論,我不需要$ PHP,新的PHP。 –

0

你必須填充循環內的數組:

while($row = $result->fetch_assoc()) { 
    $explore1[$row["url"]] = $row["name"]; 
} 
+0

這看起來很完美,謝謝@ dev0! –