0

こんにちは、jquery に関数があり、$.Post を使用して、クエリが正常に機能し、データを送り返す php ファイルにデータを送信します。

js

function send_agenda_data(cidade_data){
        var data = {'cidade_data':cidade_data};
        $.post('includes/agenda_data.php',data,function(info){

        });
    }

この機能は正常に機能し、データが戻ってくることを警告すると、それも正常に機能します

ここにphpがあります

<?php
    include_once("connection.php");
    $cidade_data = $_POST['cidade_data'];

    if (isset($cidade_data)) {
        $sql = mysql_query("select * from agenda where cidade = '$cidade_data'", $con) or die(mysql_error());
        if (mysql_num_rows($sql) > 0) {
            while ($data = mysql_fetch_object($sql))
            {
                $date = $data->data;
                $cidade = htmlentities($data->cidade); 
                $estado = htmlentities($data->estado); 
                $local = htmlentities($data->local);            
                $endereco = htmlentities($data->endereco); 
                $site_local = htmlentities($data->site_local);
                $site_ingresso = htmlentities($data->site_ingresso); 
                $endereco = htmlentities($data->endereco); 
            }
        }
        else{
           echo "No Data";       
        }
    }

?>

これは、phpを使用して直接使用し、タグ内の変数を今すぐエコーする場合に正常に機能します

    $.post('includes/agenda_data.php',data,function(info){
                //need data here            
});

ここでjsでphpから返されたデータを取得する方法と、そのデータをタグに割り当てる方法を知りたいです。また、php に while ループがあることを知りたい場合は、すべての行に入力するためのループもここにありますか?

Webページで直接phpを使用する場合、whileループでこのように使用できます

<div><?php echo $date; ?></div>
<div><?php echo $cidade; ?></div>
<div><?php echo $estado; ?></div>
<div><?php echo $local; ?></div>
.
.
.

どうすれば $.Post ケースに入ることができますか

4

3 に答える 3

0

次の例のようにクラスを割り当てて、jQuery を使用して div の内容を埋めてみませんか。

<div class="date"><?php echo $date; ?></ div>
<div class="cidade"><?php echo $cidade; ?></ div>
<div class="estado"><?php echo $estado; ?></ div>
<div class="local"><?php echo $local; ?></ div>

jQuery を$.post使用すると、返された情報を取得し、このように統合することに成功しました。

$('.date').html(info[0]['date']);

于 2013-09-06T14:25:06.067 に答える
0

$.post は AJAX 呼び出しであるため、結果を使用できることを確認するには、PHP で結果をエコーする必要があります。

使ってみて

echo json_encode($your_data)

また、クライアント側 (ブラウザー) でデータを使用するには、 http://api.jquery.com/jQuery.parseJSON/を使用できます。

その parseJSON が使用されるため、データをより簡単に使用できます。

于 2013-09-06T14:13:45.480 に答える
0

あなたのループはやや間違っています。各行のデータを取得してから、それらすべての変数で前の行のデータを上書きするだけです。結果の配列を作成する必要があります。これをクライアント側の JS コードに送信できます。たとえば、次のようなもの

$data
while($row = mysql_fetch_assoc($result)) {
     $data[] = $row;
}

echo json_encode($data);

クライアント側では、繰り返し処理できるオブジェクトの配列を受け取ります。

$.post('includes/agenda_data.php',data,function(data){
    $.each(data, function(idx, row) {
        $('#date').innerHTML = row['date'];
        ...
    });
});

そのJSループで何をするかはあなた次第です。

また、PHP コードはSQL インジェクション攻撃に対して脆弱であることに注意してください。

于 2013-09-06T14:11:22.937 に答える