2010-09-05 23 views
33

रीफ्रेशिंग के बिना \ पृष्ठ पृष्ठ सामग्री बदलें \ Dमुझे डीबी से डेटा मिलता है और इसे एक div में प्रदर्शित करता है ... मैं क्या करना चाहता हूं जब मैं एक लिंक पर क्लिक करता हूं तो इसे div की सामग्री को बदलना चाहिएएचटीएमएल - पेज

एक विकल्प ही के URL से पैरामीटर पारित और पृष्ठ पुनः लोड करने के लिए ...

मैं पुन: लोड \ ताज़ा बिना यह करने की जरूरत है ...

<?php 
    $id = '1'; 

    function recp($rId) { 
     $id = $rId; 
    } 
?> 

<a href="#" onClick="<?php recp('1') ?>" > One </a> 
<a href="#" onClick="<?php recp('2') ?>" > Two </a> 
<a href="#" onClick="<?php recp('3') ?>" > Three </a> 

<div id='myStyle'> 
<?php 
    require ('myConnect.php');  
    $results = mysql_query("SELECT para FROM content WHERE para_ID='$id'"); 

    if(mysql_num_rows($results) > 0) { 
     $row = mysql_fetch_array($results); 
     echo $row['para']; 
    } 
?> 
</div> 

लक्ष्य है जब है मैं किसी भी लिंक की सामग्री पर क्लिक करता हूं div और php variable \ s को रीफ्रेश किए बिना अपडेट किया जाता है .... ताकि उपयोगकर्ता नया डेटा देख सकें और उसके बाद यदि कुछ क्वेरी निष्पादित की जाती है तो यह नए चर पर है

ps मुझे पता है कि इसे कुछ की आवश्यकता होगी AJAX लेकिन मुझे AJAX नहीं पता .. इसलिए कृपया कुछ सीखें जिसके द्वारा मैं सीख सकता हूं ... मेरा ज्ञान HTML, PHP, कुछ जावास्क्रिप्ट & तक सीमित है कुछ jQuery

उत्तर

41

आपको सही विचार मिल गया है, तो यहां आगे बढ़ने का तरीका बताया गया है: onclick हैंडलर ब्राउज़र में क्लाइंट पक्ष पर चलते हैं, ताकि आप सीधे PHP फ़ंक्शन को कॉल न कर सकें। इसके बजाए, आपको एक जावास्क्रिप्ट फ़ंक्शन जोड़ना होगा (जैसा कि आपने बताया है) एक PHP स्क्रिप्ट को कॉल करने और डेटा पुनर्प्राप्त करने के लिए AJAX का उपयोग करता है। jQuery का उपयोग करना, आप कुछ इस तरह कर सकते हैं:

<script type="text/javascript"> 
function recp(id) { 
    $('#myStyle').load('data.php?id=' + id); 
} 
</script> 

<a href="#" onClick="recp('1')" > One </a> 
<a href="#" onClick="recp('2')" > Two </a> 
<a href="#" onClick="recp('3')" > Three </a> 

<div id='myStyle'> 
</div> 

तो फिर तुम एक अलग फ़ाइल में अपने PHP कोड डाल: (मैं ऊपर के उदाहरण में यह data.php बुलाया गया है)

<?php 
    require ('myConnect.php');  
    $id = $_GET['id']; 
    $results = mysql_query("SELECT para FROM content WHERE para_ID='$id'"); 
    if(mysql_num_rows($results) > 0) 
    { 
    $row = mysql_fetch_array($results); 
    echo $row['para']; 
    } 
?> 
+1

मैं उपयोग कर सकते हैं $ id = $ _POST ['id']; $ id = $ _GET ['id'] के बजाय; – Moon

+0

और 'jQuery.js' – Moon

+0

के अलावा अन्य पुस्तकालयों को जावास्क्रिप्ट/jQuery के बिना ऐसा करने का कोई तरीका है यदि मेरे पास पहले से ही PHP में सामग्री तैयार है? – DeveloperACE

1

jQuery काम करेगा। आप या तो jQuery.ajax फ़ंक्शन का उपयोग कर सकते हैं, जो AJAX कॉल करने के लिए सामान्य है, या इसके रैपर: jQuery.get, jQuery.post डेटा प्राप्त करने/पोस्ट करने के लिए। इसका उपयोग करना बहुत आसान है, उदाहरण के लिए, this ट्यूटोरियल देखें, जो दिखाता है कि PHP के साथ jQuery का उपयोग कैसे करें।

संबंधित मुद्दे