试图在<select>中显示数据,但是提交后数据库中什么也没有显示

时间:2018-07-26 14:52:32

标签: php html mysql

if(isset($ _ POST ['submit'])){     $患者姓名= $ _POST ['患者姓名'];     $ task = $ _POST ['task'];     $ description = $ _POST ['description'];     $ status = $ _POST ['status'];     $ date = date('Y-m-d H:i:s');     $ query = $ db-> query(“ INSERT INTO task VALUES(”,'$ Patientname','$ task', '$ description','$ status','$ date')“);
  
     <请选择class =“ form-control” name =“患者姓名”>              <?php       $ stmt = $ dbcon-> prepare(“ SELECT * FROM users”);       $ stmt-> execute();       while($ row = $ stmt-> fetch(PDO :: FETCH_ASSOC)){           提取($行);           回声“ <选项值=”> $类型$用户名$姓氏”;       }   ?           我不知道出了什么问题,但是当我将这些数据提交到数据库时,它显示为空白。希望您能为我提供帮助。那是数据库的输出。整个代码在同一个php文件中运行

2 个答案:

答案 0 :(得分:1)

您的选项未设置任何值。 SELECT *, SUM(t.DoQty) OVER (PARTITION BY t.DoID) as Available From t; 属性中的字符串是value变量中出现的字符串。

所以你有

$_POST['patientname']

更改为喜欢

echo "<option value=''> $type $username $Lastname</optioin>";

但是,您确实还有一些其他问题需要克服,例如SQL注入预防,以及在html中转义数据,因此如果用户名中包含被认为是html的任何内容,则html不会中断。例如,最好像这样回显您的选项:

echo "<option value='$username $Lastname'> $type $username $Lastname</option>";
//                        ^-add the value you want                      ^- fixed typo

答案 1 :(得分:0)

我的代码中有很多问题。

首先,您的“期权”中没有任何值。

我的猜测是您需要这样的东西:

int

然后,您再也不会提交echo "<option value='$username $Lastname'> $type $username $Lastname</option>"; taskdescription,因此您应该将它们以status字段的形式保存。像这样:

<input>

然后您会遇到一些语法问题,例如您永远不会在此处打开和关闭php标签

<input type="text" name="task"></input>

及以后,您只有<?php if(isset($_POST['submit'])){ $patientname = $_POST['patientname']; $task = $_POST['task']; $description = $_POST['description']; $status = $_POST['status']; $date = date('Y-m-d H:i:s'); $query = $db ->query("INSERT INTO task VALUES('','$patientname', '$task', '$description', '$status', '$date')"); ?> 而不是?

以及?>代替</optioin>

而且您永远不会用</option>关闭<div class="form-group">