使用表条目加一个填充文本框?

时间:2018-06-01 15:45:44

标签: php html mysql

我正在尝试根据最后一个条目增加项目编号。主键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;?>

2 个答案:

答案 0 :(得分:0)

  

但它看起来就像你拥有它而不是内部的'1'   它会显示'19000'并且除了之外什么也没有   标签“项目编号”以外的框。据我所知,你可以   无论输入是什么,都为文本框分配值。一世   希望它显示一个字段名称的值,但实际上   包含来自不同字段名称的值。两者都是一样的   当然是表。

好的 - 抓住了。不幸的是,你做不到。文本框只能有一个值,用户可以随时更改该值,即使您将其设为只读。您可以使用浏览器中的开发人员工具栏对其进行测试。可能是提及所有用户输入应被视为危险的好时机,您永远不应该相信它。提交表单后,您需要对其进行验证。

change value through developer toolbar

我建议您使用隐藏的<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