Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Wyszukiwarka
dareksbs
post 13.11.2012, 18:14:23
Post #1





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 17.10.2012

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


Witam,

mam mały problem z pętlą "for", chcę stworzyć wyszukiwarkę która będzie szukała imię i nazwisko (dwa pola, można wpisać albo imię, albo nazwisko), po przeszukaniu bazy wyrzuca imię nazwisko + id

  1. <?
  2. $sql = "SELECT * FROM users WHERE nazwisko='".$nazwisko."' OR imie='".$imie."'";
  3. $result = @mysql_query($sql);
  4. $ile = mysql_num_rows($result);
  5. while ($row = mysql_fetch_array($result))
  6. {
  7. for ($t=0; $t< $ile; $t++)
  8. {
  9. $q++;
  10. echo "$row[id][0]";
  11. echo "$row[imie][0]";
  12. echo "$row[nazwisko][0]";
  13. }
  14. }
  15. ?>
Go to the top of the page
+Quote Post
b4rt3kk
post 13.11.2012, 18:32:58
Post #2





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


  1. while ($row = mysql_fetch_array($result))
  2. {
  3.  
  4. echo $row['id'];
  5. echo $row['imie'];
  6. echo $row['nazwisko'];
  7.  
  8. }


W jakim celu ta pętla for? Co ona miałaby robić? Na co ta zmienna $q?


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
dareksbs
post 13.11.2012, 19:51:30
Post #3





Grupa: Zarejestrowani
Postów: 56
Pomógł: 0
Dołączył: 17.10.2012

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


zmienna $q nie działa...

Jednakże gdy robię tak :
  1. <?
  2. $sql = "SELECT * FROM users WHERE nazwisko='".$nazwisko."' OR imie='".$imie."'";
  3. $result = @mysql_query($sql);
  4. $ile = mysql_num_rows($result);
  5. while ($row = mysql_fetch_array($result))
  6. {
  7.  
  8. echo $row['id'];
  9. echo $row['imie'];
  10. echo $row['nazwisko'];
  11.  
  12. }
  13. ?>


i wpisuje w wyszukiwarkę imię które jest kilka razy w bazie wyrzuca mi tylko pierwszą osobę z tym imieniem. I tu nie wiem co zrobić

Ktoś ma jakiś pomysł jak to naprawić questionmark.gif
Go to the top of the page
+Quote Post
b4rt3kk
post 13.11.2012, 19:56:11
Post #4





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Zobacz ile faktycznie zwraca wyników:

  1. $ile = mysql_num_rows($result);
  2. echo 'Liczba wyników: <b>' . $ile .'</b><br/>';
  3. while ($row = mysql_fetch_array($result))
  4. {
  5. print_r($row);
  6. }


--------------------
Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
Go to the top of the page
+Quote Post
vifus
post 13.11.2012, 20:06:07
Post #5





Grupa: Zarejestrowani
Postów: 109
Pomógł: 13
Dołączył: 7.04.2012

Ostrzeżenie: (10%)
X----


zrób sobie tablicę np.
  1. <?
  2. $sql = "SELECT * FROM users WHERE nazwisko='".$nazwisko."' OR imie='".$imie."'";
  3. $result = @mysql_query($sql);
  4. $ile = mysql_num_rows($result);
  5. while ($row = mysql_fetch_array($result))
  6. {
  7.  
  8.  
  9. $id[]=$row['id'];
  10. $imie[]=$row['imie'];
  11. $nazwisko[]=$row['nazwisko']
  12.  
  13.  
  14. }
  15.  
  16. $tab = count(array_keys($id));
  17.  
  18. for($x = 0; $x < $tab; $x++) {
  19. echo $id[$x];
  20. echo $imie[$x];
  21. echo $nazwisko[$x];
  22. }
  23.  
  24.  
  25. ?>
  26.  


Ten post edytował vifus 13.11.2012, 20:06:28


--------------------
Zlecenia PHP / MYSQL / JAVASCRIPT / C++ / CSS / HTML na PW
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 Wersja Lo-Fi Aktualny czas: 12.06.2025 - 21:38