0

SQLデータベースに接続し、テーブルから情報を取得してテキストボックスに配置するWebページを作成しようとしています。フェッチする情報は、別のテキストボックスに入力された内容によって異なります。本質的には、情報の「自動入力」です。これが可能かどうか興味がありました。

ここで理解を深めるために、テキストボックスのレイアウトを示します。

<html>
<head>
<?php
$con = mssql_connect("abc", "123", "password");
if (!$con)
  {
  die('Could not connect: ' . mssql_get_last_message());
  }

mssql_select_db("db1", $con);

$result = mssql_query("SELECT * FROM FormData");
<head>

<title>test</title>

</head>

<body>
    <h1>test</h1>

    <form action="#">

        <p>Enter ID</p>

        <input type="text" name="ID"/> 
        <input type="text" name="NAME"/> 
        <input type="text" name="LASTNAME"/> 
        <input type ="button" value="submit" onclick="check(ID)" />



    </form>
</body>

ここでは、IDがテキストボックスに入力され、送信ボタンが押されると、残りの情報が私のsqlデータベースから次のボックスにフェッチされます。これが可能かどうか、Javascriptをこれと組み合わせて使用​​できるかどうかさえわかりません。私は検索しましたが、このテーマについて多くの助けを見つけることができませんでした。

SQL内で「if」ステートメントを実行できるかどうかさえわかりません。試行するたびに、不適切な構文が原因で500エラーが発生します。

4

1 に答える 1

0

私があなたを正しく理解しているなら、あなたがする必要があるのは、彼らが入力したIDをキャプチャするフォームの提出だけです。

IDがまだ送信されていない場合(初めてページにアクセスした場合、またはIDの入力に失敗した場合)、クエリを実行せず、次のように空白の$row配列を作成する必要があります。

$row = array("ID" => "", "NAME" => "", "LASTNAME" => "");

次に、この配列を使用してフォームフィールドに入力する必要があります<input type="text" name="NAME" value="<?php echo $row['NAME']; ?>"/>

IDが送信されている場合は、SQLクエリでこのIDを使用します"SELECT * FROM FormData WHERE ID = $_POST['ID']"(注:これは例です。SQLインジェクションを防ぐためにPOSTデータをエスケープする必要があります)。

次に、この結果を$ row配列にプルする必要があります。この配列$row = mysql_fetch_row($result)は、フィールドで値を設定するために使用されます。

この手順全体をAJAXで実行できるため、ページ全体の送信を実行する必要はありませんが、例に基づいて、私が提供したソリューションで十分です。

于 2012-05-12T12:43:16.857 に答える