根据列值获取正确的行

时间:2019-10-18 10:19:04

标签: php mysql mysqli

我需要帮助来确定如何获取正确的行,具体取决于行的列值,但只需要执行一个查询即可。我希望数组存储所有行,但是然后从数组中获取正确的值。

这是我的表的结构:

ID  Name    Text    Page

使用PHP数组,我想根据该键上text的值来回显name
这是我获取表的PHP代码:

<?php
    $db = mysqli_connect(DB_HOST,DB_USR,DB_PASS,DB_NAME);
    $db->set_charset("utf8mb4");

    $result = mysqli_query($db, "SELECT * FROM content WHERE Page='index';");
    $row = mysqli_fetch_assoc($result);

    mysqli_close($db);
?>

我尝试了此操作,但出于明显的原因,它并没有真正起作用:

<h1><?php if($row['Name'] == 'slide_1_title') echo $row['Text']; ?></h1>

我很高兴有人帮助我解决这个问题。我该怎么解决?

2 个答案:

答案 0 :(得分:-1)

通过@jeroen解决了它!

我只是简单地创建了一个assoc数组,然后将所需的值插入到这样的循环中:

$result = mysqli_query($db, "SELECT * FROM content WHERE page='index';");
$content = array();
while($row = mysqli_fetch_assoc($result)) {
    $content[$row['name']] = $row['text'];
}

echo $content['slide_1_title'];

答案 1 :(得分:-2)

请检查此内容:

1)如果存在问题:“ SELECT * FROM content WHERE page ='index';”

检查mysqli_fetch_assoc($result);是否返回行

$count=mysqli_num_rows($result)
if($count>0){
   echo "query ran and returned row(s)";
}else echo "query Didn't ran";

如果查询返回行,则:

2)此if($row['name'] == 'slide_1_title')可能失败