Problema autocomplete cu scriptaculous

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

Moderator: Moderatori

Avatar utilizator
boo
Senior Member
Mesaje: 267
Membru din: Mie Mar 24, 2004 8:16 pm
Localitate: Ploiesti
Contact:

Problema autocomplete cu scriptaculous

Mesajde boo » Joi Mai 20, 2010 11:30 am

Salut phpromania

Intampin o problema si nu stiu cum sa o rezolv si sper ca ma va indruma cineva de pe acest forum.
Am un autocomplete facut cu scriptaculous pentru un input care imi cauta in baza de date si imi afiseaza sub forma de lista ceea ce gaseste, optiunea putand fi selectata.
Este functional, toate bune si frumoase pana la afisarea in pagina. In fisierul php unde se face interogarea in baza de date am urmatorul cod:

Cod: Selectaţi tot

$strSearchVal = mysql_real_escape_string($strSearchVal);

$strSQL = 'SELECT DISTINCT(OBSERVATIONS) FROM records WHERE (OBSERVATIONS LIKE "%' . $strSearchVal . '%")  ORDER BY NO DESC';
$result = mysql_query($strSQL);

echo '<ul style="padding-top:5px; margin-left:5px; padding-right: 7px; width:300px;" type="circle">';

while ($arrThisRow = mysql_fetch_array($result)) {
 echo '<li><img src="arrow.png" style="margin-right: 5px;" />' . trim($arrThisRow['OBSERVATIONS']) . '</li>';
}

echo '</ul>';

problema mea este ca in pagina imi afiseaza aiurea rezultatele, adica nu sunt in aceeasi ordine ca si cum as baga comanda SQL direct in phpMyAdmin. Intamplarea face ca unele rezultate sa contina si caracterul "*" si ma tem sa nu fie cumva "analizat" de javascript-ul din sriptacoulous sau prototype.
Am incercat sa tai si bucla while si sa fac o lista manuala in care sa pun caracterul * alaturi de un text si imi afiseaza bine.
Comanda SQL este corecta, inainte de while am facut un echo si mi-o afiseaza bine. Daca o introduc in phpMyAdmin e totul bine, numai ca afisarea in divul de autocomplete nu se face in ordinea in care trebuie.
Daca are cineva oricesugestie ii multumesc anticipat.



MarPlo
Senior Member
Mesaje: 885
Membru din: Mie Sep 24, 2008 9:32 am
Localitate: Braila
Contact:

Mesajde MarPlo » Joi Mai 20, 2010 12:50 pm

Incearca dupa ORDER BY sa pui numele coloanei, indicat cea primara sau cu un id auto_increment. Cam asa:
... ORDER BY `id` ASC
sau DESC, pt. ordinea descendenta

Avatar utilizator
boo
Senior Member
Mesaje: 267
Membru din: Mie Mar 24, 2004 8:16 pm
Localitate: Ploiesti
Contact:

Mesajde boo » Joi Mai 20, 2010 12:56 pm

pai am deja ce zici tu. coloana mea se numeste NO care este primary key si are auto_increment.
imi arata bine la interogarea bazei de date doar ca nu imi afiseaza in aceeasi ordine in lista din autocomplete

Avatar utilizator
kleampa
Senior Member
Mesaje: 2774
Membru din: Dum Iul 10, 2005 2:12 pm
Localitate: Bucuresti
Contact:

Mesajde kleampa » Joi Mai 20, 2010 12:57 pm

e clar ca javascriptu isi baga nasu pe undeva la afisare
fara sa vedem scriptu respectiv in actiune nu prea putem sa ne dam seama

Avatar utilizator
boo
Senior Member
Mesaje: 267
Membru din: Mie Mar 24, 2004 8:16 pm
Localitate: Ploiesti
Contact:

Mesajde boo » Joi Mai 20, 2010 1:29 pm

am gasit problema. mai trebuie sa o rezolv acum. javascriptul nu isi baga nasul nicaieri.

daca am:

Cod: Selectaţi tot

SELECT DISTINCT(ORGANIZATION) FROM records WHERE (ORGANIZATION LIKE "ceva") ORDER BY NO DESC

imi returneaza exact ceea ce vreau in phpmyadmin.
dar daca fac asa:

Cod: Selectaţi tot


$strSQL = 'SELECT DISTINCT(ORGANIZATION) FROM records WHERE (ORGANIZATION LIKE "ceva") ORDER BY NO DESC';
$result = mysql_query($strSQL);
while ($row = mysql_fetch_array($result)){;
echo $row[0];
echo '<br />';

imi returneaza aiurea
Nu inteleg de ce :(

Avatar utilizator
kleampa
Senior Member
Mesaje: 2774
Membru din: Dum Iul 10, 2005 2:12 pm
Localitate: Bucuresti
Contact:

Mesajde kleampa » Joi Mai 20, 2010 2:06 pm

e ciudat atunci, n-ar trebuii sa fie diferit


Înapoi la “Librarii Javascript”

Cine este conectat

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