[PHP] Daten zufällig erzeugen

Dieses Thema im Forum "Webentwicklung" wurde erstellt von leex, 14. Februar 2013 .

  1. 14. Februar 2013
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    Daten zufällig erzeugen

    Hey,
    suche eine Möglichkeit zufällig Daten in meine Datenbank einzufügen.
    Eingabemöglichkeiten siehe Bild.
    Bild

    PLZ´s sollten aber wirklich vorhanden sein. zb aus dieser liste
    Liste aller Städte in Deutschland inklusive PLZ, Landkreis und Bundesland | webseite-n.de

    hat jemand einen ansatz für mich?
     
  2. 14. Februar 2013
    Zuletzt bearbeitet: 14. Februar 2013
    AW: Daten zufällig erzeugen

    Für "Männlich", "Weiblich", "Bestandskunde" und "Neukunde" gibt es ja nur zwei Werte.
    (Keine Ahnung wie du Sie definierst, vll. true/false oder 0/1) die zu erzgeugen sollte kein Problem sein.
    Array anlegen mit den Möglichen Werten und dann eine zufallszahl generieren lassen und den passenden Wert ausgeben.

    So machst du es auch für "Wohnort". Nur dass im Array die PLZ's sind.

    Ein Alter ist eine Zufallszahl von X-Y.

    Der Name ist nun deine Angelegenheit.
    Soll er "echt" sein oder einfach "Müll", wie z.B. "Anfuas" (keine Gewähr, dass der Name nicht doch in irgend einem Personalausweis steht).
    Wenn du einen "echten" Namen willst, mach es wie mit den PLZ's. Namenslisten gibt es zu genüge.

    Code:
    //PSEUDOCODE!!!
    array = array(41242,51224,42876,92637);
    rnd = new Random();
    
    while(rnd < 0 || rnd >= array.size)
    {
     rnd = new Random();
    }
    
    echo array[rnd];
    
     
    1 Person gefällt das.
  3. 14. Februar 2013
    Zuletzt von einem Moderator bearbeitet: 14. April 2017
    AW: Daten zufällig erzeugen

    der name spielt keine rolle. das ist in dem Fall nur der name des benutzers mit dem ich eingeloggt bin um daten einzufügen.

    geschlecht habe ich 2 felder wo jeweils checked in die angeklickte spalte einfügt wird.

    db sieht so aus
    Bild
     
  4. 14. Februar 2013
    AW: Daten zufällig erzeugen

    hab es bis jetzt so:
    Code:
    <?PHP
    require("config/config.php");
    $i=0;
    
    do{
    //Zufällige Postleitzahl
    $plz = array(41242,51224,42876,92637);
    $id=array_rand($plz); 
    echo $plz[$id]."<br>";
    
    //Zufälliges Gehalt
    $gehalt = array(1200,1500,6000,2500,2680,1300,1000,500,800,700,3600,2100,1400,1100,1900,2700,3100,1200,4500,3000,2350,5100);
    $id1=array_rand($gehalt); 
    echo $gehalt[$id1]."<br>";
    
    //Zufälliges Alter
    $alter = rand(18,65);
    echo $alter."<br>";
    
    
    //Datensätze einfügen
    $sql_befehl = "INSERT INTO tobia (
     ID, 
     Maennlich,
     Weiblich,
     Alter_K,
     Wohnort,
     Gehaltsklasse,
     Bestandskunde,
     Neukunde,
     Benutzer
     ) VALUES (
     '', 
     'checked', 
     '',
     '$alter', 
     '$plz[$id]',
     '$gehalt[$id1]',
     'checked',
     '',
     'leex'
     )";
     
    
    if($dbconnect->query($sql_befehl))
     {
     echo "eingefügt";
     }
     else {
     echo "<big>ERROR: Daten konnten nicht angelegt werden !!!</big>";
     exit();
     }
     
    ++$i;
    
    }while($i<2)
    
    ?>

    Jetzt bräuchte ich noch eine lösung für das geschlecht und bestandskunde/neukunde, dass das automatisch wechselt.
     
  5. 14. Februar 2013
    AW: Daten zufällig erzeugen

    Mach aus "Männlich" und "Weiblich" einfach "geschlecht" setz den typ auf "tinyint" und trage für männlich 1 und weiblich 0 ein, fertig.

    Das selbe gilt für Bestands- und Neukunde, man kann nur eins von beiden sein, also wieder zusammenlegen als "Neukunde" typ "tinyint" und dann für Bestandskunde eine 0 und für Neukunde eine 1 eintragen.

    Wenn du jedes mal "checked" reinschreibst wird deine DB auf dauer langsam und groß.
     
    1 Person gefällt das.
  6. 14. Februar 2013
    AW: Daten zufällig erzeugen

    ok mach ich. danke.

    kennt sich zufällig noch einer von euch mit xt commerce: veyton aus?
    würde die daten gerne aus der datenbank exportieren aber ich versteh die zusammenhänge der tabellen nicht ganz und weis nicht wie ich sie mittel befehlen verbinden kann, sodass ich alle meine Daten bekomme.
     
  7. 24. Februar 2013
    AW: Daten zufällig erzeugen

    neues problem: ich führe zunächst einen query aus mit dem ich daten aus der datenbank hole. darin enthalten ist die kundnummer die ich für den zweiten query benötige. siehe code. Nur so wie ich das jetzt geschrieben habe, nimmt er nur einmal die erste Kundennummer und geht dann nicht zum zweiten datensatz über.
    Wie kann ich das lösen?
    Habe im Inet die funktion next() gefunden aber bis jetzt nicht richtig einsetzen können.


    PHP:
    $sql_befehl  "SELECT customers_id, delivery_gender, delivery_postcode FROM `xt_orders` LIMIT 0, 10 " ;
    $result  $dbconnect -> query ( $sql_befehl );

    if (
    $result  $dbconnect -> query ( $sql_befehl )){
        while(
    $data  $result -> fetch_object ())
        { 
            
    //Bestellmenge ermitteln
            
    $sql_befehl2  "select count(*) as anzahl from xt_orders where customers_id =  $data -> customers_id " ;
            
    $result2  $dbconnect -> query ( $sql_befehl2 );
            while(
    $data2  $result2 -> fetch_object ())
            {
                
    $bestellanzahl  $data2 -> anzahl ;
                
    $data -> delivery_gender
                
    $plz1 = $data -> delivery_postcode ;
                
                
    //Zufälliges Gehalt
                
    $gehalt  = array( 1200 , 1500 , 6000 , 2500 , 2680 , 1300 , 1000 , 500 , 800 , 700 , 3600 , 2100 , 1400 , 1100 , 1900 , 2700 , 3100 , 1200 , 4500 , 3000 , 2350 , 5100 );
                
    $rand_gehalt = array_rand ( $gehalt );

                
    //Zufälliges Alter
                
    $alter  rand ( 18 , 65 );
                
                
                if(
    $data -> delivery_gender  ==  "f" )
                {
                    
    $weiblich  "checked" ;
                    
    $maenlich  "" ;
                }else{
                    
    $weiblich  "" ;
                    
    $maenlich  "checked" ;
                }
                
                if(
    $bestellanzahl  ==  "1" )
                {
                    
    $neukunde  "checked" ;
                    
    $bestandskunde  "" ;
                }else{
                    
    $neukunde  "" ;
                    
    $bestandskunde  "checked" ;
                }

                
    $db2  "stats" ;
                
    $dbconnect -> select_db ( $db2 );
                
                
    $sql_befehl  "INSERT INTO tobia (ID, Maennlich, Weiblich, Alter_K, Wohnort, Gehaltsklasse, Bestandskunde, Neukunde, Benutzer) 
                           VALUES ('', '
    $maenlich ', ' $weiblich ', ' $alter ', ' $plz1 ',' $gehalt [ $rand_gehalt ] ',' $bestandskunde ',' $neukunde ','leex')" ;

                if(
    $dbconnect -> query ( $sql_befehl ))
                {
                    echo 
    $data -> customers_id  '.......'  $bestellanzahl "<br>" ;        
                }else{
                    echo 
    "<big>ERROR: Daten konnten nicht angelegt werden !!!</big>" ;
                    exit();
                }
            }
        }
     
  8. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.