0

PHPで日付を解析しようとしています。いくつかの例の一部をコピーしましたが、機能していません。私がやろうとしているのは、変数「parttype」を受け取り、クエリを実行するPHPファイルがあります。

<?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 }

どこform.parttype.valueが未定義のようです。フォームの値を送信する場合は、次のように変更できます。

$("form").serialize()

form複数の終了タグがあるように見えるため、html ソースも確認する必要があります。

注:$_POST検証やエスケープを行わずに、SQL クエリで変数をダンプしています。コードはSQLインジェクションに対して脆弱であるため、準備済みステートメントに実際に切り替える必要があります。

于 2013-03-25T17:26:55.173 に答える