0
+-----+-------+--------+
  ID  | Owner | Number |
+-----+-------+--------+
 com1 | peter | 103045 |
+-----+-------+--------+
 com2 | deter | 103864 |
+-----+-------+--------+

やあみんな。私は、ユーザーが特定のIDを入力することを想定しているプロジェクトのこの部分に取り組んでいます。彼がこの特定のIDを入力すると、そのIDの行のすべてが印刷されることになります。この場合、彼がcom1と入力すると、次のように表示されます。

+-----+-------+--------+
  ID  | Owner | Number |
+-----+-------+--------+
 com1 | peter | 103045 |
+-----+-------+--------+

私はこのフォームとコードを使用しました:

form.php

    <form action="query.php" method="POST">
    Enter your ID: <input type="varchar" name="id" /><br />
    <input type="submit" value="Audit" />
    </form> 

query.php

   $con = mysql_connect("localhost", "root", "");
    if (!$con)
        {
        die('Could not connect: ' . mysql_error());
        }

    mysql_select_db("livemigrationauditingdb", $con);


    $input = (int) $_POST['id'];
    $query = mysql_query("SELECT * FROM system_audit WHERE ID = $input");

    echo "<table border='1'>
    <tr>
    <th>ID</th>
    <th>Owner</th>
    <th>Number</th>
    </tr>";


    while($row = mysql_fetch_array($query))
    {
      echo "<tr>";
      echo "<td>" . $row['ID'] . "</td>";
      echo "<td>" . $row['Owner'] . "</td>";
      echo "<td>" . $row['Number'] . "</td>";
      echo "</tr>";
      }
    echo "</table>";

    mysql_close($con); 

あなたたちは間違いを知っていると思いますか?ああ、それを他のページにリンクしないようにするために私のために離れていますか?フォームとコードを1ページに収める必要があります。現在、私のフォームはquery.phpにリンクしています。この行をキャンセルする方法はありますが、それでも機能します。ありがとう!

4

2 に答える 2

1

$ input =(int)$ _POST ['id']から(int)を削除してみてください。

于 2012-09-08T18:07:02.670 に答える
0

削除してみてください

while($row = mysql_fetch_array($query)) 

そしてそれを

while($row = mysql_fetch_row($result))

(int) も削除して、それが役立つかどうかを確認します。

  echo "<td>" . $row['ID'] . "</td>";
  echo "<td>" . $row['Owner'] . "</td>";
  echo "<td>" . $row['Number'] . "</td>";

で置き換えることができます

  echo "<td>" . $row[0] . "</td>";
  echo "<td>" . $row[1] . "</td>";
  echo "<td>" . $row[2] . "</td>";

示されているように、両方を同じページに表示することもできます

<?php

    $con = mysql_connect("localhost", "root", "");
    if (!$con)
        {
        die('Could not connect: ' . mysql_error());
        }

    mysql_select_db("livemigrationauditingdb", $con);


    $input = (int) $_POST['id'];

    if($input)
    {
      $query = mysql_query("SELECT * FROM system_audit WHERE ID = $input");

      echo "<table border='1'>
      <tr>
      <th>ID</th>
      <th>Owner</th>
      <th>Number</th>
      </tr>";


      while($row = mysql_fetch_row($query))
      {
        echo "<tr>";
        echo "<td>" . $row[0] . "</td>";
        echo "<td>" . $row[1] . "</td>";
        echo "<td>" . $row[2] . "</td>";
        echo "</tr>";
      }
      echo "</table>";
    }

    mysql_close($con); 
?>   

    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    Enter your ID: <input type="varchar" name="id" /><br />
    <input type="submit" value="Audit" />
    </form>

?>
于 2012-09-08T18:12:31.003 に答える