witam mam problem mam taki generator kodu

  1. function generuj_kod(){
  2. $config['mode'] = array(true, true, true);
  3. $config['length'] = 8;
  4. $letters = 'abcdefghijklmnopqrstuvwxyz';
  5.  
  6. if($config['mode'][0])
  7. {
  8. $values = '0123456789'; // Można użyć tego: implode('', range(0, 9));
  9. }
  10.  
  11. if($config['mode'][1])
  12. {
  13. $values .= $letters;
  14. }
  15.  
  16. if($config['mode'][2])
  17. {
  18. $values .= strtoupper($letters);
  19. }
  20.  
  21. for($h = 0, $length = (strlen($values) - 1); $h < $config['length']; ++$h)
  22. {
  23. $random_symbols .= substr($values, mt_rand(0, $length), 1);
  24. }
  25.  
  26. $wygenerowny_kod = htmlspecialchars($random_symbols);
  27. }


i jak zrobic aby algorytm sprawdzal czy wystepuje juz taki kod w bazie danych a jezeli wystapil to ponownie go losuje mam taki kod ale cos nie dziala ;/

  1. $i = 0;
  2. while ($i == 0) {
  3. $query = "SELECT * FROM zmienna WHERE kod = $wygenerowny_kod";
  4. $result = mysql_query ($query) or die ("Zapytanie zakończone niepowodzeniem");
  5.  
  6. if(mysql_num_rows($result) == 0) {
  7. $i=1;
  8. $kod = $wygenerowny_kod;
  9. echo $kod;
  10. }
  11. else
  12. {
  13. generuj_kod();
  14. $kod = $wygenerowny_kod;
  15. echo $kod;
  16. }
  17. }