PHP / MySql:如何存储在临时数组中选择结果以从中获取单个项目

时间:2015-06-15 11:58:49

标签: php mysql sql arrays select

我是PHP和MySQL的完全初学者,希望有人可以帮助我。

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

不是回显整个列表(我只是在这里进行测试),如何只回显列resp中的特定项目。来自查询结果,例如第五项? 如果有帮助,我还可以为我的数据库表添加一个ID列。

注意: 建立连接的登录变量在我的头文件中单独声明。

我的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);
    if($translations->num_rows > 0){
        echo "<table><tr><th>Translations</th></tr>";
        while($translation = $translations->fetch_assoc()){
            echo "<tr><td>" . $translation["en"] . "</td></tr>";
        }
        echo "</table>";
    }else{
        echo "0 results";
    }
    $conn->close();
?>

更新
这与评论中发布的其他问题不重复。 我在这里寻找的是一种在页面加载时一次获取所有数据并临时保存的方法,这样我就可以从页面内部引用临时存储而不必多次调用数据库。
可能的解决方案可能是map / key(请参阅下面的Goikiu评论)。

非常感谢, 麦克

1 个答案:

答案 0 :(得分:1)

您必须编辑您的查询;现在你正在选择所有的价值观。 以一种只获得正确结果的方式编辑它。 e.g:

  $sql = "SELECT * FROM " . $tblTranslations . "WHERE ColumnID = 6";

WHERE语句可以减少/过滤金额结果,这就是您所缺少的内容。