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.