Witam wiem ze to juz 1000 taki temat ale nie znalazlem nic ciekawego a nie mam tyle czasu zeby przeczytac 34 stron tongue.gif

1.Problemy sa 2 po pierwsze szybkosc wyszukuje za pomoca LIKE czyli najlatwiej jak sie da czytalem ze sa inne sposoby ale nie rozumie ich zastosowania czy ktos z was moglby pokazac to na moim kodzie??

2.Mam taki maly problem ze nie wiem jak szukac przy wiekszej ilosci krotoriow nie w LIke tylko w klauzuli where moze pokarze zapytanie bo nie wiem ajk to wytlumaczyc a wiec mam cos takiego
  1. <?php
  2. $kolumna = 'login';
  3. $query_search = ("select * from ".$_POST['gdzie']." where ".$kolumna." like '%$szukaj%' order by id desc");
  4. ?>

I jak widac wyszukiwarka(jesli mozna ja tak nazwac) wyszukje na podstawie login'u jednak chcialbym zeby wyszukiwala na podstawie loginu i email'a i jak zmiene zmienna $kolumna na taka wartosc:
  1. <?php
  2. $kolumna = 'login or email';
  3. ?>

I wpisze do wyszukiwarki "marcio" to nie znajdzie zadnego wyniku a dlatego ze te slowo musi sie znajdowac w login'ie i email'u a daja union select wywala mi bledy wiec co robie zle??
OTo caly kod wyszukiwarki
  1. <?php
  2. echo('<td class="contents">
  3. <a href="#"><h2>Wyszukiwarka ['.$_COOKIE['name'].'].</h2></a>
  4. <form method="post" action="'.$_SERVER['PHP_SELF'].'">
  5. <div>
  6. <center><input type="text" name="szukaj" value="Szukana fraza">
  7. <select name="gdzie">
  8. <option value="users">Uzytkownicy</option>
  9. <option value="news">News'y</option>
  10. <option value="art">Artykuly</option>
  11. <option value="ksiega_gosci">Guest</option>
  12. </select></center>
  13. <Br>
  14. <center><input type="submit" name="search" value="Szukaj" style="background-color:#ECECEC; color:#000000; border: 1px solid blue;"></center><Br>
  15. </form>');
  16.  
  17. if(empty($_POST['szukaj']) && isset($_POST['search'])) {
  18.  echo('<table align="center"><tr><td class="contents" align="center"><b style="color:#f00">Prosze podac tytul wiadomosci</b></td></tr></table><div id="bottom">Powered by Marcio v0.1beta</div></div></body></html>');
  19. }
  20.  
  21. if(!empty($_POST['szukaj']) && isset($_POST['search'])) {
  22.  
  23. $szukaj = mysql_real_escape_string($_POST['szukaj']);
  24.  
  25. if($_POST['gdzie'] == 'users') {
  26.  
  27. $kolumna = 'login';
  28. $query_search = ("select * from ".$_POST['gdzie']." where ".$kolumna." like '%$szukaj%' order by id desc");
  29. $wynik5 = mysql_query($query_search, $db);
  30.  
  31. echo('<Br><center><b><big>Wyniki dla frazy: '.$szukaj.'</big></b></center><Br>');
  32.  
  33. while($szukaj = mysql_fetch_assoc($wynik5)) 
  34.  
  35. echo('<Br><b>Login: '.$szukaj['login'].' Email: '.$szukaj['email'].'</b><Br>');
  36. echo('</div></td>');
  37. }
  38.  
  39. if($_POST['gdzie'] == 'news') {
  40.  
  41. $kolumna = 'tytul';
  42. $query_search = ("select * from ".$_POST['gdzie']." where ".$kolumna." like '%$szukaj%' order by id desc");
  43.  
  44.  $wynik5 = mysql_query($query_search, $db);
  45.  
  46. echo('<Br><center><b><big>Wyniki dla frazy: '.$szukaj.'</big></b></center><Br>');
  47.  
  48. while($szukaj = mysql_fetch_assoc($wynik5)) 
  49.  
  50. echo('<Br><b>Tytul: '.$szukaj['tytul'].' Autor: '.$szukaj['autor'].' Tresc:<Br>'.substr($szukaj['tresc'], 0, 200).'</b><Br>');
  51. echo('</div></td>');
  52. }
  53.  
  54. if(mysql_num_rows($wynik5) == 0) echo('</div></td><td class="contents"><div><b style="color:#f00">Nie znaleziono niczego co by spelnialo twoje kryterium</b></div></td>');
  55. }
  56. ?>


Wiem skrypt lamerski ale coz glownie chodzi mi o to zeby zwiekszyc szybkosc bo szukajac wszystko login'y co maja w sobie litere "m" przy 27 user'ach zajmuje to okolo 1.5s-2s wiec dlugo co sie stanie przy 300 user'ach to wole nie wiedziec i jak szukac na podstawie wiecej kroteriow gdzie pokarze i login'y co maja w sobie "m" i email'em co maja w sobie "m"??

Ok moj blad dziala za pomoca or costam like '%$szukaj%' jednak jak zwiekszyc szybkosc??