PHP / MySQL:如何存储在数组中选择结果

时间:2015-06-15 13:41:21

标签: php mysql arrays dictionary key

我是PHP和MySQL的新手,希望有人能帮助我。

我有一个带有表“TranslationsMain”的MySql数据库和以下PHP查询。 这将从db表中返回列“German”(包括相应的ID)中的所有项目,并且到目前为止工作正常。

不是回显整个列表(我只是在这里进行测试),**如何将结果存储在数组中,使数组中的每个项目都存储其值和唯一ID +如何我可以通过引用它们的ID来回显此数组中的特定项目吗?

示例:
我想从此数组中回显ID“xyz”的项值(不再调用db,因为页面上的多个项目需要这样做。)

我的PHP:

<?php 
    require_once("includes/header.php");

    $tblTranslations = "TranslationsMain";  

    $conn = new mysqli($servername, $username, $password, $dbname);
    if($conn->connect_error){
        die("Connection failed: " . $conn->connect_error);
    } 
    $sql = "SELECT * FROM " . $tblTranslations;
    $translations = $conn->query($sql);

    // for testing only
    if($translations->num_rows > 0){
        echo "<table><tr><th>ID</th><th>Translation</th></tr>";
        while($translation = $translations->fetch_assoc()){
            echo "<tr><td>" . $translation["ID"] . "</td><td>" . $translation["German"] . "</td></tr>";
        }
        echo "</table>";
    }else{
        echo "0 results";
    }

    $conn->close();
?>

更新 我在这里寻找的是如何创建二维数组以及如何从中获取。

非常感谢, 麦克

1 个答案:

答案 0 :(得分:1)

if($translations->num_rows > 0){
   $result_arr = array();
    echo "<table><tr><th>ID</th><th>Translation</th></tr>";
    while($translation = $translations->fetch_assoc()){
        echo "<tr><td>" . $translation["ID"] . "</td><td>" . $translation["German"] . "</td></tr>";
    $result_arr[] = $translation;
    }
    echo "</table>";
}else{
    echo "0 results";
}


// now you can iterate $result_arr 


foreach($result_arr as $row){
   echo "<tr><td>" . $row["ID"] . "</td><td>" . $row["German"] . "</td></tr>";
}