我有一个代码,当一个人登录时,它会自动显示与其帐户相关的某些信息。我试图让它在下拉列表中列出信息,并将每个结果作为一个新选项。现在它正在发布结果,但都在同一行中。
此图显示查询当前如何输出结果。我需要将这些名称中的每一个放在单独的行中,而不是作为相同的选项。
<?php
$results = mysqli_query($db, "SELECT u.Name AS Name, u.activation as activation, u.lastlogin AS lastlogin, u.dwForbidTime AS dwForbidTime, u.RegDate AS RegDate, u.email AS email, group_concat(distinct g.szName SEPARATOR '<br />') AS szName, g.byShape as byShape, g.Level as Level
FROM user AS u
LEFT JOIN gamedata AS g on u.name = g.szAccountName
WHERE Name='$user_check'
ORDER BY g.szAccountName DESC
LIMIT 3") or die("Error: " . mysqli_error($db));
echo "<select name='character'>";
while ($row = mysqli_fetch_array($results, MYSQLI_ASSOC)) {
echo '<option value="' . $row['szName'] . '">' . $row['szName'] . '</option>';
}
echo "</select>";
?>
如果我不尝试使用下拉列表,我的查询输出很好,但我需要为表单提供选择选项。
不要使用GROUP_CONCAT()
. 那就是将所有结果合并到一行中,并<br>
在每个名称之间。您的while
循环希望每个名称都位于单独的结果行中。
$results = mysqli_query($db, "
SELECT distinct g.szName
FROM user AS u
LEFT JOIN gamedata AS g on u.name = g.szAccountName
WHERE Name='$user_check'
ORDER BY g.szAccountName DESC
LIMIT 3") or die("Error: " . mysqli_error($db));
如果您只显示szName
在下拉菜单中,您也不需要选择所有其他列。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句