我正在尝试在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;然后循环遍历数组,但是我很难这样做并继续回到这个方法。
答案 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