有效地在无序列表中显示MySQL数据

时间:2018-06-19 08:02:14

标签: php mysql

我正在尝试在MySQL中创建技能列表,并在index.php文件的无序列表中逐个显示。

目前我的方法如下,这给了我想要的结果(请注意:我实际上每次需要的时候都会调用这个11 - 这只是2号和3号用于演示目的):

 <li><?php
   $sql = "SELECT * FROM skillset WHERE id = 2;";
   $result = mysqli_query($conn, $sql);
   $resultCheck = mysqli_num_rows($result);

   if ($resultCheck > 0) {
        while ($row = mysqli_fetch_assoc($result)) {
        echo $row[skill] . "<br>";
    }
 }?></li>

 <li><?php
    $sql = "SELECT * FROM skillset WHERE id = 3;";
    $result = mysqli_query($conn, $sql);
    $resultCheck = mysqli_num_rows($result);

    if ($resultCheck > 0) {
        while ($row = mysqli_fetch_assoc($result)) {
        echo $row[skill] . "<br>";
    }
}?></li>

我使用的方法运作充分,但显然效率不高,因为有15种个人技能。

逻辑告诉我正确的方法是选择所有来自&#34;技能组&#34;然后循环遍历数组,但是我很难这样做并继续回到这个方法。

1 个答案:

答案 0 :(得分:3)

我建议做以下事情(仅针对该示例,按照您喜欢的方式执行任何其他值)。

$sql = "SELECT * FROM skillset WHERE id IN (1, 2, 3) ORDER BY id";

$result = mysqli_query($conn, $sql);

$resultCheck = mysqli_num_rows($result);

if ($resultCheck > 0) {
    while ($row = mysqli_fetch_assoc($result)) {
        echo '<li>' . $row['skill'] . '<br></li>';
    }
}

如果你有一千个身份证,那么我建议像BETWEEN这样使用:

SELECT * FROM skillset WHERE id BETWEEN 1 AND 1000