单选按钮检查来自mysql的负载

时间:2014-10-05 03:06:29

标签: php html mysql

大家好我有一张桌子/表格我在<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标签中。

2 个答案:

答案 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);会发出信号。