PHP。根据下拉框中选择的选项显示 SQL 表的内容

标签 php mysql sql

很抱歉,如果有人问过这个问题并回答过这个问题,但我已经看过了,但在任何地方都看不到它。是的,我是个菜鸟。

我有一个数据库,里面有 3 张 table :面粉、填料和其他。

我想做的是有一个下拉列表。因此,如果用户从下拉框中选择面粉,它将显示面粉表。如果用户选择填充符,则显示填充符表。

希望这是清楚的。我希望你能帮忙。提前致谢。

<Form id="form1" name="form1" method="get" >
Supplies of
<select name=filler action="flour.php">
<option value="1" selected>flour</option>
<option value="2">filler</option>
<option value="3">others</option>
</select>
<input type="submit" value="Submit" />
</form>


<?php
header("Content-Type: text/html; charset=windows-1251");
@mysql_connect('localhost','root','');
@mysql_select_db('krendel');
@mysql_query('SET NAMES cp1251'); 
$res = mysql_query("SELECT * FROM `flour` ") or die(mysql_error());
$res2 = mysql_query("SELECT * FROM `filler` ") or die(mysql_error());
$res3 = mysql_query("SELECT * FROM `addit` ") or die(mysql_error());

最佳答案

将操作添加到表单,而不是选择元素。所以你会有

<form method="get" action="flour.php">

在您的表单处理脚本(flour.php)中,您可以这样做:

switch($_GET['filler'])
{
    case '1':
       $table = 'flour';
       break;
    case '2':
       $table = 'filler';
       break;
    case '3':
    default:
       $table = 'addit';

}

$res = mysql_query("SELECT * FROM {$table}");

如果所有表都具有相同的结构,请考虑合并这些表,并添加一个类型列(为简单起见,varchar 包含面粉、填料或添加物)。 然后您可以像这样编写查询(仍然使用 $table 变量名称来处理上面的代码。

$res = mysql_query("SELECT * FROM table WHERE type='{$table}'");

现在使用 mysql_query 并将变量连接到 SQL 中并不是一个好习惯 - 了解更多信息后,请查看 PDO 和参数化查询。

一些快速而肮脏的显示代码:

<?php 
$results = array();
while($row = mysql_fetch_array($res, MYSQL_ASSOC)) { ?>
    $results[] = $row;
} 
?>

<table>
    <?php foreach($results as $result) { ?>
        <td><?php echo $result['column_name'] ?></td>
    <?php } ?>
</table>

这应该可以帮助您入门 - 正如我上面所说,它既快速又肮脏。当您获得更多知识时,您将能够对此进行改进(例如,正确地将 HTML 与 PHP 分开 - 阅读 MVC 以及其他模式确实值得)。 只是不要在生产系统上使用此代码!

希望这有帮助。

关于PHP。根据下拉框中选择的选项显示 SQL 表的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20305184/

相关文章:

PHP 5 SoapServer 用法?

PHP - PDO 引用可以安全地避免 SQL 注入(inject)吗?

php - 如何使用超出您的 PHP 版本的函数?

php - jQuery Datatables 在动态创建行标题时抛出错误

sql - T-SQL/SSIS - 使用主/外键重新设计后表锁定

基于来自另一个表的 SELECT 的 SQL UPDATE

sql - Oracle:检查 dml 语句

php - 从 php 运行 bash 脚本

mysql - 合并来自不同数据库的表

mysql - 转置 MySQL 查询的结果