Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyświetlanie wyników z bazy
Forum PHP.pl > Forum > Bazy danych > MySQL
mimol
Witam
Mam stronę na phpnuke.
I jest możliwość dodawania kawałów.
Chcę, aby na stronie głównej były losowo one wyświetlane..
Napisałem coś takiego:
  1. <?php
  2.  
  3.  $losowa = rand(1, 287);  //generuje liczbe losowa  z zakresu od 1 do 287 bo tyle jest kawalow w bazie
  4.  $zapytanie = "select * from nuke_poems where poemid=$losowa";  // przypisuje do zmiennej tresc zapytania
  5.  $wykonaj = mysql_query($zapytanie);  // wykonuje zapytanie
  6.  while($odpowiedz = mysql_fetch_array($wykonaj)) // przechwytuje odpowiedz bazy
  7.  {
  8.  $content =  "" . $odpowiedz['poem'] . " ";  // wyswietla odpowiedz i przypisuje ja do content ktory odpowiada za
  9.  }    // wyswietlenie odpowiedzi w odpowiednim bloczku
  10.  
  11.  ?>


Lecz to było w przypadku, gdy w bazie było 287 kawałów..
Lecz z dnia na dzień jest więcej..
Jak zrobić, abym nie musiał codziennie zmieniać
Kod
$losowa = rand(1, 287);

na wyższą wartość, tylko było to robione automatycznie?

Baza wygląda tak:
  1. --
  2. -- Struktura tabeli dla `nuke_poems`
  3. --
  4.  
  5. CREATE TABLE `nuke_poems` (
  6. `poemid` int(11) NOT NULL AUTO_INCREMENT,
  7. `author` varchar(100) NOT NULL,
  8. `email` varchar(100) NOT NULL,
  9. `date` datetime DEFAULT NULL,
  10. `name` varchar(100) NOT NULL,
  11. `cat` varchar(10) NOT NULL,
  12. `poem` text NOT NULL,
  13. `rating` varchar(100) NOT NULL DEFAULT '0',
  14. `ratingtot` varchar(100) NOT NULL DEFAULT '0',
  15. `hits` int(100) NOT NULL DEFAULT '0',
  16. `ratings` varchar(10) NOT NULL,
  17. UNIQUE KEY `id` (`poemid`)
  18. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=436 ;
  19.  
  20. --
  21. -- Zrzut danych tabeli `nuke_poems`
  22. --
  23.  
  24. INSERT INTO `nuke_poems` VALUES(1, 'Metallica', 'm@interia.pl', '2004-08-07 16:41:34', 'Jagiełło', '6', 'Tata krzyczy na Jasia: <br />\r\n- I znów pała z historii!! <br />\r\n- Tato, to przez Jagiełło!! <br />\r\n- To nie zadawaj się więcej z takim łobuzem!! ', '34', '7', 173, '4.85714285');
  25. INSERT INTO `nuke_poems` VALUES(2, 'Metallica', 'm@interia.pl', '2004-08-07 16:41:34', 'KOT', '15', 'Jasio idzie z mamą (blondynką)i zauważył kota. Pyta się mamy czy to kot, czy kotka, a ona na to: <br />\r\n- Jasiu, to kot. Nie widzisz, że ma wąsy... ', '22', '4', 184, '5.5');


Oczywiście jest tam więcej wpisów ( nie tylko 2 )
piaseq
Nie jest to zapewne rozwiązanie optymalne, ale to najprostsze co przychodzi mi do głowy. Na samym początku wykonaj zapytanie do bazy zliczające ilość dowcipów i wstaw tą wartość do rand.
wookieb
  1. SELECT * FROM nuke_poems ORDER BY RAND() LIMIT 1
xamrex
dzieki
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.