在带有复选框的列表中显示SQL数据

问题描述

| 我不确定如何执行此操作,但是我有一个sql数据库,可在其中查询信息。我想将查询结果显示在网页的列表中,开头带有一个复选框,以便用户可以选择要记录的信息记录。 我的数据库有20多个列,但我只想显示大概5列与我搜索查询有关的数据。目前,我在文本字段中重新填充了数据。但是我想更进一步,使数据显示水平列表中。 基本上是这样的: 客户端在数据库搜索订单。假设有2个不同的订单与数据库中的搜索条件匹配。我想说来自数据库的5列数据,这2个订单显示页面上,每个订单旁边都有一个复选框,因此客户端可以选择他们想要修改的订单。 我不确定用于在带有复选框的列表中显示sql数据的代码。谢谢!     

解决方法

下面的代码演示了如何: 查询数据库 在每个条目旁边带有复选框的表中显示其输出 将选定的复选框提交到页面 页面重新加载时显示选择 提防您可能需要修改的一些参数,例如数据库名称,用户名,密码,主键名称(\“ id \”)。     
# connect to mysql
$db_link = mysql_connect(\'localhost\',\'root\',\'\');
if (!$db_link)
    die(\'Cannot connect : \' . mysql_error());

# select database
$db_selected = mysql_select_db(\'test_db\',$db_link);
if (!$db_selected)
    die (\'Cannot select database : \' . mysql_error());

# execute search query
$sql = \'SELECT * FROM `test_table` LIMIT 20\';
$result = mysql_query($sql);

# check result
if (!$result)
    die(\'Could not successfully run query: \' . mysql_error());

# display returned data
if (mysql_num_rows($result) > 0)
{
    ?>
    <form action=\"\" method=\"post\">
    <table style=\"border: 1px solid black\">
        <?php
            while ($row = mysql_fetch_assoc($result))
            {
                echo \'<tr><td>\';
                echo \'<input type=\"checkbox\" name=\"selected[]\" value=\"\'.$row[\'id\'].\'\"/>\';
                echo \'</td>\';
                foreach ($row as $key => $value)
                    echo \'<td>\'.htmlspecialchars($value).\'</td>\';
                echo \'</tr>\';
            }
        ?>
    </table>
    <input type=\"submit\"/>
    </form>
    <?php
}
else
    echo \'<p>No data</p>\';

# free resources
mysql_free_result($result);

# display posted data
echo \'<pre>\';
print_r($_POST);
echo \'</pre>\';

?>
    ,基本上是这样的:
$sql = \"select primaryKey,field1,field2,... FROM table\"
$result = mysql_query($sql) or die(mysql_error());

echo <<<EOL;
<form ...>
<table>
<tr>
    <th></th>
    <th>Field 1</th>
    <th>Field 2</th>
    ...
</tr>

EOL;

while ($row = mysql_fetch_asssoc($result)) {
    echo <<<EOL
<tr>
    <td><input type=\"checkbox\" name=\"primaryKey[]\" value=\"{$row[\'primaryKey\']}\" /></td>
    <td>{$row[\'field1\']}</td>
    <td>{$row[\'field2\']}</td>
    ...
</tr>

EOL;
}

echo <<<EOL
</table>
<input type=\"submit\" />
</form>

EOL;
如果您将列表表示为
<select>
,则基本逻辑的工作原理相同,只需调整html以输出
<select>
和所需的一系列
<option>
\。