Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [Sql] Jak "wybrać" 4 zdjęcia?
Forum PHP.pl > Forum > Przedszkole
Forgoot
Witam, mam oto taki kod sql prostej galerii:
  1. `id` int(10) UNSIGNED NOT NULL AUTO_INCREMENT,
  2. `data` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
  3. `tytul` varchar(255) NOT NULL DEFAULT '',
  4. `obr` varchar(255) NOT NULL DEFAULT '',
  5. PRIMARY KEY (`id`)

a tutaj kod php pliku galeria.php:
  1. <?
  2. $wynik = '';
  3.  
  4.  
  5. $wynik = implode ('', file('templates/galeria.html'));
  6. $lista = implode ('', file('templates/galeria_lista.html'));
  7. if ($strona < 1 or $strona=='')
  8. $strona = 1;
  9.  
  10. $zapytanie = 'SELECT obr, tytul, id FROM '.DB_PREFIX.'galeria WHERE obr!="" ';
  11.  
  12. $zapytanie .=' LIMIT '.($strona-1)*2*$config['ilosc_na_stronie_w_galeri'].', '.$config['ilosc_na_stronie_w_galeri']*2;
  13. $a = mysql_query($zapytanie);
  14. $i = 0;
  15. $tap = '';
  16. $wynik_lista ='';
  17. while ($dane = mysql_fetch_assoc($a))
  18. {
  19. if ($i%2==0)
  20. $lista2 = $lista;
  21. $tap = '<a href="galeria/'.$dane['obr'].'" target="_blank"><img src="galeria/m'.$dane['obr'].'" border="0" /><br />'.stripslashes($dane['tytul']).'</a>';
  22. $lista2 = str_replace('<!-- [tapeta'.($i%2).'] -->', $tap, $lista2);
  23. if ($i%2==1)
  24. $wynik_lista.=$lista2;
  25. $i++;
  26. }
  27. if ($i%2==1)
  28.  $wynik_lista.=$lista2;
  29.  
  30.  
  31. $zap='SELECT id FROM '.DB_PREFIX.'galeria WHERE obr!=""';
  32. $a = mysql_query($zap);
  33. $y=1; 
  34.  
  35. $ile=mysql_num_rows($a);
  36.  
  37. $strony='';
  38. $modulo=$ile%(2*$config['ilosc_na_stronie_w_galeri']);
  39. $ile-=$modulo;
  40.  
  41. $y=$ile/(2*$config['ilosc_na_stronie_w_galeri']);
  42.  
  43. if (($y!=&& $y!=1) || ($y==&& $modulo!=0))
  44. {
  45.  
  46. $strony= 'Strony: ';
  47. if ($modulo!=0) 
  48. $yy=$y+1;
  49. else
  50. $yy=$y;
  51.  
  52. for ($i=0; $i<$yy; $i++)
  53. {
  54. if (($i+1)==$strona)
  55. $strony.= '<span style="font-weight: bold; color: #ff0000;" >'.($i+1).'</span> ';
  56. else
  57. $strony.= '<a href="index.php?cms=galeria&strona='.($i+1).'">'.($i+1).'</a> ';
  58. }
  59. }
  60. $wynik = str_replace('<!-- [strony] -->', $strony, $wynik);
  61.  
  62.  
  63.  
  64. $wynik = str_replace('<!-- [lista] -->', $wynik_lista, $wynik);
  65. $index = str_replace('<!-- [blok-moduly] -->', $wynik, $index);
  66. ?>

Chcialbym zapytać jak "wybrać" 4 ostatnio dodane zdjęcia i wrzucic na stronę? Czy wogole da sie to zrobic?
Cienki1980
  1. SELECT * FROM table_name ORDER BY id DESC LIMIT 4
seaquest
order by id niekoniecznie może dać dobre wyniki, bo jeżeli najpierw dodam nowsze zdjęcie, a później starsze (chodzi o daty)

Więc ja proponuję:
  1. SELECT * FROM TABLE ORDER BY date DESC LIMIT 4
Forgoot
Cytat(seaquest @ 28.01.2007, 17:24:05 ) *
Więc ja proponuję:
  1. SELECT * FROM TABLE ORDER BY date DESC LIMIT 4

Mam to dać między znaczniki sql ?
Cienki1980
Cytat(seaquest @ 28.01.2007, 15:24:05 ) *
order by id niekoniecznie może dać dobre wyniki, bo jeżeli najpierw dodam nowsze zdjęcie, a później starsze (chodzi o daty)

Więc ja proponuję:
  1. SELECT * FROM TABLE ORDER BY date DESC LIMIT 4


4 ostatnie dodane zdjęcia .. czyli najwyższe 4 id ... dlaczego niby ma być źle tak jak napisałem questionmark.gif
maryaan
mialy byc ostatnio dodane a nie najnowsze wiec uzycie id jak najbardziej sie sprawdzi
Cytat
Mam to dać między znaczniki sql ?
znaczniki sql czyli co? dostales tresc zapytania wiec go wykonaj tak jak te zapytania ktore masz w swoim skrypcie
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.