Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Nie kolejny, tylko losowy
Kano
post 6.03.2004, 18:40:24
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 13.02.2004

Ostrzeżenie: (0%)
-----


Mam skrypt (http://www.emacs.dk/quote/), który codziennie wybiera nowy plik i wstawia go na stronę (www.grupaphp.com -> Wiersz dnia)

Czy ktoś wie jaki paramentr zmienić/ustawić w bazie danych, żeby był wybierany nie kolejny, tylko losowy plik. Wprowadziłem 40 plików, nazwałem je a001, a002, a003 itd. Skrypt codziennie "wyciąga" nowy plik, ale robi to w kolejności, tzn. dziś idzie a001, jutro a002 i tak aż do a 040. Chciałbym, żeby te pliki były brane losowo (np. a023, potem a007).

O php nie mam zielonego pojęcia, więc jeżeli sprawa nie jest skomplikowana, prosiłbym o podanie konkretnego polecenia i konkretnego miejsca, w które trzeba wprowadzić zmianę.

Pozdrawiam,
Kano
Go to the top of the page
+Quote Post
Denver
post 7.03.2004, 11:02:38
Post #2





Grupa: Zarejestrowani
Postów: 132
Pomógł: 0
Dołączył: 24.09.2003
Skąd: Giżycko / Wrocław

Ostrzeżenie: (0%)
-----


Jesli chcesz wybrac losowy rekord z bazy danych, to proponuje tak:

[sql:1:435f21619d]SELECT * FROM tabela ORDER BY RAND() LIMIT 1[/sql:1:435f21619d]


--------------------
Go to the top of the page
+Quote Post
GrZeCh
post 3.06.2004, 23:09:46
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 10.05.2004
Skąd: Lubuskie / Gorzów Wlkp

Ostrzeżenie: (0%)
-----


Witam!
Szukalem bardzo podobnego rozwiazania jak kolega Kano. Jednak cytowany przez Ciebie KOD SQL mi nie dzialal (nie wiem czemu wlasciwie). Naszukalem sie w sieci innych rozwiazan i znalazlem cos takiego:

[sql:1:3b89b645f3]SELECT *
FROM tabela
ORDER BY rand(" . time() . " * " . time() . ")
LIMIT 1[/sql:1:3b89b645f3]

.. dzialac to dziala ale czy by mogl mi ktos wytlumaczyc na czym to polega?


--------------------
foto-grafik.pl
Go to the top of the page
+Quote Post
tiraeth
post 4.06.2004, 13:25:40
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 789
Pomógł: 41
Dołączył: 30.10.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Polecam zrobić plik quotes.php a w nim:

[php:1:b6a55d72d3]<?php
$QuotesCat = "cytaty/";

function RandomQuote ($dirName)
{
$z = 0;
$Dir = opendir($dirName);
$a = 0;
while(($entry = readdir($Dir)) !== false)
{
if ($entry !== "." && $entry !== ".." && eregi(".dat", $entry) && $a<=4)
{
$a++;
$files[$z] = $entry;
$z++;
}
}
return $files;
closedir($Dir);
}


$Quotes = RandomQuote($QuotesCat);
if($Quotes[0] == "")
{
echo "Brak Cytatów!!";
}
else
{
sort($Quotes);
reset($Quotes);

$HowMany = count($Quotes)--;

$Randomize = rand(0, $HowMany);

echo $Quotes[$Randomize];
}
?>[/php:1:b6a55d72d3]

i później go includować do strony, na której mają być wyświetlone cytaty smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 5.07.2025 - 13:41