Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]wyszukiwarka
Forum PHP.pl > Forum > Przedszkole
olszam
Mam drobny problem próbuje właśnie zrobić wyszukiwarkę ale można powiedzieć że ta wyszukiwarka ale ona jest robiona tak ze wpiszesz daną nazwę i powinna zrobić takie tabele i wczytać rekordy które zawierają taką nazwę. Zapytania są porządku bo sprawdzałem pętle też są ok tylko nie wiem czemu nie chce nic mi wyświetlić sad.gif

  1. <?php
  2. require 'polacz.php';
  3. ?>
  4. <form action="wyszukiwarka.php" method="post">
  5. <input type="text" name="wyszukiwarka" />
  6. <input type="submit" value="znajdź" name="znajdz" />
  7. <?php
  8. if(isset($_POST['znajdz'])){
  9. $znajdz = $_POST['wyszukiwarka'];
  10. if($znajdz) {
  11. $sql="Select * From zawodnik Where zawodnik.imiezawodnik Like '%$znajdz%' or zawodnik.nazwiskozawodnik like '%$znajdz%' or zawodnik.krajzawodnik like '%$znajdz%'
  12. Order By zawodnik.dataurodzenia Desc";
  13. $sql1="Select * From trener Where trener.nazwiskotrener Like '%$znajdz%' or
  14. trener.imietrener Like '%$znajdz%' or trener.krajtrener Like '%$znajdz%' adn trener.idtrener not like '1'";
  15. $sql2="Select * From danezawody Where danezawody.rodzajzawodow like '%$znajdz%' or
  16. danezawody.miejscezawodow like '%$znajdz%' Order By danezawody.datazawodow DESC";
  17. $sql3="Select * From danezawody
  18. Inner Join zawody On zawody.iddanezawody = danezawody.iddanezawody
  19. Inner Join trener On zawody.idtrener = trener.idtrener
  20. Inner Join zawodnik On zawody.idzawodnik = zawodnik.idzawodnik
  21. Where trener.nazwiskotrener Like '%$znajdz%' or
  22. trener.imietrener Like '%$znajdz%' or trener.krajtrener Like '%$znajdz%' or zawodnik.imiezawodnik Like '%$znajdz%' or zawodnik.nazwiskozawodnik like '%$znajdz%'
  23. or zawodnik.krajzawodnik like '%$znajdz%' or danezawody.rodzajzawodow like '%$znajdz%' or
  24. danezawody.miejscezawodow like '%$znajdz%' Order by danezawody.datazawodow desc, danezawody.faza asc,zawodnik.pleczawodnik desc, zawody.skok1 desc, zawody.skok2 desc, zawody.skok3 desc";
  25. $rezultat = mysql_query($sql);
  26. $rezultat1 = mysql_query($sql1);
  27. $rezultat2 = mysql_query($sql2);
  28. $rezultat3 = mysql_query($sql3);
  29. if($rezultat && $rezultat1 && $rezultat2 && $rezultat3) {
  30. echo 'Dane Zawody<br/>
  31. <table cellpadding="5" border=5>
  32. <tr>
  33. <td>Data</td>
  34. <td>Turniej</td>
  35. <td>Faza</td>
  36. <td>Miejsce Zawodów(miasto)</td>
  37. </tr>';
  38. while ($Wiersz = mysql_fetch_array($rezultat2)){
  39. echo'<tr>
  40. <td>'.$Wiersz['datazawodow'].'</td>
  41. <td>'.$Wiersz['rodzajzawodow'].'</td>';
  42. if($Wiersz['faza'] == 0)
  43. {
  44. echo '<td>Eliminacje</td>';
  45. }
  46. elseif($Wiersz['faza'] == 1)
  47. {
  48. echo '<td>Finał</td>';
  49. }
  50. echo'<td>'.$Wiersz['miejscezawodow'].'</td>
  51. </tr>';
  52.  
  53. }
  54. echo '</table>';
  55. echo '<br/>Zawodnik<br/>
  56. <table cellpadding="5" border=5>
  57. <tr>
  58. <td>Imie</td>
  59. <td>Nazwisko</td>
  60. <td>Data Urodzenia</td>
  61. <td>Płeć</td>
  62. <td>Kraj</td>
  63. </tr>';
  64. while ($Wiersz1 = mysql_fetch_array($rezultat)){
  65. echo'<tr>
  66. <td>'.$Wiersz1['imiezawodnik'].'</td>
  67. <td>'.$Wiersz1['nazwiskozawodnik'].'</td>';
  68. echo'<td>'.$Wiersz1['dataurodzenia'].'</td>';
  69. if($Wiersz1['pleczawodnik'] = 'M')
  70. {
  71. echo '<td>Mężczyzna</td>';
  72. }
  73. elseif($Wiersz1['pleczawodnik'] = 'K')
  74. {
  75. echo '<td>Kobieta</td>';
  76. }
  77. echo'<td>'.$Wiersz1['krajzawodnik'].'</td>
  78. </tr>';
  79. }
  80. echo '</table>';
  81. echo '<br/>Trener<br/>
  82. <table cellpadding="5" border=5>
  83. <tr>
  84. <td>Imie</td>
  85. <td>Nazwisko</td>
  86. <td>Płeć</td>
  87. <td>Kraj</td>
  88. </tr>';
  89. while ($Wiersz2 = mysql_fetch_array($rezultat1)){
  90. echo'<tr>
  91. <td>'.$Wiersz2['imietrener'].'</td>
  92. <td>'.$Wiersz2['nazwiskotrener'].'</td>';
  93. if($Wiersz2['plectrener'] = 'M')
  94. {
  95. echo '<td>Mężczyzna</td>';
  96. }
  97. elseif($Wiersz2['plectrener'] = 'K')
  98. {
  99. echo '<td>Kobieta</td>';
  100. }
  101. echo'<td>'.$Wiersz2['krajtrener'].'</td>
  102. </tr>';
  103. }
  104. echo '</table>';
  105. echo '<br/>Zawody<br/>
  106. <table cellpadding="5" border=5>
  107. <tr>
  108. <td>Turniej</td>
  109. <td>Płeć</td>
  110. <td>Faza</td>
  111. <td>Miasto</td>
  112. <td>Data Zawodów</td>
  113. <td>Trener</td>
  114. <td>Zawdonik</td>
  115. <td>Skok1</td>
  116. <td>Skok2</td>
  117. <td>Skok3</td>
  118. </tr>';
  119. while ($Wiersz3 = mysql_fetch_array($rezultat3)){
  120. echo'<tr>
  121. <td>'.$Wiersz3['imietrener'].'</td>';
  122. if($Wiersz3['pleczawodnik'] = 'M')
  123. {
  124. echo '<td>Mężczyzna</td>';
  125. }
  126. elseif($Wiersz3['pleczawodnik'] = 'K')
  127. {
  128. echo '<td>Kobieta</td>';
  129. }
  130.  
  131. echo'<td>'.$Wiersz3['faza'].'</td>
  132. <td>'.$Wiersz3['miejscezawodow'].'</td>
  133. <td>'.$Wiersz3['datazawodow'].'</td>
  134. <td>'.$Wiersz3['imietrener'].' '.$Wiersz3['nazwiskotrener'].' ('.$Wiersz3['krajtrener'].')</td>
  135. <td>'.$Wiersz3['imiezawodnik'].' '.$Wiersz3['nazwiskozawodnik'].' ('.$Wiersz3['krajzawodnik'].')</td>
  136. <td>'.$Wiersz3['skok1'].'</td>
  137. <td>'.$Wiersz3['skok2'].'</td>
  138. <td>'.$Wiersz3['skok3'].'</td>
  139. </tr>';
  140. }
  141. echo '</table>';
  142. }
  143. }
  144. }
  145. ?>

