我目前正在忙于创建一个非常小的,基本上非常基本的文档管理系统,我们计划用它来管理我们的文档,以便在公司中进行软件/硬件故障排除。
我知道或者已经读过我想在这里完成的事情可以使用AJAX / jquery以及其他可能的东西来完成......但我试图让它尽可能简单。在这个问题上,我还读到,我尝试的这个或类似的事情不能仅使用php来完成。
我的另一个选择是创建3个单独的页面,每个选项1个,然后在最后一页上,您可以使用所有必填字段将word文档添加/上传到数据库。
尽可能将其保留在一个页面上...... 关于如何在不使用花哨的AJAX或JQUERY代码的情况下完成此任务的任何建议?
这是我到目前为止的代码...我还没有添加实际的表单标签...因为我首先想看看你们提出的建议:)
<h2 class="gap-1">Select Software</h2>
<p>
<select name="software">
<option selected>Select Software/Application</option>
<?php
$host = "****";
$db_user = "****";
$db_pass = "****";
$db = "****";
$link=mysql_connect($host, $db_user, $db_pass) or die ("Error connecting to mysql server: ".mysql_error());
mysql_select_db($db, $link) or die ("Error selecting specified database on mysql server: ".mysql_error());
$query1="SELECT * FROM software";
$result1=mysql_query($query1) or die ("Query to get data from software Table failed: ".mysql_error());
while ($row=mysql_fetch_array($result1)) {
$software_id=$row["software_id"];
$software_name=$row["software_name"];
echo "<option value=\"$software_id\">$software_name</option>";
}
?>
</select>
</p>
<br />
<h2 class="gap-1">Link to Error/Problem</h2>
<p>
<select name="software">
<option selected>Select Error/Problem</option>
<?php
$host = "****";
$db_user = "****";
$db_pass = "****";
$db = "****";
$link=mysql_connect($host, $db_user, $db_pass) or die ("Error connecting to mysql server: ".mysql_error());
mysql_select_db($db, $link) or die ("Error selecting specified database on mysql server: ".mysql_error());
$query1="SELECT * FROM errors WHERE software_id = 3";
$result1=mysql_query($query1) or die ("Query to get data from software Table failed: ".mysql_error());
while ($row=mysql_fetch_array($result1)) {
$error_id=$row["error_id"];
$error_discription=$row["error_discription"];
echo "<option value=\"$error_id\">$error_discription</option>";
}
?>
</select>
</p>
<br />
<h2 class="gap-1">Add Document</h2>
<p>
<input type="file">
</p>
如果我执行单独的页面操作,我将有一个页面来选择软件,另一个页面用于选择错误,然后在最后一页上将doc上载到数据库并在必要时添加软件和错误ID。 / p>
答案 0 :(得分:1)
首先,正如我在评论中所说,mysql_
函数已被弃用,可能会在以后的PHP版本中停止工作,因此您应该使用PDO进行新开发。
但是做你想要的就像使用javascript在更改选择时提交表单一样简单:
<form name='formname' action='theSamePage.php' method='get'>
<select name='whatever' onChange='document.formname.submit();'>
在SQL中获取WHERE子句。如果未设置先前的选择,您甚至不会运行SQL或打印下一个下拉列表的选项,而且确实如此。
此外,当您循环遍历数据库中的选项以将其打印出来时,请检查数据库中的当前选项是否等于请求中收到的选项(如果已设置),如果是,则检查是否只打印{{ 1}}打印<option value='x'>x</option>
以在页面刷新时保持选项。
从<option value='x' selected='true'>x</option>
中选择,因为这将使总是选中空白选项。如果尚未选择任何选项,则无论如何,浏览器的工作方式始终会将第一个选择视为已选择。