0

我正在尝试在 PHP 中解析日期。我复制了几个示例的一部分,但它不起作用。我想做的是:我有一个 PHP 文件,它接收一个变量“parttype”并运行一个查询。

<?php

$parttype = $_POST['parttype'];
 echo "$parttype";              

$conn = mysqli_connect("127.0.0.1", "root", "") or die ("No connection");
mysqli_select_db($conn , "shop") or die ("db will not open");

$query = "SELECT * from parts where parttype='$parttype'";
$result = mysqli_query($conn, $query) or die("Invalid query");

echo '<table border="1" align ="center"><tr><th>Id</th><th>Name</th><th>Price</th><th>InStock</th><th>Description</th><th>SUpplier</th><th>Quantity</th><th>Remove</th></tr>';

while($row = mysqli_fetch_array($result))
  {
  echo "<tr><form action='ppcomppartout.php' method='post'><td><input type='hidden' name='partid' value='$row[0]'>" . $row[0] . "</td><td>" . $row[1] . "</td><td>" . $row[2] . "</td><td>" . $row[3] . "</td><td>" . $row[5] . "</td><td>" . $row[6] . "</td>
  <td><input type='text' name='qtty' placeholder='0'></td><td>Buy <input type='submit'></td>
  </form></tr>";
  }  

echo "</table>";

mysqli_close($conn);                                       

 ?>

然后在 index.php 中,我有一个function get()将变量发布到 data.php 和另一个不起作用的函数 - function parse(data)。我最终插入了一个按钮来获得一些结果,但我希望在更改选择框上的值后立即显示结果。

 <html>
    <head>

    <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.1.js"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>

<script type="text/javascript">

function get() {
    $.post("data.php", {parttype: form.parttype.value },
    function(output) {
        $("#output").html(output).show();
    });
    }


function parse(data){
 $('#output').append('<select>');

 $("select").on("change", function(evt) 
        {
          line_record( $("select option:selected").index(),data)
        });

}       

 </script>
</head>
<body>

 <form name="form">

     <select name="parttype" style="width: 117px">
<?php

$con = mysqli_connect("127.0.0.1", "root", "") or die ("No connection");
mysqli_select_db($con , "shop") or die ("db will not open");

$query = "SELECT distinct parttype from parts";
$result = mysqli_query($con, $query) or die("Invalid query");

while($rows = mysqli_fetch_array($result)) {
   echo "<option value=\"" . $rows[0] . "\">" . $rows[0] . "   </option>";
}
echo "</select>";

mysqli_close($con);
?>
     </select>

<!--<input type="submit" value="OK!!"/>-->
 </form>
<!--<input type="text" name="parttype">-->

<!--<input type="button" value="Get" onClick="get();" >-->
<input type="submit" value="Get" onClick="get();" >

 </form> 

  <div id="output"></div>

</body>
</html>

有人可以帮忙吗?我做错了什么??

4

1 回答 1

0

你没有具体说明问题是什么,但你应该一步一步来。

get()您将遇到的第一个问题可能是在页面加载时调用您的函数。您发送到 php 脚本的数据是:

{parttype: form.parttype.value }

whereform.parttype.value似乎是未定义的。如果要发送表单的值,可以将其更改为:

$("form").serialize()

您还应该检查您的 html 源代码,因为似乎有多个结束form标记。

注意:$_POST在 sql 查询中转储变量,没有任何验证或转义。您应该真正切换到准备好的语句,因为您的代码容易受到 sql 注入的影响。

于 2013-03-25T17:26:55.173 回答