2013-04-10 7 views
5

मैंने एक AJAX पोस्ट बनाया है और मैं इसके माध्यम से एक और PHP फ़ाइल में कुछ डेटा भेज रहा हूं, अंत में एक लाइव खोज कर रहा हूं ... लेकिन बात यह है कि यह थोड़ा धीमा है, जब मैं अंदर कुछ लिखता हूं बॉक्स, AJAX को 1-2 सेकंड के बीच आग लगती है .... मैं चाहता हूं कि खोज यूट्यूब की खोज या फेसबुक खोज की तरह हो, बहुत जल्दी, जब मैं वहां कुछ टाइप करता हूं तो यह तुरंत सुझाव दिखाता है ... कोई विचार मैं कैसे ठीक कर सकता हूं इस ?Jquery AJAX धीमा है

$("#search").keyup(function(){ 
      var value = $(this).val(); 
      var categ = $("#categ").val(); 
       if (value.length >= 1) 
       { 
        $.ajax({ 
         type: "POST", 
         url: "../core/search.php", 
         data: { string : value , categ : categ }, 
         success: function(result){ 
          $(".each_movie").hide(); 
          $(".search_movie").remove(); 
          $("#movies").append(result); 
         } 
        }); 
       } 
       else 
       { 
         $(".each_movie").show(); 
         $(".search_movie").remove(); 
       } 
    }); 

$src = $_POST['string']; 
$categ = $_POST['categ']; 

$sql = mysql_query("SELECT * FROM movies WHERE `$categ` LIKE '%".$src."%' ") or die(mysql_error()); 
while ($sql_grab = mysql_fetch_assoc($sql)) 
{ 
    ?> 
     <div class="search_movie"> 
     <p style="margin-bottom:5px;font-family:'Lucida Sans Unicode', 'Lucida Grande', sans-serif;color:rgba(255,255,255,0.3);font-size:12px;">Din: <?php echo $sql_grab['airdate']; ?> in cinematografe.</p> 
     <table> 
      <tr> 
       <td rowspan="2" valign="top"><img class="main_pic" src="<?php echo $sql_grab['mainpic']; ?>" width="180px" /></td> 
       <td><p class="name"><?php echo $sql_grab['name']; ?></p></td> 
      </tr> 
      <tr> 
       <td><div class="desc_wrapper" id="<?php echo $id; ?>" style="display:inline-block;"><p class="desc"><?php echo mysql_real_escape_string($sql_grab['description']); ?></p></div><p nr="<?php echo $id; ?>" id="more<?php echo $id; ?>" class="more" style="position:absolute;margin:30px 2px;color:rgba(255,255,255,0.2);cursor:pointer;display:inline-block">...citeşte</p></td> 
      </tr> 
     </table> 
     </div><!--each movie end--> 
    <?php 
} 
+0

अधिक जानकारी प्राप्त करेंगे क्यों तुम 'table' में प्रत्येक' record' पैदा होता है। 'Loop'' में से '

' और '
' को परिभाषित करने का प्रयास करें। आपको 'loop'' के अंदर केवल '' मान उत्पन्न करने की आवश्यकता है। – Ranjith

+0

क्योंकि मैं चाहता हूँ n "

" और उन n divs मैं हर एक
southpaw93

+1

@ रंजीत है, यही कारण है कि अनुरोध और अधिक तेजी से बनाया नहीं होगा चाहते हैं अंदर, मैं – Shin

उत्तर

2

उपयोग JSON यह और सर्वर के बीच अपने अजाक्स स्क्रिप्ट के सिलसिले में तेजी लाने के और PHP:

यहाँ कोड है।