Kombination von Zufallszahlen und Buchstaben

Nein, die ID hat INT(11).

Manuell in phpmyadmin kann ich weitere Zeilen einfügen.
Habe jetzt anstatt die 50000 mal nur 5 angegeben... tut sich nix.

:(
 
Mmmh..ich habs jetzt nicht ausgerechnet, aber möglicherweise gibt es nicht mehr einzigartige Kombinationen für diesen String :confused:

Vielleicht ist ja hier jemand fit in Mathe(ist bei mir schon so lange her :-( )...der das mal ausrechnen könnte.
 
Also von den Kombinationen sollte es eigentlich reichen.

Jetzt glaube ich, dass es tätsächlich am generieren liegt.
Wie im Code zu sehen ist, habe ich ja jede Zahl einzeln generiert und dann zusammen gefügt. Jetzt habe ich die beiden Zahlenblöcke mit rand(0,999) generierenlassen und ein/zweistellige Ergebnisse mit Nullen aufgefüllt.

Jetzt sind es o staune 65563 Datensätze in der DB.
Also ist die DB unschuldig.
Nur wie kommt es, dass er doch so oft, die gleichen Kombinationen nimmt?
Es muss nur ein Buchstabe anders sein, und er hat wieder X Kombinationsmöglichkeiten.
*verzweifel*
 
mit folgendem code hab ich gerade über 500.000 schlüssel erzeugt und diese in eine datei geschrieben.
der einzige unterschied zu deinem ist das sich das script in gewissen schritten neu aufruft bis er die gewünschte anzahl schlüssel erzeugt hat.

allerdings ist im moment keine abfrage nach doppelten schlüsseln mit eingebaut bzw. aukommentiert.
hatte vorher alle generierten schlüssel in ein array eingefügt, da bricht er jedoch bei ca. 30.000 schlüsseln ab. nehm ich das array raus gehts einwandfrei.

PHP:
<?php 
$schritt = 10000;
$handle = fopen("login.txt", "a");
$buchstaben = array(A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z); 
if ($count <= "500000") {


$data = array(); 
$i = 0;
srand ((double)microtime()*1000000); 
for($i=1; $i<=$schritt; $i++) 
{ 

    $rand = rand(0,25);  
    $rand1 = rand(0,25); 
    $rand2 = rand(0,9); 
    $rand3 = rand(0,9); 
    $rand4 = rand(0,9); 
    $rand5 = rand(0,25); 
    $rand6 = rand(0,9); 
    $rand7 = rand(0,9); 
    $rand8 = rand(0,9); 
    $string = "$buchstaben[$rand]$buchstaben[$rand1]$rand2$rand3$rand4$buchstaben[$rand5]$rand6$rand7$rand8"; 

if (! in_array($string, $data)) {
//$data[] = $string;
fwrite ($handle, $string."\n");
}
     

} 
fclose($handle);
$count = $count + $schritt;
header("location: index.php?count=".$count); exit();
//echo "<a href=index.php?count=$count>weiter</a>";
} else {
echo "fertig"; }
?>

wenn du das ganze einmalig brauchst dann ruf dein script einfach öfter auf bis du alle schlüssel hast.
 
Ich glaube ich habe es jetzt auch.

Habe vor jedem rand srand ((double)microtime()*1000000); neu initiiert.
Durch die Doppelkontrolle dauert es natürlich etwas länger, habe jetzt 120000 Codes in der DB und es wird mehr.

Denke mal das sich das Thema damit erledigt hat.
Vielen Dank an alle!
 
Zurück