Hier kann eine Notiz zum Merk-Eintrag hinzugefügt werden (optional)
| [ 1 | 2 ] | [ Anmelden zum schreiben ] |
| Namensgenerator | |||
|---|---|---|---|
| Siggi Mitglied
Posts: 1771 |
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
Gruss Wie poste ich falsch? |
||
| Tr3icio Mitglied
|
Zu welchem zweck?
Registrierung oder was? und wo sollen die Namen her kommen? Die müssen ja auch von irgendwo stammen. |
||
| Siggi Mitglied
Posts: 1771 |
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
Posts: 1771 |
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
Posts: 243 |
LIMIT 0,20
|
||
| Siggi Mitglied
Posts: 1771 |
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
Posts: 2996 |
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
Posts: 1771 |
wie was wo? ^^
ja in der db sind 150 eintraege vorhanden
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
Posts: 1771 |
okay habe es
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
Posts: 1771 |
okay habs
Danke Wie poste ich falsch? |
||
| Siggi Mitglied
Posts: 1771 |
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
Posts: 2996 |
.:.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
Posts: 1771 |
oeh ehrlich`? array hab ich glaub noch verstanden aber rest nicht :x ^^
Wie poste ich falsch? |
||
| Sniper Moderator
Posts: 1420 |
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
Posts: 1771 |
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
Zuletzt modifiziert von Siggi am 15.08.2011 - 23:11:50 Wie poste ich falsch? |
||
| Sniper Moderator
Posts: 1420 |
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
|
@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
Posts: 1771 |
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
Posts: 1420 |
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 ![]() |
||
| Siggi Mitglied
Posts: 1771 |
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
Posts: 1420 |
<?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
Posts: 1771 |
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
Posts: 732 |
Zitat
$file AS $file
Alles klar^^ ![]() Job gesucht? - checkdomain.de sucht PHP-Entwickler! www.ilch-pluto.net/ |
||
| Sniper Moderator
Posts: 1420 |
verwende die Funktion file und nicht file_get_contents
|
||
| KoernerWS Ilch 2.0 Entwickler
Posts: 732 |
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
Posts: 727 |
<?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
Posts: 1420 |
@ 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
Posts: 1771 |
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
Posts: 732 |
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
Posts: 1420 |
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 ] |