» Forum » Clanscript » Module und Modifikationen » Namensgenerator
  Mitglieder   |   Gallery   |   FAQ's   |   Regeln

[ 1 | 2 ] [ Anmelden zum schreiben ]

Namensgenerator
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 14.08.2011 - 12:49:33     Zitieren
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 Auslachen

Gruss


Wie poste ich falsch?
Tr3icio
Mitglied
 Beitragspunkte

0 Mitglieder finden den Beitrag gut.

Merkliste 14.08.2011 - 14:23:11     Zitieren
Zu welchem zweck?
Registrierung oder was?

und wo sollen die Namen her kommen? Die müssen ja auch von irgendwo stammen.
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 14.08.2011 - 15:43:38     Zitieren
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.?


Wie poste ich falsch?
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 15.08.2011 - 19:21:57     Zitieren
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'];
 	       }


Wie poste ich falsch?
Ra-
Mitglied
12 Beitragspunkte
Posts: 243

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 15.08.2011 - 19:29:18     Zitieren
LIMIT 0,20
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 15.08.2011 - 19:43:16     Zitieren
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>';

}


Wie poste ich falsch?
GeCk0
Administrator
92 Beitragspunkte
Posts: 2996

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 15.08.2011 - 20:29:26     Zitieren
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


.:.Module, Zitate, 1-Klick-IMG-Host, MD5 und mehr.:.
"Do not argue with an idiot. He will drag you down to his level and beat you with experience."
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 15.08.2011 - 20:37:02     Zitieren
wie was wo? ^^

ja in der db sind 150 eintraege vorhanden Smilie

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


Wie poste ich falsch?
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 15.08.2011 - 21:38:21     Zitieren
okay habe es Smilie 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`?


Wie poste ich falsch?
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 15.08.2011 - 21:59:36     Zitieren
okay habs Smilie

Danke


Wie poste ich falsch?
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 15.08.2011 - 22:41:00     Zitieren
hm gibt es eine einfachere loesung mehrere namen aufeinmal in der db tabelle einzutragen aus einer txt datei zb. und nicht alles per hand?


Wie poste ich falsch?
GeCk0
Administrator
92 Beitragspunkte
Posts: 2996

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 15.08.2011 - 22:43:55     Zitieren
Textdatei per PHP file() in ein Array laden

Array mit einer foreach() durchlaufen Zwinker


.:.Module, Zitate, 1-Klick-IMG-Host, MD5 und mehr.:.
"Do not argue with an idiot. He will drag you down to his level and beat you with experience."
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 15.08.2011 - 22:45:04     Zitieren
oeh ehrlich`? array hab ich glaub noch verstanden aber rest nicht :x ^^


Wie poste ich falsch?
Sniper
Moderator
56 Beitragspunkte
Posts: 1420

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 15.08.2011 - 22:51:24     Zitieren
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
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 15.08.2011 - 22:59:49     Zitieren
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


Wie poste ich falsch?
Sniper
Moderator
56 Beitragspunkte
Posts: 1420

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 15.08.2011 - 23:21:04     Zitieren
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
Tr3icio
Mitglied
 Beitragspunkte

0 Mitglieder finden den Beitrag gut.

Merkliste 16.08.2011 - 11:04:38     Zitieren
@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.
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 16.08.2011 - 14:50:35     Zitieren
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);

?>


Wie poste ich falsch?
Sniper
Moderator
56 Beitragspunkte
Posts: 1420

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 16.08.2011 - 15:51:15     Zitieren
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
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 16.08.2011 - 16:46:24     Zitieren
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


Wie poste ich falsch?
Sniper
Moderator
56 Beitragspunkte
Posts: 1420

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 16.08.2011 - 16:51:37     Zitieren
<?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
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 16.08.2011 - 16:56:40     Zitieren
hm das geht nicht.

Warning: Invalid argument supplied for foreach() in /var/www/html/include/contents/einlesen.php on line 11


Wie poste ich falsch?
KoernerWS
Ilch 2.0 Entwickler
90 Beitragspunkte
Posts: 732

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 16.08.2011 - 17:01:11     Zitieren
Zitat
$file AS $file


Alles klar^^ Lachen


Job gesucht? - checkdomain.de sucht PHP-Entwickler!
www.ilch-pluto.net/
Sniper
Moderator
56 Beitragspunkte
Posts: 1420

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 16.08.2011 - 17:05:07     Zitieren
verwende die Funktion file und nicht file_get_contents
KoernerWS
Ilch 2.0 Entwickler
90 Beitragspunkte
Posts: 732

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 16.08.2011 - 17:08:42     Zitieren
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.


Job gesucht? - checkdomain.de sucht PHP-Entwickler!
www.ilch-pluto.net/
oink
ForenTroll
218 Beitragspunkte
Posts: 727

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 16.08.2011 - 17:10:42     Zitieren
<?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
Sniper
Moderator
56 Beitragspunkte
Posts: 1420

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 16.08.2011 - 17:10:52     Zitieren
@ 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
Siggi
Mitglied
10 Beitragspunkte
Posts: 1771

0 Mitglieder finden den Beitrag gut.

Merkliste 16.08.2011 - 17:11:10     Zitieren
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 ')


Wie poste ich falsch?
KoernerWS
Ilch 2.0 Entwickler
90 Beitragspunkte
Posts: 732

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 16.08.2011 - 17:16:28     Zitieren
Zitat 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.


Job gesucht? - checkdomain.de sucht PHP-Entwickler!
www.ilch-pluto.net/
Sniper
Moderator
56 Beitragspunkte
Posts: 1420

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 16.08.2011 - 17:19:24     Zitieren
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

[ 1 | 2 ] [ Anmelden zum schreiben ]