Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> losowy wynik
dragonballpj
post
Post #1





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 11.06.2002

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


Ma to wyświetlić losowy wpis z tabeli ale jakoś nie wyświetla (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) acha chciał bym wyświetlic dane z pola kategoria i tytul

Kod
$ile = mysql_num_rows(mysql_query('SELECT download FROM pliki4'));

$rand = rand(0,$ile);

$query = mysql_query('SELECT * FROM pliki4 LIMIT '.$rand.',1');

$dane = mysql_fetch_row($query);

   while($row = mysql_fetch_array($query)) {

      echo $row['kategoria'];

      echo $row['tytul'];

   }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 15)
spenalzo
post
Post #2





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Zeby wyciągnąć losowy to zrób tak:
[sql:1:80245d8b82]SELECT * FROM pliki4 LIMIT 1 ORDER BY RAND()[/sql:1:80245d8b82]
i bedziesz miał jeden losowy wynik.
Go to the top of the page
+Quote Post
dragonballpj
post
Post #3





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 11.06.2002

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


a byś tak to wstawił w kod php?? bo ja zabardzo kumaty nie jestem
Go to the top of the page
+Quote Post
spenalzo
post
Post #4





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


[php:1:6ba63cc9bc]<?php
$query = mysql_query('SELECT * FROM pliki4 LIMIT 1 ORDER BY RAND()');
$row = mysql_fetch_array($query)
echo $row['kategoria'];
echo $row['tytul'];
?>[/php:1:6ba63cc9bc]
Go to the top of the page
+Quote Post
dragonballpj
post
Post #5





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 11.06.2002

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


niestety nic nie wyświetla (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
spenalzo
post
Post #6





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


[php:1:3059b59401]<?php
$query = mysql_query('SELECT * FROM pliki4 LIMIT 1 ORDER BY RAND()') or die(mysql_error());
$row = mysql_fetch_array($query)
echo $row['kategoria'];
echo $row['tytul'];
echo "<pre>";
print_r($row);
echo "</pre>";
?>[/php:1:3059b59401]

Co sieteraz pokazuje (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
dragonballpj
post
Post #7





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 11.06.2002

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


Something is wrong in your syntax obok 'ORDER BY RAND()' w linii 1

Kod
<? OpenTable(); ?>

<B>Polecamy</B>

<? OpenTable2(); ?>

<?

$url = "localhost"; //adres bazy danych

$login = "root"; //nazwa użytkownika bazy danych

$haslo = "krasnal"; //hasło użytkownika bazy danych

$dbname = "mysql"; //nazwa bazy danych



mysql_connect($url,$login,$haslo);

mysql_select_db($dbname);



$query = mysql_query('SELECT * FROM pliki4 LIMIT 1 ORDER BY RAND()') or

die(mysql_error());  

$row = mysql_fetch_array($query);

echo $row['kategoria'];  

echo $row['tytul'];  

echo "<pre>";

print_r($row);

echo "</pre>";



?>



<? CloseTable(); ?>
Go to the top of the page
+Quote Post
FiDO
post
Post #8





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


[sql:1:7911933ea4]SELECT *
FROM pliki4
ORDER BY RAND()
LIMIT 1[/sql:1:7911933ea4]
Go to the top of the page
+Quote Post
dragonballpj
post
Post #9





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 11.06.2002

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


działa ale jakoś ciągle losuje 1 wpis z 2 wpisów które są próbowałem z 50 razy co jest??
Go to the top of the page
+Quote Post
dragonballpj
post
Post #10





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 11.06.2002

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


Może by zliczyć ilość wpisów z tabeli i w ich zakresie wylosować liczbę tak jak tu na dole?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) może ktoś to czai?

Kod
$jakat = losowa liczba



$zapytanie = "SELECT * FROM `pliki4` WHERE `download` LIKE '$jakat'";

$wykonaj = mysql_query($zapytanie);

while($wiersz = mysql_fetch_array($wykonaj))

{



echo "<B>".$wiersz['kategoria']."".$wiersz['tytul']."</B>";
Go to the top of the page
+Quote Post
scanner
post
Post #11





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat
[sql:1:6b92ddc563]SELECT * FROM pliki4 ORDER BY RAND() LIMIT 1[/sql:1:6b92ddc563]
U mnie to działało wybornie. Sugeruję, żebys nie sprawdzał na dwu wpisach, bo to nawet nie jest wstęp do próbki kontrolnej. Dodaj wpisów kilka(naście) i zobacz, czy działa.
Go to the top of the page
+Quote Post
dragonballpj
post
Post #12





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 11.06.2002

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


hmmmmmmmm powiem tak działa na 5 wpisach (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)


jakie jest minimum wpisów??
Go to the top of the page
+Quote Post
scanner
post
Post #13





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Nie ma limitów.
Po prostu taki jest urok kazdego generatora liczb losowych. Im większa możliwość wyboru, tym bardziej losowe wyniki dostaniesz.
Go to the top of the page
+Quote Post
FiDO
post
Post #14





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Teoretycznie zadne, ale czym ich wiecej, tym latwiej wykluczyc powtarzanie sie jednego rekordu kilkakrotnie.

Pozatym wlasnie sprawdzilem na 2 rekordach i dziala bez problemu (na jakies 20 losowan rozklad byl prawie "fifty-fifty")
Go to the top of the page
+Quote Post
dragonballpj
post
Post #15





Grupa: Zarejestrowani
Postów: 45
Pomógł: 0
Dołączył: 11.06.2002

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


miałeś szczęście że na 2 wpisach ci losowało normalnie ami niestety ni (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) ciągle jeden rekor pokazywało (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
debian
post
Post #16





Grupa: Zarejestrowani
Postów: 122
Pomógł: 1
Dołączył: 6.11.2008
Skąd: /etc/passwd

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


Sory że odkopuje temat (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ale wkoncu rozwiązałem ten problem
Kod
$query = mysql_query("SELECT * FROM tabela ORDER BY RAND() LIMIT 1") or die ("Błąd w zapytaniu");
    $row = mysql_fetch_assoc($query);
    echo $row['rekord'];
wtedy działa
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 19:17