Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MSSQL][PHP]przypadkowa liczba z wyjatkiem liczb juz zapisanych
Forum PHP.pl > Forum > Przedszkole
masterbx2
Witam! stworzylem funkcje do tworzenia przypadkowego ciagu liczb

  1. function randomstring($length = 1) {
  2. $chars = "1234567890";
  3. srand((double)microtime()*1000000);
  4. $i = 0; // Counter auf null
  5. while ($i < $length) {
  6. $num = rand() % strlen($chars);
  7. $tmp = substr($chars, $num, 1);
  8. $pass = $pass . $tmp;
  9. $i++;
  10. }
  11. $forbidden = array(1, 2, 3, 4, 5, 6, 7, 8, 9);
  12. if(in_array($pass,$forbidden))
  13. {
  14. return randomstring(1);
  15. }
  16. else return $pass;
  17. }
  18.  
  19. $pw = randomstring(1);
  20.  
  21. if (isset($pass)){echo $pass;}
  22. if (isset($pw)){echo $pw;}



wszystko pieknie dziala. problem polea teraz na tym ze mam juz liczby zapisane w tabeli sql i chce je pobierac jako liczby zakazane czyli wkleic jakos liczby $exist jako $forbidden

na poczatku mam jeszcze taki skrypt do pobierania istniejacych juz liczb.
  1. $query = mysql_query("SELECT id FROM tabela");
  2. while ($row = mysql_fetch_assoc($query))
  3. {
  4. $exist = $row['id'];
  5. }

aeaeae
Może wrzuć $exist jako argument funkcji?
masterbx2
Cytat(aeaeae @ 6.06.2011, 13:35:27 ) *
Może wrzuć $exist jako argument funkcji?


jakkolwiek nie probuje zawsze mi jakis blad wyskakuje
aeaeae
W deklaracji:
  1. function randomstring($exist , $length = 1)


Wywołanie:
  1. $pw = randomstring($exist, 1);
erix
A jakim prawem to Ci normalnie zadziała? tongue.gif

Ja się uczyłem, że parametry z wartością ustaloną umieszcza się na końcu deklaracji funkcji.
aeaeae
No tak, być może ja też się uczyłem takich rzeczy. tongue.gif Już poprawiam ...
masterbx2
dobrze czyli domyslam sie ze musze odrazu wywalic zmienna $forbidden i wywolac calosc tak: $pw = randomstring($exist, 1);


  1. $query = mysql_query("SELECT user_id FROM users");
  2. while ($row = mysql_fetch_assoc($query))
  3. {
  4.  
  5. $exist = $row['user_id'];
  6.  
  7. echo $exist;
  8. }
  9.  
  10.  
  11.  
  12. function randomstring($exist , $length = 1)
  13. {
  14. $chars = "1234567890";
  15.  
  16. srand((double)microtime()*1000000);
  17. $i = 0;
  18. while ($i < $length) {
  19.  
  20. $num = rand() % strlen($chars);
  21.  
  22. $tmp = substr($chars, $num, 1);
  23.  
  24. $pass = $pass . $tmp;
  25.  
  26. $i++;
  27. }
  28.  
  29. return $pass;
  30. }
  31.  
  32. $pw = randomstring($exist, 1);
  33.  
  34. echo $pw;
  35.  


teraz wychodzi kolejny problem bo musze podlaczyc jakos zapytanie z tabeli pod te funkcje. gdy skrypt jest taki jak powyzej - $exist jest niezdefiniowany a jak wrzuce ta funkcje w pentle while to wyskakuja bledy...
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.