sql >> データベース >  >> RDS >> Mysql

MySQLデータベースからのJquery、AJAX、およびPHPを使用したデータの取得

    まず、ajaxリクエストのデータ変数にJSオブジェクトを使用することを強くお勧めします。これにより、大量のデータがある場合に、作業が非常に簡単になります。例:

    $('h1').click(function() {
                $.ajax({
                    type:"POST",
                    url: "ajax.php",
                    data: { "code": code },
                    datatype: "xml",
                    success: function() {
                    $(xml).find('site').each(function(){
                        //do something
                    });
                });
            });
    

    サーバーからの情報の取得に関しては、最初にデータベースからデータを引き出すためのPHPスクリプトを作成する必要があります。サーバーから多くの情報を取得する場合は、さらに、データをXMLまたはJSONでシリアル化することをお勧めします(JSONをお勧めします)。

    あなたの例では、あなたのデータベーステーブルは非常に小さくて単純であると仮定します。使用可能な列は、ID、コード、および説明です。特定のコードのすべてのニュースの説明を取得したい場合、PHPは次のよ​​うになります。 (私はしばらくPHPを実行していないので、構文が間違っている可能性があります)

    // create data-structure to handle the db info
    // this will also make your code more maintainable
    // since OOP is, well just a good practice
    class NewsDB {
        private $id = null;
        var $code = null;
        var $description = null;
    
        function setID($id) {
            $this->id = $id;
        }
        function setCode($code) {
            $this->code = $code;
        }
        function setDescription($desc) {
            $this->description = $desc;
        }
    }
    
    // now you want to get all the info from the db
    $data_array = array(); // will store the array of the results
    $data = null; // temporary var to store info to
    
    // make sure to make this line MUCH more secure since this can allow SQL attacks
    $code = htmlspecialchars(trim($_POST['lname']));
    
    // query
    $sql = "select * from news where code=$code";
    $query = mysql_query(mysql_real_escape_string($sql)) or reportSQLerror($sql);
    
    // get the data
    while ($result = mysql_fetch_assoc($query)) {
        $data = new NewsDB();
        $data.setID($result['id']);
        $data.setCode($result['code']);
        $data.setDescription($result['description']);
        // append data to the array
        array_push($data_array, $data);
    }
    
    // at this point you got all the data into an array
    // so you can return this to the client (in ajax request)
    header('Content-type: application/json');
    echo json_encode($data_array);
    

    サンプル出力:

    [
      { "code": 5, "description": "desc of 5" },
      { "code": 6, "description": "desc of 6" },
      ...
    ]
    

    したがって、この段階では、JSONでデータを返すPHPスクリプトが作成されます。また、このPHPスクリプトのURLがfoo.phpであると仮定しましょう。 。

    次に、次の方法でサーバーから応答を取得できます。

    $('h1').click(function() {
                $.ajax({
                    type:"POST",
                    url: "foo.php",
                    datatype: "json",
                    success: function(data, textStatus, xhr) {
                       data = JSON.parse(xhr.responseText);
                       // do something with data
                       for (var i = 0, len = data.length; i < len; i++) {
                           var code = data[i].code;
                           var desc = data[i].description;
                           // do something
                       }
                });
             });
    

    それだけです。




    1. フルスタック(WAMP)を使用したReactをローカルで開発する

    2. psycopg2のインストール中にエラーが発生しました。-lsslのライブラリが見つかりません

    3. Network_linkを使用したデータの移行

    4. 挿入する前に、データベースに行が存在するかどうかを確認してください