Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][MySQL] Jak odczytac wszystkie ID z bazy i wylosować jeden z nich ?
dawhol
post
Post #1





Grupa: Zarejestrowani
Postów: 256
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Ostrów Wielkopolski

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


Problem polega na tym że po pierwsze nie wiem jak odczytac wszystkie wartości ID z bazy danych i wylosowac jedno ze znajdujacych sie tam ID funkcja rand losuje liczby np z jakiegos przedziału jednak powiedzmy ze w bazie jest 10 wierszy pierwszy ma id 1 a ostatni 97 np poniewaz jakies tam zostały usuniete a jak wiadomo ID pojawia sie tylko raz smile.gif no i niewiem jak wylosowac liczbe tak aby zawsze istniało dane ID w bazie.

Prosze o pomoc lub propozycje jak inaczej rozwiazac ten problem ?

EDIT:
Ja bym zrobił to tak wczytał wszystkie pola ID z bazy do tablicy za pomoca foreach smile.gif tablica[$i] ... $i++ itd ... a pozniej wylosował liczbe od 0 do największego $i winksmiley.jpg.

chyba ze jest inny prostszy sposób ?

Ten post edytował dawhol 15.07.2007, 20:08:01


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





Grupa: Zarejestrowani
Postów: 130
Pomógł: 1
Dołączył: 29.06.2007

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


A nie możesz poprostu losować jednego pola z bazy? takie rozwiązanie będzie napewno wydajniejsze, jeśli nie to praktycznie już sobie odpowiedziałeś - zapis wartości pól do tablicy i później array_rand" title="Zobacz w manualu PHP" target="_manual.
Go to the top of the page
+Quote Post
dawhol
post
Post #3





Grupa: Zarejestrowani
Postów: 256
Pomógł: 0
Dołączył: 19.07.2006
Skąd: Ostrów Wielkopolski

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


losowac pola z bazy ? tj jak ? winksmiley.jpg bo nie bardzo wiem winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
flv
post
Post #4





Grupa: Zarejestrowani
Postów: 130
Pomógł: 1
Dołączył: 29.06.2007

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


  1. SELECT id FROM tabela ORDER BY RAND() LIMIT 1;

tak będzie chyba prościej i co ważniejsze wydajniej.
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 Aktualny czas: 22.08.2025 - 08:31