大家好我有一张桌子/表格我在<TD>
之一。
我正在制作一个禁止或取消用户的按钮,但我希望根据使用MySql在数据库中已有的内容进行自动检查。
这是我目前拥有的,但不是自动填充:
echo "<td>" . '<form method="post" action=""> <input type="hidden" name="id" value=' . $ID . '> Ban:<input type="radio" value="1" name="unban" onclick="javascript: submit()" if({$row[\'Banned\']}==1 {echo "checked"; }/><br> Unban:<input type="radio" value="0" name="name" onclick="javascript: submit()" if({$row[\'Banned\']}=="0 {echo "checked"; }/><br /> </td>';
先谢谢。
编辑:这是完整的代码减去数据库信息:
$LINK = mysql_connect($DB_HOST, $DB_USER, $DB_PASS) or die(mysql_error()); // Connect to database server(localhost) with username and password.
mysql_select_db($DB_DTBS) or die(mysql_error()); // Select registration database.
$search = mysql_query('SELECT * FROM users') or die(mysql_error());
$match = mysql_num_rows($search);
if($match > 0){
echo "Users";
echo "<table border='1'>
<tr>
<th>UserName</th>
<th>Email</th>
<th>Access Level</th>
<th>Ban</th>
<th>Ban Reason</th>
</tr>";
while($row = mysql_fetch_array($search)) {
echo "<tr>";
$ID = $row['AccountID'];
# echo "<td>" . $row['AccountID'] . "</td>";
echo "<td>" . $row['Username'] . "</td>";
echo "<td>" . $row['Email'] . "</td>";
echo "<td>" . '<form method="post" action=""><select onchange="this.form.submit()" name="access"><option value="0">Standard</option><option value="300">VIP</option><option value="500">Moderator</option><option value="600">Admin</option><option value="700">OP</option></select></td>';
#echo "<td>" . $row['Banned'] . "</td>";
echo "<td>" .
'<form method="post" action=""> <input type="hidden" name="id" value=' . $ID . '>
Ban:<input type="radio" value="1" name="unban" onclick="javascript: submit()" '. (($row['Banned'] == "1") ? 'checked=checked"' : '').' /><br>
Unban:<input type="radio" value="0" name="name" onclick="javascript: submit()" '. (($row['Banned'] == "0") ? 'checked=checked"' : '').' /><br /> </form></td>';
#the above now pulls code thanks to Fred and everyone els
#echo "<td>" . '<input type="text" name="reason" value=""> </form> </td>';
echo "<td>" . $row['Banned_Reason'] . "</td>";
#echo "<td>" . $row['LastLogin'] . "</td>";
echo "</tr>";
}
echo "</table>";
} else {
echo("Oops Something Went wrong");
}
?>
*请注意以上内容已经在php标签中。
答案 0 :(得分:2)
我强烈建议重写这种方法,但是如果你想在那个回声中使用一些逻辑,你就不能将它们包含在字符串中,并期望它们被插值为逻辑,因为它们将被视为字符串。在这种情况下,您可以使用三元组:
echo '
<td>
<form method="post" action="">
<input type="hidden" name="id" value=' . $ID . ' />
Ban: <input type="radio" value="1" name="unban" onclick="javascript: submit()" ' . (($row['Banned'] == 1) ? 'checked=checked' : '') . ' /> <br/>
Unban: <input type="radio" value="0" name="name" onclick="javascript: submit()" ' . (($row['Banned'] == 0) ? 'checked=checked' : '') . ' /> <br/>
</form>
</td>
';
答案 1 :(得分:1)
为将来的读者编辑。
OP找到了解决方案。希望OP会将其作为答案发布。我修好了,我只需要添加&#39; checked = checked&#34;&#39; :&#39;&#39;)。 - 瑞恩
最初在OP编辑过的问题之前发布了originally posted question的答案,并修改后将其显示为工作代码。
您错过了两个条件的结束)
括号以及另一个的额外报价。
if({$row[\'Banned\']}==1
^ bracket missing
应该读作
if({$row[\'Banned\']}==1)
和
if({$row[\'Banned\']}=="0
^ ^ extra quote and bracket missing
应该读作
if({$row[\'Banned\']}==0)
修改强>
您有两个<form>
代码,但只有一个结束</form>
代码。你需要将它们关闭。
此行已被注释掉:
#echo "<td>" . '<input type="text" name="reason" value=""> </form> </td>';
如果这是您的工作代码的一部分,则需要为这两种表单添加一个echo {d </form>
标记。
在打开<?php
标记后立即将错误报告添加到文件顶部
error_reporting(E_ALL); ini_set('display_errors', 1);
会发出信号。