jeśli można prosiłby o poprawienie mnie w kodzie
nospor
Cytat
Zapytania są porządku bo sprawdzałem
Tak? A jak sprawdzałeś? Możesz mi to wyjaśnić jak sprawdzałeś?
Bo ja w zapytaniach widzę błędy i to bez sprawdzania, bardzo mnie więc interesuje jak ty to sprawdzałeś.
olszam
normalnie wbiłem do phpmyadmina i jakiś odddzielny skrypt dodatkowo zrobiłem na tego typu przyłkad że odrazu wyświetli to co chcę wkleiłem to zapytanie i tyle że zamiast $znajdz była jakaś litera i normalnie poszło
nospor
Conajmniej jedno z zapytan zawiera blad, wiec niemożliwe by ci dzialalo w PMA. Najwidoczniej wrzuciles tam inne zapytanie.

Jak radzic sobie z bledami zapytan masz napisane tu:
Temat: Jak poprawnie zada pytanie
kawałek z mysql_error
olszam
znalazłem błąd przy zapytaniu z trenerem miałem adn zamiast and a i jak można to mogę wiedzieć czemu mi się wyświetla rekord z id zawierający nr 1 skoro dałem tam not like??
toffiak
  1. ... trener.idtrener NOT LIKE '1'";

na
  1. ... trener.idtrener <>1";
nospor
Cytat
nalazłem błąd przy zapytaniu z trenerem miałem adn zamiast and
Brawo. Czyli dopiero teraz sprawdziłeś. Na przyszłośc nie pisz wiec ze coś sprawdzałeś jak nie sprawdzałes.

Cytat
mogę wiedzieć czemu mi się wyświetla rekord z id zawierający nr 1 skoro dałem tam not like??
Poniewasz w tym zapytaniu masz też kupę OR. Wystarczy ze jeden jest prawdziwy i całe wyrażenie jest prawdziwe

Do namysłu:
2+3*4
(2+3)*4
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.