NetBull
Erfahrenes Mitglied
Hi NG,
ich versuche eine zufällige ID innerhalb einer mySQL Datenbank zu erzeugen.
Problem: Eine Datenbanktabelle soll mit einer zufälligen 64stelligen ID versehen werden, wobei natürlich jede ID einzigartig sein muss.
Nachdem ichunter mySQL keine Ergebnisse mit einerm definierten Format erzeugen konnte, habe ich ein PHP Tool geschrieben. Aber der Zufallsgenerator erzeugt schon nach etwa 100 ID's immer wieder ID's, die bereits vergeben wurden.
Wer kann mir sagen, wie ich entweder;
...unter mySQL eine automatische ID erzeuge, die aus 64 Zifffern oder Groß und Kleinbuchstaben besteht, bzw. ob es überhaupt eine Chance gibt
oder welchen Fehler ich im folgenden Skript habe
[Johannes Röttger]
Ich hab das mal schön gemacht.
[/Johannes Röttger]
ich versuche eine zufällige ID innerhalb einer mySQL Datenbank zu erzeugen.
Problem: Eine Datenbanktabelle soll mit einer zufälligen 64stelligen ID versehen werden, wobei natürlich jede ID einzigartig sein muss.
Nachdem ichunter mySQL keine Ergebnisse mit einerm definierten Format erzeugen konnte, habe ich ein PHP Tool geschrieben. Aber der Zufallsgenerator erzeugt schon nach etwa 100 ID's immer wieder ID's, die bereits vergeben wurden.
Wer kann mir sagen, wie ich entweder;
...unter mySQL eine automatische ID erzeuge, die aus 64 Zifffern oder Groß und Kleinbuchstaben besteht, bzw. ob es überhaupt eine Chance gibt
oder welchen Fehler ich im folgenden Skript habe
PHP:
<?php
//******************************************************************************************
function NeueZufallsID($stellen)
{ //*** ermittelt einen Zufallsstring von gewünschter Länge ($stellen)
//*** ... und gibt diese als String an das Aufrufende Script zurück
$shoproot = "http://localhost";
include ("$shoproot/OnlineShop/shop.cfg"); //*** Einlesen der Einstellungen
$zufallsstring = "";
for ($i = 0; $i < $stellen; $i++)
{//*** Läuft solange, bis die Anzahl der gewünschten Zeichen gesetzt sind
$x = rand (0, 2); //*** Auswahl ob groß- oder Kleinschreibung, bzw Ziffer
switch($x)
{
case 0:
$Zeichen = rand (48, 57); // Ziffern von 0 bis 9 als ASCII Werte
$zufallsstring = $zufallsstring.chr($Zeichen); // anhängen des Zeichens
break;
case 1:
$Zeichen = rand (65, 90); // Zeichen von A bis Z als ASCII Werte
$zufallsstring = $zufallsstring.chr($Zeichen); // anhängen des Zeichens
break;
case 2:
$Zeichen = rand (97, 122); // Zeichen von A bis Z als ASCII Werte
$zufallsstring = $zufallsstring.chr($Zeichen); // anhängen des Zeichens
break;
}
}
return $zufallsstring;
}//*****************************************************************************************
?>
[Johannes Röttger]
Ich hab das mal schön gemacht.
[/Johannes Röttger]
Zuletzt bearbeitet von einem Moderator: