目前我正在练习HTML / PHP / MySQL,我正在开展一个小项目。
我创建了一个页面,允许用户从MySQL表中找到的记录中读取数据。用户可以通过PHP表单单击值下拉列表。
该数据库适用于商店,有1张桌子。该表称为“产品”。当我单击产品ID的下拉列表时,产品ID中的数据将显示在页面上。
我试图将这个PHP代码嵌入到php文件中。它显示了所有数据,这不是我想要的。我想允许用户从下拉列表中选择任何项目,然后当用户选择其中一个项目时,它将在PHP页面上显示该表格。
以下是代码:
<div class="container">
<br>
<br>
<?php
//load_data_select
function fill_settlement($conn) {
$output = '';
$sqlDropDownSettlementID = "SELECT * FROM `settlements` where total_amount";
$DropDownSettlementID = mysqli_query($conn, $sqlDropDownSettlementID);
while ($row = mysqli_fetch_array($DropDownSettlementID)) {
$output .= '<option value="' . $row["settlement_id"] . '">' . $row["settlement_id"] . '</option>';
}
return $output;
}
function fill_product($connect) {
$output = '';
$sql = "SELECT * FROM `settlements` where total_amount";
$dropdownresult = mysqli_query($connect, $sql);
while ($row = mysqli_fetch_array($dropdownresult)) {
$output .= '<table class="table table-bordered table-striped table-hover table-condensed table-responsive">';
$output .= '<tr>';
$output .= '<td>' . $row["sku"] . '</td>';
$output .= '<td>' . $row["settlement_start_date"] . '</td>';
$output .= '<td>' . $row["settlement_end_date"] . '</td>';
$output .= '<td>' . $row["currency"] . '</td>';
$output .= '<td>' . $row["total_amount"] . '</td>';
$output .= '</tr>';
$output .= '</table>';
}
return $output;
}
?>
<div class="container">
<label class="col-sm-3 control-label">Settlement ID</label>
<div class="col-sm-3">
<select class="form-control" name="Settlement" id="Settlement">
<option value="">Show All Product</option>
<?php echo fill_settlement($conn); ?>
</select>
</div>
<br><br>
<div class="row" id="show_product">
<?php echo fill_product($conn); ?>
</div>
</div>
我能够获取下拉列表中的数据,但是当我从下拉列表中单击某个项目时,我无法获得正确的数据,我希望在屏幕上填充正确的数据。
我在Google上搜索过帮助或建议,但我找不到合适的信息。
答案 0 :(得分:0)
您有两种可能性:
这两种方法都在这里解释:
表格:https://www.w3schools.com/php/php_forms.asp
AJAX:https://www.w3schools.com/js/js_ajax_intro.asp
答案 1 :(得分:0)
仔细查看您的代码。第一个红旗应该是您使用相同的查询来获取所有选项以及单个产品。
您的fill_product
方法没有参数来识别您想要的产品。
首先,我建议你查看html表单的工作原理。 页面的基本工作流程应该是:
fill_product
方法中为settlement_id添加一个参数,并更改查询where
子句以获取用户选择的单行。有关如何将选择传递到服务器的详细信息,您有多种选择 - POST / GET表单是最简单的选择。或者如果你想要看上去,你可以查看更高级的javascript和AJAX。