我不知道该怎么做,但我有一个SQL数据库,我在那里查询信息。我想在一个网页上的列表中显示查询结果,并在开头有一个复选框,以便用户可以选择他们想要修改的信息记录。
我的数据库有超过20列,但我只想显示与我搜索的查询有关的5列数据。目前,我在文本字段中重新填充了数据。但我想更进一步,将数据显示在水平列表中。
基本上是这样的:
客户端在数据库中搜索订单。假设有两个不同的订单匹配数据库中的搜索条件。我想在数据库中为这两个订单显示5列数据,每个订单旁边都有一个复选框,这样客户就可以选择要修改的订单。
我不确定用于在带有复选框的列表中显示sql数据的代码。谢谢!
答案 0 :(得分:2)
以下代码演示了如何:
请注意您可能需要修改的一些参数,例如:数据库名称,用户名,密码,主键名称(“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>';
?>
答案 1 :(得分:0)
基本上是这样的:
$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>
。< / p>