script search fara buton

Discutii legate de AJAX, jQuery, MooTools, Prototype, Dojo, Yahoo! UI Library,script.aculo.us, ExtJS,AngularJS, Backbone.js, Ember.js, KnockoutJS

Moderator: Moderatori

ialexs
Average Member
Mesaje: 91
Membru din: Sâm Sep 20, 2008 5:20 pm
Contact:

script search fara buton

Mesajde ialexs » Joi Feb 16, 2012 11:14 am

salut, am si eu un script care cauta in bd dar fara secventa cu buton dar nu imi merge.
am asa:
in index.php

Cod: Selectaţi tot

<script type="text/javascript" src="jquery-1.2.1.pack.js"></script>
<script type="text/javascript">
function find(){
      if (window.XMLHttpRequest) {
        XMLHttpRequestObject = new XMLHttpRequest();
      } else{
        XMLHttpRequestObject = new ActiveXObject("Microsoft.XMLHTTP");
      }
         XMLHttpRequestObject.onreadystatechange = function()
          {
            if (XMLHttpRequestObject.readyState == 4 &&
              XMLHttpRequestObject.status == 200) {
                document.getElementById('result').innerHTML = XMLHttpRequestObject.responseText ;
            }
          }
          XMLHttpRequestObject.open('GET', 'search.php?query=' document.search.query.value);
    XMLHttpRequestObject.send();
        }
</script>

Cod: Selectaţi tot

<form id="search" name="search">
Query: <input name="query" onkeyup="find();" placeholder="Scrie cantare" type="text"></form>
<div id="result">te
</div>
si search.php

Cod: Selectaţi tot

<?php
   if (isset($_GET['query'])){
      $query = $_GET['query'];
   }
//connect to database

if(@mysql_connect('localhost',"root","ialexs")){
     if(mysql_select_db('cantari_ppt')){
//if nothing is entered
if(!empty($query)){
//Fetch from database
    $sql = "SELECT * FROM cantari_ppt WHERE `denumire` LIKE '$query%' ORDER BY denumire";
    $sql_run = mysql_query($sql);
    while ($query_row = mysql_fetch_assoc($sql_run)){
    echo '<a href="cantare.php?id='.$query_row['id_c'].'">'.$query_row['denumire'].'</a><br>
';
   }
 }
 }
}
 ?>
daca intru in index.php si scriu imi apare in bara asta: ?query=as si trebuia sa imi apara search.php?query=as nu stiu care este problema si faza este ca nu imi apare in index nici un rezultat. daca ma duc pe search.php si scriu search.php?query=a imi litera a imi apare toate cantarile care incep cu litera a si daca mai scriu asta imi apare toate cantarile care incep cu asta. nu stiu de ce nu face legatura cu index si sa imi apara asa frumos cum trebuie. astept raspuns. va multumesc anticipat. cu stima trif



Avatar utilizator
MihaiC
Senior Member
Mesaje: 1644
Membru din: Dum Mai 14, 2006 8:07 pm

Mesajde MihaiC » Joi Feb 16, 2012 9:54 pm

Doua lucruri mi se par amuzante.
Unul ca incluzi jquery, dar nu-l folosesti si celalalt e ca folosesti "onkeyup".

Eu de obicei cand foloseam "onkeyup" puneam si setTimeout() juma' de secunda.
Dev @ oblio.eu

ialexs
Average Member
Mesaje: 91
Membru din: Sâm Sep 20, 2008 5:20 pm
Contact:

Mesajde ialexs » Joi Feb 16, 2012 10:31 pm

nu prea ma stiu cu jquery si ajax. ma ajuti cum sa fac te rog frumos. multumesc mult de tot. cu stima trif

Avatar utilizator
MihaiC
Senior Member
Mesaje: 1644
Membru din: Dum Mai 14, 2006 8:07 pm

Mesajde MihaiC » Vin Feb 17, 2012 8:33 am

Ceva de genul.
Studiaza si tu codul asta si documentatia jquery.

Cod: Selectaţi tot

   $(document).ready(function() {
      $('input[name=query]').keyup(function() {
         var _ = $(this);
         $.ajax({
            url: 'search.php?query=' + _.val(),
            context: document.body,
            success: function(data) {
               $('#result').html(data);
            }
         });
      });
   });
Dev @ oblio.eu

ialexs
Average Member
Mesaje: 91
Membru din: Sâm Sep 20, 2008 5:20 pm
Contact:

Mesajde ialexs » Vin Feb 17, 2012 12:29 pm

salut, ms de raspuns. am facut cum ai zis tu dar nu imi merg.
am facut asa

Cod: Selectaţi tot

<script type="text/javascript">
 function find(){
$(document).ready(function() {
       $('input[name=query]').keyup(function find() {
          var _ = $(this);
          $.ajax({
             url: 'search.php?query=' + document.search.query..val(),
             context: document.body,
             success: function(data) {
                $('#result').html(data);
             }
          });
       });
    });
   };
   </script>
tot nu imi da nimic atunci cand scriu ceva. el teoretic ar trebui sa imi mearga in felul urmator: atunci cand scriu in serarch ceva automat sa imi arate rezultatele la ceea ce am scris eu. te uiti un pic te rog sa vezi de ce nu imi merge. multumesc anticipat. cu stima trif

Avatar utilizator
MihaiC
Senior Member
Mesaje: 1644
Membru din: Dum Mai 14, 2006 8:07 pm

Mesajde MihaiC » Vin Feb 17, 2012 5:35 pm

Ce ti-am scris eu este tot codul de care ai nevoie.

Repet, citeste documentatia jquery.

Si html-ul ar trebui sa arate asa

Cod: Selectaţi tot

<form id="search" name="search">
Query: <input name="query" placeholder="Scrie cantare" type="text"></form>
<div id="result"></div>
Dev @ oblio.eu


Înapoi la “Librarii Javascript”

Cine este conectat

Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 24 vizitatori