Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] losowa kolejność
Forum PHP.pl > Forum > Przedszkole
sirkus
mam taki problem:
mam zmienną:
$ilewpisow=20; // liczba ta jest pobierana z bazy i jest za każdym razem różna

chciałbym teraz stworzyć tablice składająca się z 20 (<= $ilewpisow) elementów
$my_array = array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20);

i przeszuflować ją
shuffle($my_array);
print_r($my_array);


chciałem to rozwiązać :

for($i = 1; $i <$ilewpisow; $i++){
$licz++;
$do_shuffle=$do_shuffle.', '.$licz;
}
$my_array = array($do_shuffle);
shuffle($my_array);
print_r($my_array);


ale to nie przejdzie bo wtedy całe $do_shuffle jest traktowane jako 1element tablicy
pomoże ktoś z ta błahostką questionmark.gif
kefirek
  1. <?php
  2. $ilewpisow=20;
  3. $my_array = range(0, $ilewpisow);
  4. shuffle($my_array);
  5. print_r($my_array);
  6.  
  7. while (list(, $liczba) = each($my_array)) {
  8.    echo "$liczba ";
  9. }
  10.  
  11.  
  12. ?>
sirkus
dzięki kefirek

a jeszcze jedno laickie pytanie, jak w jednym zapytaniu do bazy wypisać kilka rekordów o podanych ID bo niestety w ten sposób nie daje rady
SELECT * FROM tabela WHERE id='46, 31, 55, 33, 51, 59'

a niechce robić tego w formie
SELECT * FROM tabela WHERE (id ='1') OR (id ='2') OR (id ='3') OR (id ='4')

zależy mi na tym aby można było wszystkie rekordy do wywołania wypisać po przecinku lub średniku a nie osobno przypisywać do każdego id odpowiednią wartość
kefirek
  1. WHERE id IN (46, 31, 55, 33, 51, 59)
Fifi209
SELECT * FROM `tabela` WHERE `id` IN(1,3,5,8);


winksmiley.jpg
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.