Ocena wątku:
- 0 głosów - średnia: 0
- 1
- 2
- 3
- 4
- 5
Losowanie id
|
Liczba postów: 49
Liczba wątków: 14
Dołączył: 14-04-2009
Reputacja:
0
Witam
Potrzebuję funkcji, która by losowała identyfikator. ID nie może już wcześniej wystąpić. Utworzone poprzednio id znajdują się w co trzeciej pozycji w tabeli "$notatki".
Kod: function przeszukaj( $id )
{
$notatki = przetwozListe();
$b = count($notatki);
$wys = 0;
for($a=0;$a<=$b;$a+=3)
{
if((string)$notatki[$n]===(string)$id)
{
$wys = 1;
}
}
return $wys;
}
function szukajId()
{
$id_rand = rand(1,10);
while(przeszukaj( $id_rand )==1)
{
$id_rand = rand(1,10);
}
return $id_rand;
}
Oto co do tej pory napisałem. Jednak kod nie działa. To znaczy nie do końca. Losuje on liczbę, ale nie zbyt ma na uwadze to czy jest ona na liście czy jej nie ma. proszę o pomoc!
Pozdrawiam Rafał Jankowski
Liczba postów: 938
Liczba wątków: 22
Dołączył: 21-01-2009
Reputacja:
23
Nie lepiej i wygodniej będzie użyć funkcji rand, a w bazie w jednym miejscu po przecinku zapisywać wylosowane liczby np. 1,3,5,6,7?
Liczba postów: 49
Liczba wątków: 14
Dołączył: 14-04-2009
Reputacja:
0
Nie chcę tego robić z użyciem baz danych. Nigdy ich nie używałem i nie chcę przy tym projekcie. Wolę pracować na plikach.
Liczba postów: 2,587
Liczba wątków: 2
Dołączył: 03-04-2010
Reputacja:
58
(30-06-2010, 18:35)Rafik01 napisał(a): Nie chcę tego robić z użyciem baz danych. Nigdy ich nie używałem i nie chcę przy tym projekcie. Wolę pracować na plikach.
No to zrób na plikach, masz rozwiązanie, do dzieła. Nikt nie powiedział, że musi być to zrobione na bazie danych.
Liczba postów: 49
Liczba wątków: 14
Dołączył: 14-04-2009
Reputacja:
0
Ok. Oto co do tej pory wymyśliłem:
Kod: function szukajId()
{
$id_rand = rand(1,10);
$nazwa_pliku = 'ids.txt';
$ids = file($nazwa_pliku);
while(in_array((string)$id_rand,$ids,TRUE))
{
$id_rand = rand(1,10);
}
return $id_rand;
}
A tak plik ids.txt:
Jednak nadal coś nie działa. Jest jak wcześniej. Zmienna wyświetla liczbę z zakresu 1-10, ale jednak nie zwraca uwagi na to czy znajduje się w tablicy. Czekam teraz na osobę, która poprawi tą funkcję.
Liczba postów: 938
Liczba wątków: 22
Dołączył: 21-01-2009
Reputacja:
23
A ja czekam na króliczka Playboya który zajedzie po mnie czerwonym Ferrari... zapisz to tak w pliku 1,2,3,4 a później wyciągnij jako tablicę, i wartość która wylosujesz sprawdź w tablicy czy nie ma.
Kod: <?php
$nazwa_pliku = 'plik.txt';
$ids = file($nazwa_pliku);
$tablica = $ids[0];
$liczby = explode(",", $tablica);
$cos = 1;
while($cos == 1) {
$twoja_liczba = rand(1, 10);
if(!array_key_exists($twoja_liczba, $liczby)) {
$tablica = $tablica . $twoja_liczba . ',';
$cos = 2;
}
}
?>
$tablica to nowy ciąg który masz zapisać w pliku leniu
Liczba postów: 49
Liczba wątków: 14
Dołączył: 14-04-2009
Reputacja:
0
 Już i tak sam to inaczej wykonałem  . Tak czy inaczej dzięki wszystkim za pomoc.
Liczba postów: 938
Liczba wątków: 22
Dołączył: 21-01-2009
Reputacja:
23
Człowieku lepiej już nic nie pisz, trzeba było wcześniej dodać, że masz już swój sposób to bym nie marnował swojego czasu.
Typowy internetowy troll. Temat zamykam.
|
Użytkownicy przeglądający ten wątek: 1 gości
|
|
Sponsorzy i przyjaciele
|
|
|