我正在尝试根据最后一个条目增加项目编号。主键PROJECTNOID自动递增,但格式与项目编号不同(例如:PROJECTNOID = 1,项目编号= 19000)。我不希望这是一个下拉框,即使我的一些代码显示相反。
<?php
connect = mysqli_connect("**", "**", "**", "**");
$query4 = "SELECT PROJECTNOID, ProjectNumber FROM tblProjects ORDER BY
PROJECTNOID";
$result4 = mysqli_query($connect,$query4);
$options4 = "";
while($row4 = mysqli_fetch_row($result4);){
$options4 = $options4."<input value=$row4[0]$row4[1]</input>";
}
?>
这是html文本框:
<label for="txtfield">Project Number</label>
<!--<input type="text" id="reqtxtfield" name="projectnumber"
value="<?php ?>" readonly/>-->
<?php echo $options4;?>
答案 0 :(得分:0)
但它看起来就像你拥有它而不是内部的'1' 它会显示'19000'并且除了之外什么也没有 标签“项目编号”以外的框。据我所知,你可以 无论输入是什么,都为文本框分配值。一世 希望它显示一个字段名称的值,但实际上 包含来自不同字段名称的值。两者都是一样的 当然是表。
好的 - 抓住了。不幸的是,你做不到。文本框只能有一个值,用户可以随时更改该值,即使您将其设为只读。您可以使用浏览器中的开发人员工具栏对其进行测试。可能是提及所有用户输入应被视为危险的好时机,您永远不应该相信它。提交表单后,您需要对其进行验证。
我建议您使用隐藏的<input>
,其中包含您实际想要提交的值; projectnoid。然后,您可以以您选择的任何方式显示项目编号。
<form>
<h1>Project Number: 19000</h1>
<input type="hidden" name="projectnoid" value="1">
<input type="submit" name="submit">
</form>
要生成此内容,您需要:
<?php
while($row4 = mysqli_fetch_row($result4)){
$projectnoid = $row[0];
$projectNumber = $row[1];
echo '<h1>' . $projectNumber . '</h1>';
echo '<input type="hidden" name="projectnoid" value="'. $projectnoid .'">
}
答案 1 :(得分:0)
PHP:
<?php
$query_5 = "SELECT MAX(ProjectNumber) FROM tblProjects;";
$result_5 = mysqli_query($conn, $query_5);
$row_5 = mysqli_fetch_array($result_5);
$nextproject=$row_5['MAX(ProjectNumber)']+1;
?>
HTML:
<html>
<form class="myform" action="<?php echo htmlspecialchars($_SERVER[" PHP_SELF "]);?>" method="post">
<label for="txtfield">Project Number</label>
<input type="text" id="reqtxtfield" name="projectnumber" value="<?php echo $nextproject ?>" readonly/><br>
运行成功的插入查询后:
echo "<meta http-equiv='refresh' content='0'>"; //REFRESH PAGE TO UPDATE PROJECT NUMBER