Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql]problem z wyświetlaniem wyników wyszukiwania, nie wyświetla pierwszego rekordu
Mikos
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 22.06.2008

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


Witam,
posiadam na stronie wyszukiwarke, ktora wyswietla wyniki w tabeli. Problem w tym, ze za kazdym razem brakuje jednego rekordu(pierwszy, ktory zostal dodawny do bazy), ktory powinien znalezc sie w wynikach wyszukiwania. Bede wdzieczny za sugestie;)
  1. if(preg_match("/$priorytet/i", $row[$mysql_row]) && preg_match("/$stopien/i", $row[$mysql_row2]))
  2. {
  3.  
  4. echo' <table id="tabela">';
  5. echo' <tr style="background-color:#1F1F1F; color:#F8F8F8;"><td><strong>Nazwa treningu</strong></td>';
  6. echo' <td><strong>Priorytet</strong></td>';
  7. echo' <td><strong>Stopień zaawansowania</strong></td>';
  8. echo' <td><strong>Dni w tygodniu</strong></td>';
  9. echo' <td><strong>Cel</strong></td>';
  10. echo' </tr>';
  11.  
  12. while($row = mysql_fetch_array($result)){
  13. for ($i=0; $i<count($numrows); $i++)
  14. {
  15. $rawid = ($row[id]);
  16. $rawnazwa = ($row[title]);
  17. $rawpriorytet = ($row[priorytet]);
  18. $rawstopien = ($row[stopien]);
  19. $rawdni = ($row[dni]);
  20. $rawcel = ($row[cel]);
  21. $rawdata = ($row[data]);
  22. <tr onMouseover=this.bgColor='#C1C1C1' onMouseout=this.bgColor='white'><td><font style='text-transform: uppercase;'><a href='index.php?id=".$rawid."'>".$rawnazwa."</a></td></font>
  23. <td>".$rawpriorytet."</td>
  24. <td>".$rawstopien."</td>
  25. <td>".$rawdni."</td>
  26. <td>".$rawcel."</td>
  27. </tr></table>";
  28.  
Go to the top of the page
+Quote Post
witul
post
Post #2





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 24.08.2007

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


Napisz jakiego zapytania uzywasz? jakis offset w sqlu?

Ten post edytował witul 30.08.2009, 20:17:47
Go to the top of the page
+Quote Post
Mikos
post
Post #3





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 22.06.2008

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


  1. $query = "SELECT * FROM $db_table WHERE priorytet like '%{$priorytet}%' AND stopien like '%{$stopien}%'";
Go to the top of the page
+Quote Post
witul
post
Post #4





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 24.08.2007

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


a jak wydasz takie zapytanie bezposrednio w konsoli mysql/postgresql albo phpmyadmin/phppgadmin to daje dobre wyniki czy tez bledne?
Go to the top of the page
+Quote Post
franki01
post
Post #5





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


  1. if(preg_match("/$priorytet/i", $row[$mysql_row]) && preg_match("/$stopien/i", $row[$mysql_row2]))

Tutaj używasz $row. Może już użyłeś wcześniej mysql_fetch_array() albo coś podobnego? Mógłbyś pokazać trochę kodu powyżej?
Go to the top of the page
+Quote Post
Mikos
post
Post #6





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 22.06.2008

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


Cytat(witul @ 30.08.2009, 21:48:58 ) *
a jak wydasz takie zapytanie bezposrednio w konsoli mysql/postgresql albo phpmyadmin/phppgadmin to daje dobre wyniki czy tez bledne?

wtedy dziala wszystko w porzadku.


@franki
mysql_fetch_array() uzywam dwukrotnie. Oto kod:
  1. $priorytet = implode(',',$_POST['priorytet']);
  2. $stopien = implode(',',$_POST['stopien']); //
  3.  
  4. $query = "SELECT * FROM $db_table WHERE priorytet like '%{$priorytet}%' AND stopien like '%{$stopien}%'";//
  5. $result = mysql_query($query);
  6. $numrows = mysql_num_rows($result);
  7. $row = mysql_fetch_array($result);
  8.  
  9. echo'<div class="text"> Znaleziono: <b>'.$numrows.'</b> wyników dla warunków zapytania: <b>'.$stopien.'</b> <b>'.$priorytet.' </b></div>';
  10.  
  11. if(preg_match("/$priorytet/i", $row[$mysql_row]) && preg_match("/$stopien/i", $row[$mysql_row2]))
  12. {
  13.  
  14. echo' <table id="tabela">';
  15. echo' <tr style="background-color:#1F1F1F; color:#F8F8F8;"><td><strong>Nazwa treningu</strong></td>';
  16. echo' <td><strong>Priorytet</strong></td>';
  17. echo' <td><strong>Stopień zaawansowania</strong></td>';
  18. echo' <td><strong>Dni w tygodniu</strong></td>';
  19. echo' <td><strong>Cel</strong></td>';
  20. echo' </tr>';
  21.  
  22. while($row = mysql_fetch_array($result)){
  23. for ($i=0; $i<count($numrows); $i++)
  24. {
  25. $rawid = ($row[id]);
  26. $rawnazwa = ($row[title]);
  27. $rawpriorytet = ($row[priorytet]);
  28. $rawstopien = ($row[stopien]);
  29. $rawdni = ($row[dni]);
  30. $rawcel = ($row[cel]);
  31. $rawdata = ($row[data]);
  32. <tr onMouseover=this.bgColor='#C1C1C1' onMouseout=this.bgColor='white'><td><font style='text-transform: uppercase;'><a href='index.php?id=".$rawid."'>".$rawnazwa."</a></td></font>
  33. <td>".$rawpriorytet."</td>
  34. <td>".$rawstopien."</td>
  35. <td>".$rawdni."</td>
  36. <td>".$rawcel."</td>
  37. </tr></table>";
Go to the top of the page
+Quote Post
franki01
post
Post #7





Grupa: Zarejestrowani
Postów: 508
Pomógł: 75
Dołączył: 2.11.2005
Skąd: Bydgoszcz

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


Linia 7. Twojego kodu pobiera już pierwszy wiersz tego zapytania, przez co nie może być już użyty w pętli. Po tej siódmej linijce wstaw taką funkcję:
  1. mysql_data_seek ($result, 0);
Go to the top of the page
+Quote Post
Mikos
post
Post #8





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 22.06.2008

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


Jesteś wielki!:)
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: 20.08.2025 - 15:04