ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Namensgenerator

Geschlossen
  1. #1
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    huhu,

    gibt es für ilch schon ein Modul für einen Namensgenerator?
    halt Namen die in einer db gespeichert wurden auf klick aufrufen.


    Leeres Feld dann Button Name Generate Names und dann ein Zufalls Namen ausgeben?

    vllt auch mit Kategorie Auswahl? Männlich | Weiblich

    Datenbank dann
    ic1_namegenerator
    id, name, kategorie

    irgendwie sowas oder andere ideen zunge

    Gruss
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Tr3icio gelöschter User
    Zu welchem zweck?
    Registrierung oder was?

    und wo sollen die Namen her kommen? Die müssen ja auch von irgendwo stammen.
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Ja klar man muss die Namen schon in der DB eintragen.

    kA vllt Admin Selber bzw. User können auch welche eintragen/vorschlagen?


    Online Rollenspiele zb.?
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    wie kann ich machen das er mir 20 Zeilen aus der DB ausliest?

    Immer wenn man bei Submit sprich Generieren Button klickt das er immer 20 zufalls namen ausgibt.

                    $sql = "SELECT * FROM `prefix_generator` WHERE kategorie = '" . $kat . "' LIMIT 20";
                    $query = db_query($sql);
    
                    while ($row = mysql_fetch_assoc($query)) {
    	       $zufallsn[] = $row['name'];
     	       }
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Ra- Mitglied
    Registriert seit
    01.05.2011
    Beiträge
    317
    Beitragswertungen
    13 Beitragspunkte
    LIMIT 0,20
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    hm er zeigt mir immer nur einen namen an.

    if (isset($senden)) {
    
    $kat = strip_tags(mysql_escape_string($k));
    
                    $sql = "SELECT * FROM `prefix_generator` WHERE kategorie = '" . $kat . "' LIMIT 0,20";
                    $query = db_query($sql);
    
                    while ($row = mysql_fetch_assoc($query)) {
    	       $zufallsn = $row['name'];
     	       }
    
    $zufall_n = '<tr><td>'. $zufallsn .'</td></tr>';
    
    }
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    sind denn auch mehr als ein Treffer dabei ?

    check das mal mit db_num_rows(db_query(...))

    das liefert die zahl der betroffenen Datensätze
    ansonsten prüfe mal was $kat zurückgibt und vergleich das mit deinen Datensätzen in phpmyadmin
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    wie was wo? ^^

    ja in der db sind 150 eintraege vorhanden lächeln

    glaub damit gings nicht hab nun noch was anderes geschrieben aber wie gesagt es befinden sich echt 150 eintraege in der tabelle

    if (isset($senden)) {
    
    $kat = strip_tags(mysql_escape_string($k));
    
    if ($kat ==1) {
        $dbgenerator = 'menschen';
    }elseif ($kat ==2) {
        $dbgenerator = 'elben';
    }elseif ($kat ==3) {
        $dbgenerator = 'zwerge';
    }elseif ($kat ==4) {
        $dbgenerator = 'orks';
    }elseif ($kat ==5) {
        $dbgenerator = 'drows';
    }elseif ($kat ==6) {
        $dbgenerator = 'wikinger';
    }elseif ($kat ==7) {
        $dbgenerator = 'feen';
    }
    
    		$sql = db_query('SELECT * FROM `prefix_generator_'. $dbgenerator .'` LIMIT 0,20');
        		while($zufalls = db_fetch_assoc($sql))  {
    	       	$zufallsn = $zufalls['name'];
                    	}
    
    $zufall_n = '<tr><td>'. $zufallsn .'</td></tr>';
    
    }



    Zuletzt modifiziert von Siggi am 15.08.2011 - 21:00:11
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    okay habe es lächeln nun ist nur die frage wie mache ich das er zwei reihen in macht und nicht nur eine?

    <table width="100%" border="0" cellspacing="3" cellpadding="3">';
    while($zufalls = db_fetch_assoc($sql))  {
    echo '<tr><td>'. $zufalls['name'] .'</td></tr>';
    }
    echo '</table>


    muss nach 10 namen ein <tr></tr> irgendwie kommen`?
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    okay habs lächeln

    Danke
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    hm gibt es eine einfachere loesung mehrere namen aufeinmal in der db tabelle einzutragen aus einer txt datei zb. und nicht alles per hand?
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    Textdatei per PHP file() in ein Array laden

    Array mit einer foreach() durchlaufen zwinker
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    oeh ehrlich`? array hab ich glaub noch verstanden aber rest nicht :x ^^
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Sniper Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    1.468
    Beitragswertungen
    63 Beitragspunkte
    Siggi mit der Funktion File liest du eine txt Datei aus und liest Sie in ein Array ein

    // bespiel.txt
    
    Simon
    Timo 
    Max
    Nico
    Alexander


    $file = file('beispiel.txt');
    
    foreach($file AS $file){
     echo $file;
    }


    so könnte es aussehen


    Zuletzt modifiziert von Sniper am 16.08.2011 - 16:52:33
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    okay das einlesen bzw auslesen der datei habe ich verstanden dann

    $file = file(beispiel.txt);
    
    $sqlstart = "INSERT INTO `ic1_generator`(`name`) VALUES ('".$file."')";
    mysql_query($sqlstart) OR die(mysql_error());



    So speichert er mir Array in der db mehr nicht traurig


    Zuletzt modifiziert von Siggi am 15.08.2011 - 23:11:50
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Sniper Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    1.468
    Beitragswertungen
    63 Beitragspunkte
    Den Code hier musst du in die foreach Schleife setzen

     $sqlstart = \"INSERT INTO `ic1_generator`(`name`) VALUES (\'\".$file.\"\')\";
    mysql_query($sqlstart) OR die(mysql_error());


    und verwende db_query statt mysql_query


    Zuletzt modifiziert von Sniper am 15.08.2011 - 23:21:21
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Tr3icio gelöschter User
    @Siggi

    $kat = strip_tags(mysql_escape_string($k));


    mysql_escape_string ist veraltet!
    Und veralteten Code sollte man nicht nutzen, wobei wenn du erst escapest und das dann wieder entfernst hast du das gleiche als wenn du schreibst:

    $kat = $kat;


    Du musst es so machen:

    $kat = mysql_real_escape_string($k, CONN);


    Und

    $file = file(beispiel.txt);


    Ist auch falsch, da ein String immer in ' oder " gehört!

    Ach und bei dem Auslesen aus der Datenbank .. zeig ma her das Skript :-P Will mal n paar MySQL Errors erzeugen! Das schaffe ich im Schlaf -_-

    Und @Sniper

    Das ist nicht dein Ernst oder?
    Das geht viel einfacher!

    In der Schleife muss immer nur das
    (\'\".$file.\"\')


    Mit einem Komma danach rangehängt werden.

    Und wenn du sagst "verwende db_query statt mysql_query ", dann mache es bitte auch selbst :-P

    Und warum du es escapest bleibt mir ein Rätsel.
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    Oeh ja ^^

    also ich hab es momentan so ^^

    <?php
    defined ('main') or die ( 'no direct access' );
    
    $title = $allgAr['title'].' ';
    $hmenu = '';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    $file = file_get_contents("beispiel.txt");
    
    $sqlstart = \"INSERT INTO `ic1_generator`(`name`) VALUES (\'\".$file.\"\')\";
    mysql_query($sqlstart) OR die(mysql_error());
    
    $design->footer(0);
    
    ?>
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Sniper Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    1.468
    Beitragswertungen
    63 Beitragspunkte
    eeeeeeehmm Tr3cio der geht Code dort oben ist nicht meiner sondern Siggis selbst geschriebener, ich habe ihm nur gesagt dass er Ihn in die foreach schleife setzen soll.

    erst lesen dann denken und dann schreiben zwinker
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    So?

    <?php
    defined ('main') or die ( 'no direct access' );
    
    $title = $allgAr['title'].' ';
    $hmenu = '';
    $design = new design ( $title , $hmenu );
    $design->header();
    
    $file = file_get_contents("beispiel.txt");
    
    foreach($file AS $file){
    $sqlstart = \"INSERT INTO `ic1_generator`(`name`) VALUES (\'\".$file.\"\')\";
    db_query($sqlstart) OR die(mysql_error());
    }
    
    $design->footer(0);
    
    ?>



    Zuletzt modifiziert von Siggi am 16.08.2011 - 16:47:28
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Sniper Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    1.468
    Beitragswertungen
    63 Beitragspunkte
    <?php
    defined ('main') or die ( 'no direct access' );
     
    $title = $allgAr['title'].' ';
    $hmenu = '';
    $design = new design ( $title , $hmenu );
    $design->header();
     
    $file = file("beispiel.txt");
     
    $file = file_get_contents("beispiel.txt");
    if(is_array($file)){
    	foreach($file AS $name){
    		echo $file;
    	}	
    }else{
    	echo "Kein Array";
    }
     
    $design->footer(0);
     
    ?>


    die ganzen Slashs sind total unnötig


    Zuletzt modifiziert von Sniper am 16.08.2011 - 17:06:08
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    hm das geht nicht.

    Warning: Invalid argument supplied for foreach() in /var/www/html/include/contents/einlesen.php on line 11
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    KoernerWS gelöschter User
    ZitatZitat
    $file AS $file

    Alles klar^^ lachen
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    Sniper Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    1.468
    Beitragswertungen
    63 Beitragspunkte
    verwende die Funktion file und nicht file_get_contents
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    KoernerWS gelöschter User
    Das ist ja nicht das Problem. Aber du kannst nicht bei AS den gleichen Variablennamen angeben. Dann überschreibt er die andere.

    $file AS $line wäre zum Beispiel richtig.
    0 Mitglieder finden den Beitrag gut.
  26. #26
    User Pic
    oink Mitglied
    Registriert seit
    23.09.2010
    Beiträge
    740
    Beitragswertungen
    227 Beitragspunkte
    <?php
    $_POST['geschlecht'] = 'maennlich';
    switch ($_POST['geschlecht']) {
        case 'maennlich':
            $vornamen = file_get_contents('maennervornamen.txt');
            break;
        case 'weiblich':
            $vornamen = file_get_contents('frauenvornamen.txt');
            break;
        default:
            die('Bitte ein Geschlecht wählen!');
            break;
    }
    $vornamen = explode("\n", $vornamen);
    $nachnamen = file_get_contents('nachnamen.txt');
    $nachnamen = explode("\n", $nachnamen);
    
    shuffle($vornamen);
    shuffle($nachnamen);
    
    echo $vornamen[0] . ' ' . $nachnamen[0];

    maennervornamen.txt
    frauenvornamen.txt
    nachnamen.txt
    before creation there must be destruction
    0 Mitglieder finden den Beitrag gut.
  27. #27
    User Pic
    Sniper Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    1.468
    Beitragswertungen
    63 Beitragspunkte
    @ KoernerWs file_get_contents ist kein Array sondern ein String das ist das Problem.. Damit hatte ich bis jetzt noch nie Probleme. Wenn dann muss er es so machen wie oink geschrieben hatt


    Zuletzt modifiziert von Sniper am 16.08.2011 - 17:16:23
    0 Mitglieder finden den Beitrag gut.
  28. #28
    User Pic
    Siggi Hall Of Fame
    Registriert seit
    08.02.2007
    Beiträge
    6.558
    Beitragswertungen
    327 Beitragspunkte
    MySQL Error:
    1064 : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '` VALUES ('Vilirlil ')' at line 1
    in Query:
    INSERT INTO `ic1_generator`(`name`)` VALUES ('Vilirlil ')
    0 Mitglieder finden den Beitrag gut.
  29. #29
    User Pic
    KoernerWS gelöschter User
    ZitatZitat geschrieben von Sniper

    file_get_contents ist kein Array sondern ein String das ist das Problem.. Damit hatte ich bis jetzt noch nie Probleme.


    Du nutzt in dem Fall file(). Und es bleibt dabei, dass du bei einem foreach nicht für den Input und den Output die gleiche Variable nutzen kannst.
    0 Mitglieder finden den Beitrag gut.
  30. #30
    User Pic
    Sniper Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    1.468
    Beitragswertungen
    63 Beitragspunkte
    sollte man nicht, da hast du Recht. Aber es spukt trotzdem keine Fehlermeldung aus.


    Zuletzt modifiziert von Sniper am 16.08.2011 - 17:19:45
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten