Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] bład w wyszukiwaniu użytkowników
Forum PHP.pl > Forum > Przedszkole
pomek2
Proszę o pomoc ponieważ coś skopałem z wyszukiwaniem. stało się tak gdy dodałem opcje wyszukiwania poprzez województwo, pokazuje mi wszystkich użytkowników zamiast tylko z danego woj.

index,php:
  1. <?
  2.  
  3. include("includes/mysql.inc.php");
  4. include("config.php");
  5. if($action == 'newsletter'){
  6. include("includes/protect.inc.php");
  7.  
  8. if($operation == 'add'){
  9. $news = 1;
  10. $emailadded = 2;
  11. }else{
  12. $news = 0;
  13. $emailadded = 1;
  14. }
  15.  
  16.  
  17. @mysql_query("UPDATE users SET newsletter = $news WHERE userid = $userid");
  18.  
  19. }
  20. include("includes/hdr_glowna.inc.php");
  21. if($emailadded == 2){
  22. ?>
  23. <script language="Javascript">
  24. alert ("Gratulacje! Adres email został dodany!")
  25. </script>
  26. <?
  27. }
  28. if($emailadded == 1){
  29. ?>
  30. <script language="Javascript">
  31. alert ("Email został usunięty!")
  32. </script>
  33. <?
  34. }
  35.  
  36. if (reklama(8)) {
  37. ?>
  38. <tr>
  39. <td style="text-align:center;">
  40. <font class="reklama">reklama</font>
  41. </td>
  42. </tr>
  43. <tr>
  44. <td style="text-align:center; padding-bottom:5px;">
  45. <?=reklama(8);?>
  46. </td>
  47. </tr>
  48. <?
  49. }
  50. ?>
  51. <tr>
  52. <td>
  53. <table style="border:0px; width:100%;" cellspacing="0" cellpadding="0">
  54. <tr>
  55. <form method="POST" action="szukaj.html">
  56. <input type='hidden' name='typ' value='proste'>
  57. <input type='hidden' name='search' value='1'>
  58. <td style="width:510px; height:249px; background:url(images/data_15.png) no-repeat right;"></td>
  59. <td style="width:390px; height:249px; background:url(images/data_16.png) no-repeat left; vertical-align:top;">
  60. <div style="height:60px; width:100%;"></div>
  61. <div style="padding-bottom:2px;">
  62. <div style="font-weight:bold; float:left; width:42%; color:#FFFFFF; font-size:12px;">Jestem:
  63. <select size="1" name="jestem" style="width:100px;">
  64. <option value="">- wybierz -</option>
  65. <option value="m">mężyczną</option>
  66. <option value="k">kobietą</option>
  67. </select>
  68. </div>
  69. <div style="font-weight:bold; float:left; width:49%; color:#FFFFFF; font-size:12px;">Szukam:
  70. <select size="1" name="szukam" style="width:100px;">
  71. <option value="">- wybierz -</option>
  72. <option value="m">mężczyzn</option>
  73. <option value="k">kobiet</option>
  74. </select>
  75. </div>
  76. </div>
  77. <div style="font-weight:bold; color:#FFFFFF; font-size:12px; padding-top:20px;">Miasto:
  78. <input type="text" name="miasto" style="width:172px;" /></div>
  79. <div style="font-weight:bold; color:#FFFFFF; font-size:12px; padding-top:8px;">Wiek od
  80. <select size="1" name="wiekod">
  81. <option value="">--</option>
  82. <?
  83. $i = 15;
  84. while($i <= 100){
  85. echo "<option value=\"$i\">$i</option>";
  86. $i++;
  87. }
  88. ?>
  89. </select> do <select size="1" name="wiekdo">
  90. <option value="">--</option>
  91. <?
  92. $i = 15;
  93. while($i <= 100){
  94. echo "<option value=\"$i\">$i</option>";
  95. $i++;
  96. }
  97. ?>
  98. </select>
  99. </div>
  100. <div style="padding-top:7px;">
  101. <div style="font-weight:bold; float:left; width:41%; color:#FFFFFF; font-size:12px;">Włosy:
  102. <select size="1" name="kwlosow" style="width:100px;">
  103. <option value="">- wybierz -</option>
  104. <option value="blond">blond</option>
  105. <option value="czarne">czarne</option>
  106. <option value="brazowe">brązowe</option>
  107. <option value="rude">rude</option>
  108. </select>
  109. </div>
  110. <div style="font-weight:bold; float:left; width:49%; color:#FFFFFF; font-size:12px;">Ciało:
  111. <select size="1" name="budowa" style="width:100px;">
  112. <option value="">- wybierz -</option>
  113. <option value="szczupla">szczupłe</option>
  114. <option value="normalna">normalne</option>
  115. <option value="muskularna">muskularne</option>
  116. <option value="puszysta">puszyste</option>
  117. <option value="idealna">idealne ;)</option>
  118. </select>
  119. </div>
  120. <div style="font-weight:bold; float:left; width:49%; color:#FFFFFF; font-size:12px;">Województwo:
  121. <select size="1" name="wojewodztwo" style="width:80px;">
  122. <option value="">--</option>
  123. <option value="dolnośląskie">dolnośląskie</option>
  124. <option value="kujawsko-pomorskie">kujawsko-pomorskie</option>
  125. <option value="lubuskie">lubuskie</option>
  126. <option value="łódzkie">łódzkie</option>
  127. <option value="małopolskie">małopolskie</option>
  128. <option value="mazowieckie">mazowieckie</option>
  129. <option value="opolskie">opolskie</option>
  130. <option value="podkarpackie">podkarpackie</option>
  131. <option value="podlaskie">podlaskie</option>
  132. <option value="pomorskie">pomorskie</option>
  133. <option value="śląskie">śląskie</option>
  134. <option value="świętokrzyskie">świętokrzyskie</option>
  135. <option value="warmińsko-mazurskie">warmińsko-mazurskie</option>
  136. <option value="wielkopolskie">wielkopolskie</option>
  137. <option value="zachodniopomorskie">zachodniopomorskie</option>
  138. </select>
  139. </div>
  140.  
  141. </div>
  142. <div style="text-align:right; padding-top:20px; padding-right:40px;">
  143. <a href="zaawansowane-szukanie.html"><div style="float:left; text-align:center; color:#FFFFFF; width:60%; padding-top:3px;">zaawansowane wyszukiwanie</div></a>
  144. <div style="float:right; width:39%;"><input type="submit" value="Szukaj" style="width:100px; font-weight:bold;"/></div>
  145. </div>
  146. </td>
  147. </form>
  148. </tr>
  149. </table>
  150. </td>
  151. </tr>
  152. <tr>
  153. <td style="padding:10px 0 10px 0; vertical-align:top;">
  154. <table style="border:0px; width:100%;" cellspacing="0" cellpadding="0">
  155. <tr>
  156. <td style="width:300px; height:174px; vertical-align:top; background:url(images/data_18.png) no-repeat center top;"></td>
  157. <td style="vertical-align:top;">
  158. <div style="width:600px; height:50px; background:url(images/data_19.png) no-repeat center;"></div>
  159. <div style="width:550px; padding-left:25px; padding-right:25px;">
  160. <img hspace="10" align="right" src="images/pic_welcome.jpg">
  161. <?=_WELCOMETEXT;?>
  162. <div align="right">Zapraszamy!</div>
  163. </div>
  164. </td>
  165. </tr>
  166. </table>
  167. </td>
  168. </tr>
  169. <?
  170. if (reklama(7)) {
  171. ?>
  172. <tr>
  173. <td style="text-align:center;">
  174. <font class="reklama">reklama</font>
  175. </td>
  176. </tr>
  177. <tr>
  178. <td style="text-align:center; padding-bottom:5px;">
  179. <?=reklama(7);?>
  180. </td>
  181. </tr>
  182. <?
  183. }
  184. ?>
  185. <tr>
  186. <td>
  187. <table style="border0px; width:100%;" cellspacing="0" cellpadding="0">
  188. <tr>
  189. <td style="vertical-align:top;">
  190.  
  191. <div style="width:330px; padding:5px 0 0 0;">
  192. <center><?
  193. include("includes/stat.inc.php")
  194. ?>
  195. </center>
  196. </div>
  197.  
  198. <div style="width:350px; height:43px; background:url(images/data_25.png) no-repeat left;"></div>
  199. <div style="width:330px; padding:5px 0 0 0;">
  200. <?
  201. $s1 = mysql_query("SELECT * FROM artykuly ORDER BY RAND() LIMIT 2");
  202. while($s2 = mysql_fetch_array($s1)){
  203. $text = substr(str_replace("<br />", "", $s2['tresc']),0,220);;
  204. echo '<div style="width:100%;">
  205. <font class="article_title">'.$s2['temat'].'</font>
  206. <p>'.$text.'...</p>
  207. <p align="right"><a href="artykul-'.$s2['artid'].'.html"><font class="color_link">więcej...</font></a></p>
  208. </div>';
  209. }
  210. ?>
  211. </div>
  212.  
  213. </td>
  214. <td style="vertical-align:top; background:url('images/data_29.png') repeat-y;">
  215. <table style="width:550px;">
  216. <tr>
  217. <td style="width:550px; height:46px; background:url(images/data_23.png) no-repeat center; text-align:center;"></td>
  218. </tr>
  219. <tr>
  220. <td style="width:500px; padding-left:25px; padding-right:25px;">
  221. <? include("includes/latest.inc.php"); ?>
  222. </td>
  223. </tr>
  224.  
  225.  
  226. <tr>
  227. <td style="width:550px; height:16px; background:url(images/data_32.png) no-repeat center;"></td>
  228. </tr>
  229. </table>
  230. </td>
  231. </tr>
  232. </table>
  233. </td>
  234. </tr>
  235. <tr>
  236. <td style="padding-top:5px;">
  237. <table id="footer_table">
  238. <tr>
  239. <td style="width:40%;">
  240. Copyright Š <?=date("Y")?> <?=$site_name?><br />
  241. Wszelkie prawa zastrzerzone
  242. </td>
  243. <td style="width:15%; text-align:center;">
  244. <a href="index.html">Strona glówna</a></td>
  245. <td style="width:15%; text-align:center;">
  246. <a href="zaawansowane-szukanie.html">Szukaj</a>
  247. </td>
  248. <td style="width:15%; text-align:center;">
  249. <a href="moje-konto.html">Rejestracja</a>
  250. </td>
  251. <td style="width:15%; text-align:center;">
  252. <a href="kontakt.html">Kontakt</a>
  253. </td>
  254. </tr>
  255. </table>
  256. </td>
  257. </tr>
  258. </table>
  259. </td>
  260. </tr>
  261. </table>
  262. </p>
  263.  


plik szukaj.php

  1. <?
  2. include("includes/mysql.inc.php");
  3. include("config.php");
  4. include("includes/hdr_glowna.inc.php");
  5. OpenTableMain("Szukaj");
  6. if($search != 1){
  7. ?>
  8. <div style=""><b>Wprowadź dane:</b></div>
  9. <div style="padding-bottom:10px;">
  10. <form method="POST" action="szukaj.html">
  11. <input type='hidden' name='typ' value='proste'>
  12. <input type='hidden' name='search' value='1'>
  13. <p><b>Jestem:<br>
  14. <select size="1" name="jestem">
  15. <option value="">------</option>
  16. <option value="m">mężczyzną</option>
  17. <option value="k">kobietą</option>
  18. </select><br>
  19. <br>
  20. Szukam:<br>
  21. <select size="1" name="szukam">
  22. <option value="">------</option>
  23. <option value="m">mężczyzny</option>
  24. <option value="k">kobiety</option>
  25. </select><br>
  26. <br>
  27. w wieku:<br>
  28. od <select size="1" name="wiekod">
  29. <option value="">---</option>
  30. <?
  31. $i = 15;
  32. while($i <= 100){
  33. ?>
  34. <option value="<? echo $i; ?>" <? if ($i == 20) echo 'selected'; ?>><? echo $i; ?></option>
  35. <?
  36. $i++;
  37. }?>
  38. </select> do <select size="1" name="wiekdo">
  39. <option value="">---</option>
  40. <?
  41. $i = 15;
  42. while($i <= 100){
  43. ?>
  44. <option value="<? echo $i; ?>" <? if ($i == 22) echo 'selected'; ?>><? echo $i; ?></option>
  45. <?
  46. $i++;
  47. }?>
  48. </select><br />
  49. <br />
  50. Z miasta:<br />
  51. <input type="text" name="miasto" size="20" /><br />
  52. <br />
  53. <input type="submit" value="Szukaj" name="B1" /><br />
  54. <br />
  55. </b><a href="zaawansowane-szukanie.html">zaawansowane szukanie</a></p>
  56. </form>
  57. </div>
  58. <?
  59. }
  60. ?>
  61.  
  62. <?
  63. if($search == 1){
  64. ?>
  65. <font class="bigtitle">Wyniki szukania:</title>
  66.  
  67. <?
  68.  
  69. if (($wiekdo) AND ($wiekod)) {
  70. $wiekdo++;
  71. $od = time()-($wiekod*31104000);
  72. $do = time()-($wiekdo*31104000);
  73. }
  74.  
  75. $query='';
  76.  
  77. if($miasto){
  78. $miasto = strip_tags($miasto);
  79. $miasto = " AND miasto LIKE '%$miasto%'";
  80. $query .= $miasto;
  81. }
  82.  
  83. if($wojewodztwo){
  84. $wojewodztwo = strip_tags($wojewodztwo);
  85. $wojewodztwo = " AND wojewodztwo LIKE '%$wojewodztwo%'";
  86. $query .= $wojwodztwo;
  87. }
  88.  
  89. if($koczu){
  90. $koczu = strip_tags($koczu);
  91. $koczu = " AND koczu LIKE '%$koczu%'";
  92. $query .= $koczu;
  93. }
  94.  
  95. if($kwlosow){
  96. $kwlosow= strip_tags($kwlosow);
  97. $kwlosow= " AND kwlosow LIKE '%$kwlosow%'";
  98. $query .= $kwlosow;
  99. }
  100.  
  101.  
  102. if($waga){
  103. $waga= strip_tags($waga);
  104. $waga= " AND waga LIKE '%$waga%'";
  105. $query .= $waga;
  106. }
  107.  
  108. if($wzrost){
  109. $wzrost= strip_tags($wzrost);
  110. $wzrost= " AND wzrost LIKE '%$wzrost%'";
  111. $query .= $wzrost;
  112. }
  113.  
  114. if($budowa){
  115. $budowa= strip_tags($budowa);
  116. $budowa= " AND budowa LIKE '%$budowa%'";
  117. $query .= $budowa;
  118. }
  119.  
  120. if($karnacja){
  121. $karnacja= strip_tags($karnacja);
  122. $karnacja= " AND budowa LIKE '%$karnacja%'";
  123. $query .= $karnacja;
  124. }
  125.  
  126. if($jestem){
  127. $jestem= strip_tags($jestem);
  128. $jestem= " AND szukam = '$jestem'";
  129. $query .= $jestem;
  130. }
  131.  
  132. if($szukam){
  133. $szuakm= strip_tags($szukam);
  134. $szukam= " AND plec = '$szukam'";
  135. $query .= $szukam;
  136. }
  137.  
  138. if($od){
  139. $od= strip_tags($od);
  140. $od= " AND urodzono < '$od'";
  141. $query .= $od;
  142. }
  143.  
  144. if($do){
  145. $do= strip_tags($do);
  146. $do= " AND urodzono > '$do'";
  147. $query .= $do;
  148. }
  149.  
  150.  
  151. $min = time()-(3600*24*14);
  152.  
  153. $t1 = mysql_query("SELECT * FROM users WHERE status = '1' $query ORDER BY login DESC")or die(mysql_error());
  154.  
  155. if(mysql_num_rows($t1)==0){
  156. ?>
  157. Niestety nic nie znaleziono. Postaraj się wprowadzić mniej szczegułów poszukiwania.
  158. <?
  159. }else{
  160. while($t2 = mysql_fetch_array($t1)){
  161.  
  162.  
  163. $us = $t2['userid'];
  164.  
  165. $w1 = mysql_query("SELECT * FROM zdjecia WHERE userid = $us ORDER BY rand() LIMIT 1");
  166.  
  167. if(mysql_num_rows($w1) == 0){
  168. $fotka = "images/brak.gif";
  169. $none = 1;
  170. }else{
  171. $w2 = mysql_fetch_array($w1);
  172. $photoid = $w2['photoid'];
  173. $fotka = "thx-$photoid.jpg";
  174. }
  175.  
  176. if(is_file("zdjecia/".$photoid.".jpg")!=TRUE){
  177. $fotka = "images/brak.gif";
  178. $none = 1;
  179. }
  180.  
  181.  
  182.  
  183.  
  184. ?>
  185. <table style="width:100%;" id="setings">
  186. <tr>
  187. <td style="width:30%; vertical-align:top; text-align:center;">
  188. <img alt="<?=$t2['login'];?>" src="<?=$fotka?>" style="width:70px; border: 1px solid;">
  189. </td>
  190. <td style="width:70%; vertical-align:top;">
  191. <div style="height:50px;">
  192. <b><?=$t2['login'];?></b>
  193. (<?=round((time()-$t2['urodzono'])/(3600*24*31*12));?>),
  194. <?
  195. if($t2['plec'] == 'k') {
  196. echo 'kobieta';
  197. } else {
  198. echo 'mężczyzna';
  199. }
  200. ?>
  201. , <?=$t2['miasto'];?><br />
  202. <?=substr(strip_tags($t2['opis']),0,150);?>...
  203. </div>
  204. <div style="padding-top:5px; text-align:right; border-top:1px solid #CFCFCF;">
  205. <a href="profil-<? echo $t2['login']; ?>.html"><b>zobacz profil</b></a>
  206. </div>
  207. </td>
  208. </tr>
  209. </table>
  210. <?
  211. }
  212. }
  213. }
  214. CloseTableMain();
  215. ?>
  216.  


