Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एक MySQL डेटाबेस से Jquery, AJAX और PHP के साथ डेटा पुनर्प्राप्त करना

सबसे पहले मैं अजाक्स अनुरोधों में डेटा चर के लिए जेएस ऑब्जेक्ट का उपयोग करने की अत्यधिक अनुशंसा करता हूं। जब आपके पास बहुत सारा डेटा होगा तो यह आपके जीवन को बहुत आसान बना देगा। उदाहरण के लिए:

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

सर्वर से जानकारी प्राप्त करने के लिए, पहले आपको डीबी से डेटा निकालने के लिए एक PHP स्क्रिप्ट बनानी होगी। अगर आपको लगता है कि आपको सर्वर से बहुत सारी जानकारी मिलनी है, तो इसके अलावा आप अपने डेटा को एक्सएमएल या जेएसओएन में क्रमबद्ध करना चाहेंगे (मैं जेएसओएन की सिफारिश करूंगा)।

आपके उदाहरण में, मैं मान लूंगा कि आपकी डीबी तालिका बहुत छोटी और सरल है। उपलब्ध कॉलम आईडी, कोड और विवरण हैं। यदि आप किसी विशिष्ट कोड के लिए सभी समाचार विवरण खींचना चाहते हैं तो आपका 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" },
  ...
]

तो इस स्तर पर आपके पास एक PHP स्क्रिप्ट होगी जो JSON में डेटा लौटाती है। यह भी मान लें कि इस 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql प्रॉक्सी मोज़े

  2. MySql में अनाम विदेशी कुंजी छोड़ें

  3. MySQL पासवर्ड समस्याएँ (मैक ओएस एक्स लायन)

  4. एक तालिका से रिकॉर्ड प्राप्त करें जहां दूसरे में कोई रिकॉर्ड नहीं है

  5. एक ही डेटा के साथ दो डेटाबेस को कैसे मर्ज करें, लेकिन अलग-अलग पीके के साथ, बिना डुप्लीकेट फ़ील्ड के?