我想做的是找到一种方法从页面来源“隐藏”选项价值列表。
我已经成功创建了一个包含多个下拉菜单的页面(现在6个,总共将超过15个);数据库查询正在工作,下拉工作正在进行,发布选择和结果在单独的处理页面中可见,但是,HOWEVER; 选项值显示在页面源中。
页面设计(对于此示例) test.php - 包含db connect(将更改它以便稍后将include_once分开),查询,选项值代码和表数据。 index.php - 只包含一个调用test.php的include语句。
在浏览器中运行test.php会暴露查询(我不想要)并加载包含test.php的索引隐藏查询,但会显示我不想拥有的选项。 我到处搜索(也许我没有正确地问这个问题)并试图在一个页面中运行sql并将结果发布到另一个页面,但我无法让它工作。
我想做什么: 在单独的“函数”页面中运行MySQL查询,然后将输出(选择名称)调用到另一个(HTML)页面,并将下拉列表嵌入到表格的单元格中。
问题:
test.php(缩短示例)
<!--mo-->
<td colspan="2"><div align="right"><font face="Arial, Helvetica, sans-serif">
<?php
$query = "SELECT date_code_mo, date_code_mo_desc FROM tbl_gm_assy_date_code_mo ORDER BY date_code_mo ASC";
echo '<select name="date_mo">';
if ($result = mysqli_query($link, $query)) {
while ($row = mysqli_fetch_assoc($result)) {
echo '<option value="' . $row['date_code_mo_desc'] . '">' . $row['date_code_mo'] . '</option>';
}
mysqli_free_result($result);
}
echo '</select>';
?>
</font></div></td>
<!--week-->
<td colspan="2"><div align="left"><font face="Arial, Helvetica, sans-serif">
<?php
$query = "SELECT date_code_wk, date_code_wk_desc FROM tbl_gm_assy_date_code_wk ORDER BY date_code_wk ASC";
echo '<select name="date_wk">';
if ($result = mysqli_query($link, $query)) {
while ($row = mysqli_fetch_assoc($result)) {
echo '<option value="' . $row['date_code_wk_desc'] . '">' . $row['date_code_wk'] . '</option>';
}
mysqli_free_result($result);
}
echo '</select>';
?>
index.php source(表定义未显示)
<select name="date_mo"><option value="Janurary">01</option><option value="Feburary">02</option><option value="March">03</option><option value="April">04</option><option value="May">05</option><option value="June">06</option><option value="July">07</option><option value="August">08</option><option value="September">09</option><option value="October">10</option><option value="November">11</option><option value="December">12</option></select>
<select name="date_wk"><option value="First">A</option><option value="Second">B</option><option value="Third">C</option><option value="Fourth">D</option><option value="Fifth">E</option></select>
我已经在这里使用了很多可用的示例来实现这一目标,我确信这是一个很小的错过,无论如何,感谢你们所有人!
答案 0 :(得分:0)
我不确定我是否理解你的问题..
1) 我不明白为什么你担心页面源中的选项值,它们只是一个发送到服务器的值。它们被解释并得到它们的意义。您可以将它们更改为您想要的任何内容。只有客户端代码(显示选项标签的位置)对用户可见,服务器端代码对用户不可见。 - &GT;用户可以看到选项标签的值,但不知道你将在服务器端做什么。
2)见1)
3)提交表单时,会将值发送到使用action属性指定的URL:
<form action="evaluate.php" method="post">
...
</form>
evaluate.php的输出将发送给客户端 - &gt;这是用户将看到的下一页。有关形成下拉菜单的语法,请在此处查看: Pre-filling select tags from array
要检索值send,请查看:
$ _ GET ['varname']或$ _POST ['varname']数组。根据表单标记中指定的方法,发送的值将存储在此处。
其中varname =表单元素的名称attirbute。根据元素的类型,提取值或多或少是微不足道的。有大量的教程,很容易找到。
我还建议您查看以下主题: How can I prevent SQL injection in PHP?
答案 1 :(得分:0)
您正在寻找级联下拉菜单,这是在您的情况下管理它的最佳方式。这个问题已在这里得到解答:
How to make a Cascading Drop Down List in PHP using jQuery
它使用了一个基于所选国家/地区选择城市的经典示例,但您可以通过为除最后一个下拉列表之外的所有下拉列表添加.change()函数并添加返回正确的清单。
如果你想查看它,还有一个JQuery插件: