1

複数のアイテムを含む mysql データベースがあり、この mysql データベース内のアイテムの数に応じて、jquery を介してフッター セクションのトップ プロパティを変更したいと考えています。

これは、newsletter.php のサーバー側の部分です。

<?php
    //allow sessions to be passed so we can see if the user is logged in
    session_start();
    //connect to the database so we can check, edit, or insert data to our users table
    $con = mysql_connect('localhost', 'user', 'pwd') or die(mysql_error());
    $db = mysql_select_db('newsletter', $con) or die(mysql_error());
    $SQL = "SELECT * FROM papers";
    if(array_key_exists('rowcount', $_GET)) {
      $query = mysql_query("select count(*) as total FROM papers");
      $result = mysql_fetch_array($query);
      $json = array('rowCount' => $result); // can add more data here
      return json_encode($json);
    }
?>

これは、newsletter.php のクライアント側の部分です。

<script>
    $.getJSON('newsletter.php?rowCount', function(data) {
        var jsonData = $.parseJSON(data);
        var ntop = jsonData.rowCount * 250;
        $('#footer').css('top', ntop);
    });
</script>

これは理論上の解決策ですが、ブラウザーはエラー ログ 'jsonData is null' を送信します。

4

2 に答える 2

3

これを行う1つの方法は、JQueryが$ .post、$。get、$。ajaxを介してクエリできるエンドポイントを提供することです。

$.getJSON('ajax.php?rowcount', function(data) {
  var jsonData = $.parseJSON(data);

  var ntop = jsonData.rowCount * 250;
  $('#footer').css('top', ntop);
}

そして次のようなphpスクリプト:

if(array_key_exists('rowcount', $_GET)) {
  $query = mysql_query("select count(*) as total from table_name");
  $result = mysql_fetch_array($query);
  $json = array('rowCount' => $result); // can add more data here
  return json_encode($json);
}
于 2012-04-25T11:34:10.920 に答える
1
function redraw(){
    var ntop = <?php echo $result['total'];?> * 250
    .....
}

それはあなたが望むものですか?

于 2012-04-25T11:25:10.073 に答える