Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Mengambil Data dengan Jquery, AJAX, dan PHP dari Database MySQL

Pertama-tama saya akan sangat menyarankan untuk menggunakan objek JS untuk variabel data dalam permintaan ajax. Ini akan membuat hidup Anda jauh lebih sederhana ketika Anda akan memiliki banyak data. Misalnya:

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

Sedangkan untuk mendapatkan informasi dari server, pertama-tama Anda harus membuat skrip PHP untuk mengeluarkan data dari db. Jika Anda ingin mendapatkan banyak informasi dari server, maka Anda mungkin ingin membuat serialisasi data Anda dalam XML atau JSON (saya akan merekomendasikan JSON).

Dalam contoh Anda, saya akan menganggap tabel db Anda sangat kecil dan sederhana. Kolom yang tersedia adalah id, kode, dan deskripsi. Jika Anda ingin menarik semua deskripsi berita untuk kode tertentu, PHP Anda mungkin terlihat seperti ini. (Saya belum melakukan PHP dalam beberapa saat sehingga sintaks mungkin salah)

// 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);

Contoh keluaran:

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

Jadi pada tahap ini Anda akan memiliki skrip PHP yang mengembalikan data dalam JSON. Juga mari kita asumsikan url untuk skrip PHP ini adalah foo.php .

Kemudian Anda bisa mendapatkan respons dari server dengan:

$('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
                   }
            });
         });

Itu saja.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara mendapatkan ID dari baris yang memiliki nilai MAX dan MIN dalam SQL

  2. MySQL- mengoptimalkan pernyataan kasus

  3. string variabel MySQL REPLACE

  4. Dua kunci asing pada kolom yang sama dari satu tabel

  5. Kesalahan fatal:Panggilan ke fungsi yang tidak ditentukan mysqli_result()