Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Problem z autocomplete
smok55453
post
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 29.09.2013

Ostrzeżenie: (0%)
-----


Zrobiłem autocomplete tak jak było napisane tutaj.
Z tym, że tam napisana była tablica statyczna:
  1. <?php
  2. $q = $_GET['q'];
  3. if(!$q) return;
  4.  
  5. $dane = array('aparat','motor','rower','samochód','telefon','telewizor');
  6. $i = 0;
  7. foreach ($dane as $id => $wartosc) {
  8. if(preg_match('/^'.$q.'/', $wartosc)){
  9. echo $wartosc.PHP_EOL;
  10. $i++;
  11. }
  12. }
  13.  
  14. if(!$i) echo "urządzenie spoza listy\n";
  15.  
  16. ?>

a ja ją przerobiłem na dynamiczną i coś nie działa. To mój kod:
  1. <?php
  2. $q = $_GET['q'];
  3. if(!$q) return;
  4.  
  5. $my_res1 = mysql_query("SELECT nazwa FROM przepisy");
  6. $ii=0;
  7. while($row1 = mysql_fetch_array($my_res1, MYSQL_NUM))
  8. {
  9.  
  10. $tablica_wierszy1[] = $row1;
  11. $ii++;
  12.  
  13. }
  14. for($i=0;$i < $ii; $i++)
  15. {
  16. $tablica_nazw_test[$i] = $tablica_wierszy1[$i][0];
  17. }
  18. $dane = array($tablica_nazw_test);
  19. $i = 0;
  20. foreach ($tablica_nazw_test as $id => $wartosc) {
  21. if(preg_match('/^'.$q.'/', $wartosc)){
  22. echo $wartosc.PHP_EOL;
  23. $i++;
  24. }
  25. }
  26.  
  27. if(!$i) echo "urządzenie spoza listy\n";
  28. ?>

Kod który łączy się z bazą usunąłem ponieważ to dane prywatne.
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie: $dane = array($tablica_nazw_test);
a: $dane = $tablica_nazw_test;

Ale to i tak nie ma znaczenia bo $dane nigdzie nie uzywasz...

Sprawdz co zawiera $tablica_nazw_test
var_dump($tablica_nazw_test);

A na przyszlosc pisz na czym polega "niedzialanie".... "Cos nie dziala" nic nam nie mowi o istocie problemu


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
smok55453
post
Post #3





Grupa: Zarejestrowani
Postów: 64
Pomógł: 0
Dołączył: 29.09.2013

Ostrzeżenie: (0%)
-----


Niedziałanie polega na tym, że gdy coś wpiszę w pole formularza to wyświetla się tylko napis: urządzenie spoza listy.

jak to wpiszę to nic się nie wyświetla. Dla sprawdzenia podawałem co linijkę echo 'test'; w pliku z tym skryptem co podałem wyżej.
Tekst pokazuje się dopóki nie zejdę niżej tego if:
  1. if(!$q)
  2. {
  3.  
  4. return;
  5. }




edit.

usunąłem ten warunek dla sprawdzenia oraz zamiast napisu urządzenie z poza listy dałem
  1. print_r($tablica_nazw_test);
i wyświetliło się to: klik a powinna sama Babka_...

Ten post edytował smok55453 7.01.2015, 15:57:30
Go to the top of the page
+Quote Post
nospor
post
Post #4





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




$my_res1 = mysql_query("SELECT nazwa FROM przepisy");
Daj w tym zapytaniu WHERE i pobieraj tylko te rekordy, ktore pasują do wpisanego wzoru. Nie ma sensu z bazy pobierac wszystkiego


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 10:24