Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Wyszukiwarka
dareksbs
post
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
 
Start new topic
Odpowiedzi (1 - 4)
b4rt3kk
post
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?
Go to the top of the page
+Quote Post
dareksbs
post
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ć (IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
b4rt3kk
post
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. }
Go to the top of the page
+Quote Post
vifus
post
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
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 06:59