Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: rozroznianie malych i duzych liter
Forum PHP.pl > Forum > Bazy danych > MySQL
busyboy
Witam serdecznie

Prosil bym o pomoc w takiej kwesti :

Mam zapytanie

  1. <?php
  2. $pobierz_pliki=(mysql_query("select p.*, u.login, date_format(p.data,'%Y-%m-%d') data, k.nazwa from pliki_u p, users_u u , kategorie_u k where u.id=p.id_us
    er and k.id_kat=p.id_kat and p.tytul where lower(tytul) like '%"
    .strtolower($fraza)."%' ".$zapytanie." order by p.data desc, p.tytul asc limit ".$poczatek.",".$ile_plikow_na_stronie."")); 
  3. ?>


ale chcialby zeby to zapytanie pobierala z bazy danych fraze ktora ma duze i mael litery

Np.

Jezeli wpisze sie slowo - adam to zeby wysietlam wszystko co zawiera fraze adam bez znaczenia czy to sa duze czy male litery:

Adam
adam
aDam

Dla jasnieszego przedstawienia problemy zalaczam caly skrypt php odpowiedzialny za wyszukiwanie :

  1. <? 
  2. if(isset($_POST['fraza']))  // ustawianie zmiennych 
  3. { 
  4. $fraza=$_POST['fraza']; 
  5.  
  6. $kat=$_POST['kat']; 
  7. }else 
  8.      { 
  9.          $fraza=urldecode($_GET['fraza']); 
  10.          $kat=$_GET['kat']; 
  11.      } 
  12. if(strlen(trim($fraza))==0) 
  13. echo '<TABLE  HEIGHT=550PX BORDER=0><TR><TD VALIGN=MIDDLE ALIGN=CENTER><B>It little data - was not it been possible to find file</B></TD></TR></TABLE>'; 
  14. else 
  15. { 
  16.  
  17.  
  18. if(($kat!=0) and is_numeric($kat)) 
  19. { 
  20. $zapytanie=" and id_kat='".$kat."'";   // czesc do pobierania konkretnych plików 
  21. } 
  22. $ile_plikow=mysql_fetch_array(mysql_query("select count(*) ile from pliki_u where tytul like '%".$fraza."%' ".$zapytanie." ")); 
  23. // porcjowanie biggrin.gif 
  24. if($ile_plikow['ile']==0) 
  25.   echo '<TABLE  HEIGHT=550PX BORDER=0><TR><TD VALIGN=MIDDLE ALIGN=CENTER><B>It does not fulfil files passed criterions</B></TD></TR></TABLE>'; 
  26. else 
  27.     { 
  28.  
  29.                     uwaga('Found '.$ile_plikow['ile'].' files<br /><br />')   ; 
  30.                     $cyferek=ceil($ile_plikow['ile']/$ile_plikow_na_stronie); 
  31.  
  32.                     // tworzenie linków dla porcji 
  33.                     for($i=1;$i<=$cyferek;$i++) 
  34.                       { 
  35.                        if(!is_numeric($_GET['start'])) $_GET['start']=1; 
  36.                        if(($_GET['start']==$i) ) 
  37.                        $cyfry.=' [<b>'.$i.'</b>]'; 
  38.                        else 
  39.                        $cyfry.=' [<a href=?p=szukaj&fraza='.urlencode($fraza).'&kat='.$kat.'&start='.$i.'>'.$i.'</a>]'; 
  40.                       } 
  41.  
  42. if(!is_numeric($_GET['start'])) // przygotowanie do zapytania do bazy 
  43. $_GET['start']=1; 
  44. $poczatek=($_GET['start']*$ile_plikow_na_stronie)-$ile_plikow_na_stronie;    // ustawienie od ktorego pliku maja byc pobierane pliki 
  45. $pobierz_pliki=(mysql_query("select p.*, u.login, date_format(p.data,'%Y-%m-%d') data, k.nazwa from pliki_u p, users_u u , kategorie_u k  where u.id=p.id_u
    ser and k.id_kat=p.id_kat and p.tytul like '%"
    .$fraza."%' ".$zapytanie." order by p.data desc, p.tytul asc")); 
  46. // wyswietlanie plików w danej kategorii 
  47. echo '<table width=90%><tr style="font-weight:bold" align=center><td>Date</td><td>Category</td><td>Title</td><td>Added by</td><td>Par</td><td>URL</td><td>Get's</td><td>GET</td></tr>'; 
  48.         while($p=mysql_fetch_array($pobierz_pliki)) 
  49.               { 
  50.                   if($p['format']) // wyswietlanie formatu . PAL NTSC 
  51.                     $for=$p['format']; 
  52.                   else 
  53.                       $for=''; 
  54.                       if(isset($_SESSION['login']) and is_numeric($_SESSION['id'])) 
  55.                            { 
  56.                            $link='pobierz.php?id='.$p['id_pliku'];// link do pobrania pliku 
  57.                            $link='<a href="'.$link.'" onclick="return okno(''.$link.'',100,100)"><img src=graph/pobierz.gif></a>'; 
  58.                            } 
  59.                       else{ 
  60.                            $link='<a href=?kom=blad><img src=graph/pobierz.gif></A>'; 
  61.                       } 
  62.                      if($p['url']) 
  63.                      { 
  64.                       if(substr($p['url'],0,4)!='http') 
  65.                          $p['url']='http://'.$p['url']; 
  66.  
  67.                      $url='<a href='.$p['url'].' target=blank><img src="graph/url.gif"></a>'; 
  68.                      } 
  69.                      else 
  70.                       $url=''; 
  71.  
  72.  
  73.  
  74.  
  75.                   echo '<tr align=center><td>'.$p['data'].'</td><td>'.$p['nazwa'].'</td><td align=left>'.$p['tytul'].' '.$for.'</td><td>'.$p['login'].'</td><td><img src=graph/'.$p['par'].'.gif></td><td>'.$url.'</td><td>'.$p['pobrano'].'</td><td>'.$link.'</td></tr>'; 
  76.  
  77.               } 
  78. echo '</table><br />'.$cyfry; 
  79.   } 
  80. } 
  81. ?>


zapytania:
  1. SELECT p.*, u.login, date_format(p.DATA,'%Y-%m-%d') DATA, k.nazwa
  2. FROM pliki_u p, users_u u , kategorie_u k WHERE u.id=p.id_user AND k.id_kat=p.id_kat AND p.tytul LIKE "%Pro%" ORDER BY p.DATA DESC, p.tytul ASC LIMIT 0, 10

i
  1. SELECT p.*, u.login, date_format(p.DATA,'%Y-%m-%d') DATA, k.nazwa
  2. FROM pliki_u p, users_u u , kategorie_u k WHERE u.id=p.id_user AND k.id_kat=p.id_kat AND p.tytul LIKE "%pro%" ORDER BY p.DATA DESC, p.tytul ASC LIMIT 0, 10


wykonane bezposrednio w phpMyAdminie daja rozne wyniki

Dziekuje za pomoc
mike
1. Pytanie jest związane z MySQL a nie z php. Bo w rzeczywistości interesuje Cię forma zapytania. Przenosze na Bazy danych -> MySQL
2. Masz w tym zapytaniu strtolower(). Pozbądź się tych funkcji (i w php i w MySQL) a zadziała dobrze.
SongoQ
  1. SELECT *
  2. FROM tabela WHERE upper(pole) LIKE upper('ddd%')
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.