oraz plik zaawansowane:

<?
include("includes/mysql.inc.php");
include("config.php");
include("includes/hdr_glowna.inc.php");
OpenTableMain("Szukaj partnera - szukanie zaawansowane")
?>
<div style="padding-bottom:8px;">
<font class="bigtitle">Wprowadź dane:</font>
</div>
<table cellpadding="5" id="search_adv">
<tr>
<form method="POST" action="szukaj.html">
<input type='hidden' name='typ' value='proste'>
<input type='hidden' name='search' value='1'>
<td style="width:50%;"><b>Jestem:</b><br />
<select size="1" name="jestem">
<option value="">-------</option>
<option value="m">mężczyzną…</option>
<option value="k">kobietą…</option>
</select>
</td><td style="width:50%;">
<b>Szukam:</b><br />
<select size="1" name="szukam">
<option value="">-------</option>
<option value="m">mężczyzn</option>
<option value="k">kobiet</option>
</select><br />
</td>
</tr><tr>
<td colspan="2">
<b>w wieku:</b><br />
od <select size="1" name="wiekod">
<option value="">---</option>
<?
$i = 15;
while($i <= 100){
?>
<option value="<? echo $i; ?>"><? echo $i; ?></option>
<?
$i++;
}?>
</select> do <select size="1" name="wiekdo">
<option value="">---</option>
<?
$i = 15;
while($i <= 100){
?>
<option value="<? echo $i; ?>"><? echo $i; ?></option>
<?
$i++;
}?>
</select>
</td>
</tr><tr>
<td colspan="2">
<b>Miasto:</b><br />
<input type="text" name="miasto" style="padding:2px; width:200px;">
</td>
</tr>
<tr>
<td colspan="2">
<b>Województwo:</b><br />
<select size="1" name="wojewodztwo">
<option value="">-------</option>
<option value="dolnośląskie">dolnośląskie</option>
<option value="kujawsko-pomorskie">kujawsko-pomorskie</option>
<option value="lubuskie">lubuskie</option>
<option value="łódzkie">łódzkie</option>
<option value="małopolskie">małopolskie</option>
<option value="mazowieckie">mazowieckie</option>
<option value="opolskie">opolskie</option>
<option value="podkarpackie">podkarpackie</option>
<option value="podlaskie">podlaskie</option>
<option value="pomorskie">pomorskie</option>
<option value="śląskie">śląskie</option>
<option value="świętokrzyskie">świętokrzyskie</option>
<option value="warmińsko-mazurskie">warmińsko-mazurskie</option>
<option value="wielkopolskie">wielkopolskie</option>
<option value="zachodniopomorskie"></option>
</select>*
</td>
</tr>
<tr>
<td colspan="2">
<b>Kolor oczu:</b><br />
<select size="1" name="koczu">
<option value="">--------</option>
<option value="niebieskie">niebieskie</option>
<option value="szare">szare</option>
<option value="zielone">zielone</option>
<option value="brazowe">brązowe</option>
<option value="piwne">piwne</option>
</select>*
</td>
</tr><tr>
<td colspan="2">
<b>Kolor włosów:</b><br />
<select size="1" name="kwlosow">
<option value="">--------</option>
<option value="blond">blond</option>
<option value="czarne">czarne</option>
<option value="brazowe">brązowe</option>
<option value="rude">rude</option>
</select>*
</td>
</tr><tr>
<td colspan="2">
<b>Budowa ciała:</b><br />
<select size="1" name="budowa">
<option value="">--------</option>
<option value="szczupla">szczupła</option>
<option value="normalna">normalna</option>
<option value="muskularna">muskularna</option>
<option value="puszysta">puszysta</option>
<option value="idealna">idealna winksmiley.jpg</option>
</select>*
</td>
</tr><tr>
<td colspan="2">
<b>Karnacja:</b><br />
<select size="1" name="karnacja">
<option value="">--------</option>
<option value="ciemna">ciemna</option>
<option value="normalna">normalna</option>
<option value="jasna">jasna</option>
</select>*
</td>
</tr><tr>
<td colspan="2">
<b>Waga:</b><br />
<select size="1" name="waga">
<option value="">--------</option>
<?
$n = 45;
while($n <= 140){
?>
<option value="<? echo $n; ?>"><? echo $n; ?> kg</option>
<?
$n++;
}
?>
</select>*
</td>
</tr><tr>
<td colspan="2">
<b>Wzrost:</b><br />
<select size="1" name="wzrost">
<option value="">---</option>
<?
$n = 140;
while($n <= 210){
?>
<option value="<? echo $n; ?>"><? echo $n; ?> cm</option>
<?
$n++;
}
?>
</select>*
</td>
</tr><tr>
<td colspan="2">
<input type="submit" value="Szukaj" name="B1" style="padding:2px; width:100px; font-weight:bold;">
<p><b>*</b><i>zaznaczając te właściwości ograniczasz wyniki wyszukiwania do bardzo wąskiej grupy spełniającej te warunki.</i><b>
</td>
</tr>
</form>
</table>
</div>
<?
CloseTableMain();
?>
i500
Według twojej konstrukcji przy zapytaniu o województwo np. pomorskie uzyskasz rekordy dotyczące również zachodniopomorskiego i kujawsko-pomorskiego (like %$foo%). Jakie kodowanie ma twoja baza danych, tabela, kolumna i plik? Prawdopodobnie problem występuje poprzez używanie polskich znaków diakrytycznych w nazwach pobieranych wartości, sprawdź jak działa gdy pobierasz informacje nt. województwa lubuskiego.
pomek2
przy wyborze województwa lubuskiego jest ten sam problem metoda porównywania napisów to: latin2_general_ci a kodowanie znaków: utf8

rzeczywiście w bazie mam krzaki warmiĹ„sko-mazurskie
nospor
1) Mogłeś się trochę wysylic i przyciąc kod do niezbędnych rzeczy. A tak uraczyles nas smieciami na pięć stron....
2) Województwa powinny być słownikiem. Wówczas szukasz na podstawie ID i nie robisz zadnych LIKEow po nazwie.
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.