Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][sql] Zmienna w zapytaniu....
Forum PHP.pl > Forum > Przedszkole
fredzio90
otóż napisałem sobie takie wyszukiwanie które nad tabelką są litery po kliknięciu w nią pokazują się dane z bazy zaczynające się na klikniętą literę.. i mam taki kod w takiej funkcji odpowiadającej za to:

  1. <?php
  2. $litera = $_GET['litera'];
  3.  
  4. if($litera<>'all') {
  5. $_q = "ORDER by imie_nazwisko ASC LIMIT $limit,$limit_";
  6. } else {
  7. $_q = "WHERE imie_nazwisko LIKE '$litera%' ORDER by imie_nazwisko ASC LIMIT $limit,$limit_";
  8. }
  9. ?>



i zapytanie:

  1. $result = @mysql_query("SELECT * FROM tabela $_q");


i chce żeby po kliknięci w przycisk Wszystkie ( all ) pokazały się wszystkie wpiosy w bazie... zmienne limit,limit_ odpowiadają za stronnicowanie....

i jak kilkam na byle jaką litere to nic sie nie pokazuje a wpis zaczynajace się na klikaną itere znajduje się w bazie.... jak kilkam to nic się nie okazuje..
piczu
ten warunek to chyba odwrotnie
fredzio90
ok zgadzam się ale i tam po kliknięciu w daną litere to nic się nie pokazuje......

moja funkcja:

  1. <?php
  2. function artysci_litera() {
  3. global $litera, $nick, $action, $id, $nick, $page, $teksty_art_tbl, $color, $op, $goto, $theme, $group_tbl, $theme;
  4.  
  5. $litera = $_GET['litera'];
  6.  
  7.  
  8. if($litera<>'all') {
  9. $_q = "WHERE imie_nazwisko LIKE '$litera%' ORDER by imie_nazwisko ASC LIMIT $limit,$limit_";
  10. } else {
  11. $_q = "ORDER by imie_nazwisko ASC LIMIT $limit,$limit_";
  12. }
  13.  
  14. $limit_ = 25;
  15. if(strlen($litera)>1) $litera = substr($litera, 0, 1);
  16.  
  17. $limit = $page * $limit_;
  18. $result = @mysql_query("SELECT * FROM $teksty_art_tbl $_q");
  19.  
  20.  
  21. $duze = strtoupper($litera);
  22.  
  23. $art_count = mysql_num_rows(mysql_query("SELECT count(*) FROM $teksty_art_tbl WHERE imie_nazwisko LIKE '$litera%'"));
  24.  
  25. echo '<center>Artystów na litere <b>'.$duze.'</b> : '.$art_count.'</center><br>';
  26.  
  27. echo '<table width="100%" align="center" cellpadding="3" frame="solid">
  28. <tr>
  29. <td bgcolor="'.$color[6].'" class="uni_01"><b><font color="'.$color[7].'">Imie i Nazwisko</td>
  30. </tr>';
  31.  
  32. while($r = @mysql_fetch_array($result)) {
  33.  
  34. $id = $r['id'];
  35. $name = $r['imie_nazwisko'];
  36.  
  37. if($a==5) {
  38. $bg = $color[6];
  39. $a = 0;
  40. } else {
  41. $bg = $color[5];
  42. $a = 5;
  43. }
  44.  
  45.  
  46. echo '<tr>
  47. <td bgcolor="'.$bg.'" class="uni_01"><a href="teksty.php?cmd=artysta&id='.$id.'">'.$name.'</a></td>
  48. </tr>
  49. ';
  50.  
  51. }
  52. echo "</table>";
  53. echo '<br><div align="center" class="uni_01">';
  54. if($ile<>0) {
  55. $ile = $ile / $limit_;
  56. $ile = ceil($ile);
  57. $bbb = 0;
  58. while($bbb<>$ile) {
  59. $ccc = $bbb + 1;
  60. if($page==$bbb) {
  61. echo '[<b>'.$ccc.'</b>] ';
  62. } else {
  63. echo '[<a href="teksty.php?page='.$bbb.'&cmd=artysci&litera='.$litera.'">'.$ccc.'</a>] ';
  64. }
  65. $bbb++;
  66. }
  67. } else {
  68. echo '[<b>1</b>] ';
  69. }
  70. echo '<br><br>';
  71.  
  72. }
  73. ?>
piczu
wyswietl wygenerowane zapytanie $_q i sprawdz czy jest poprawne, przydaloby sie tez skorzystac z ucfirst" title="Zobacz w manualu PHP" target="_manual przed wstawieniem litery do zapytania jesli to ma byc pierwsza litera nazwiska
fredzio90
wszystko ładnie pokazuje.... te wartości.... chyba musi być coś po stronie składni chyba... ;(

co moze byc nie tak questionmark.gif
styx
a te zmienne limit w zapytaniu to gdzieś indziej ustalasz? bo masz je dopieru po zapytaniu
fredzio90
te zmienne są na samym początku pliku.....
styx
te zmiene używasz w lini 11,12-tej a deklarujesz je 3 linie poźniej
fredzio90
racja, bardzo diękuje, Bóg zapłać tongue.gif
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.