0

おはようございます、

PHPで旅を続けている間、私はここで何かを理解しようとしています。タブ付きのHTMLドキュメントがあります。1つのタブで、パラメーターをPHPファイルに渡し、計算を実行して結果を表示します。問題は、送信ボタンがクリックされるとすぐに、タブエクスペリエンス全体がなくなり、結果が新しいページに表示されることです。私が理解しようとしているのは、ユーザーが表示しているタブに回答をエコーバックする方法です。問題のタブのコードは次のとおりです。回答用のフィールドがあります。このフィールドに、クエリの結果を入力します。ここで問題の部門を紹介します。

<div id="tab1">
<p>Check a price</p>
<form action="rating.php" method="post">Miles: <input name="miles" type="text" /> 
<input name="submit" value="Submit" type="submit" /></form><br/>
<input type="text" value="<?php echo $ratepermile; ?>"></div>

ここで、$ ratepermileは、rating.phpによって実行されたクエリから取得されるフィールドの1つです。そしてもちろん、そのファイルで実行したい他の計算がある場合は、それらの回答を渡してタブ内に表示できるようにしたいと思います。

Rating.phpでは、データベースに正常に接続し、回答を正常に表示しますが、新しい画面に表示されます。選択した値が使用可能であり、HTMLファイルに戻されることを確認するための何かが不足していますか?これが私の選択に使用するコードの一部です(このクエリの結果が必要な場所でグローバルに利用可能であると仮定して、現在このコードで結果を出力するだけです。かどうかはわかりませんそれはそれが笑いながらどのように機能するかです。)

$miles = (int)$_POST['miles'];

try {
    $dbh = new PDO("mysql:host=$hostname;dbname=ratetable", $username, $password);

    echo 'Connected to database<br />';

    $sql = "SELECT * FROM rates WHERE mileage<=$miles ORDER BY mileage DESC LIMIT 1";
    foreach ($dbh->query($sql) as $row)
        { 
        print $row['ratepermile'] . <br />';
    }

    $dbh = null;
}
catch(PDOException $e)
    {
    echo $e->getMessage();
    }
?>

ご覧いただきありがとうございます。

4

1 に答える 1

1

AJAXを使用して、パラメーターを含むリクエストをPHPスクリプトに非同期で送信し、サーバーが結果を返したら、タブ付きページに結果を表示する必要があります。jQueryを使用している場合は、をご覧ください$.post()

于 2013-01-10T17:31:18.670 に答える