Mehere Texte in eine Db schreiben

  • Themenstarter Themenstarter jaylibII
  • Beginndatum Beginndatum
J

jaylibII

Hallo,

leider ist mir kein besseren Titel eingefallen. Aber ich überelge mir gerade ist es möglich mit einem Formular meherer Texte in eine Datenbank schreiben zu lassen. Damit meine ich folgendes:

Hier ein Beispiel

Überschrift: Hallo1
Text: Wie gehts dir denn heute so?


Überschrift: Hallo2
Text: Wie gehts dir denn heute so? Na ja mir gehts gut


Überschrift: Hallo3
Text: Wie gehts dir denn heute so? Na ja mir gehts gut! Ich melde mich gleich wieder!


So das soll nur ein Beispiel sein was ich meine. Also es soll immer alls ein neuen Datensatz angelegt werden in dem Beispiel nun eben 3 Stück. Ich sollte sowas haben denn ich lass von meinen Mods Termine in eine DB eintragen und wenn da mal so 50 sind und die den jeden einzeln eintragen müssen ist das echt lästig.

Ich bin mal gespannt ob das nun jemand verstanden hat was ich da gerade geschrieben habe und ob es eine Lösung für das Problem gibt.

Gruß jaylibII
 
Hi

eigentlich verstehe ich Dein Problem nicht wirklich. :(

Nur mal anhand Deines Beispiels würde ich den 1. Datensatz eintragen, die nächsten Texte aber updaten, in dem ich den Text wieder auslese und den neuen nur dranhänge.

update tabelle set feldtext = feldtext + '$textAusForm' where id = 1

Einfach mal etwas klarer ausdrücken.
 
Guten Morgen,

ich weiß nicht wie ich das machen kann, dass ich meherer Datensätzte auf einmal in eine DB sprich Tabelle schreiben kann OHNE immer und immer wieder auf Speichern klicken zu müssen.

Hast du nun verstanden was ich meinte? Oder soll ich ein Beispiel machen machen?

Gruß jaylibII
 
Mehrere Datensätze auf einmal in eine Tabelle schreiben?

Mehrere UPDATE Befehle in einer Schleife an die DB senden, evtl?
 
Beispiel: test.php
PHP:
<html>
<body>
<?php
$num_fields=10;
if ($_POST["insert"])
 {
  $db=mysql_connect("host","user","password");
  mysql_select_db("database",$db);
  for ($x=0;$x<$num_fields;$x++)
   {
    $title=$_POST["title".$x];
    $text=$_POST["text".$x];
    if (($title) && ($text))
     {
      mysql_query("insert into texts (title,text) values ('$title','$text')",$db);
     }
   }
  $db=mysql_close($db);
 }
?>
<form method="post" action="test.php">
<?php
for ($x=0;$x<$num_fields;$x++)
 {
  ?>
  Titel:<input type="text" name="title<?php printf($x); ?>"><br>
  Text:<textarea name="text<?php printf($x); ?>" cols="40" rows="5"></textarea><br>
  <?php
 }
?>
<input type="submit" name="insert" value="Go!">
</form>
</body>
</html>

Sollte eigentlich klappen.
Nachtrag: Hab's etwas korrigiert. Sollte jetzt wirklich gehen. Ausserdem sei noch erwaehnt, dass durch die Variable $num_fields, welche am Anfang gesetzt wird die Anzahl der Felder variiert werden kann. Kannst also auch nur 1 Feld haben, aber auch 100 oder mehr.
 
Zuletzt bearbeitet:
Hallo,

hmm das ist leider nicht das was ich suche. Mom ich mach dir gleich mal ein Beispiel.

Gruß jaylibII

EDIT:

Schau dir mal mein Beispiel an. Da gibts drei Eingabefelder für Termine mit der Bezeichnung Wann1 Wann2 Wann3 usw...

Wenn ich jetzt auf absenden klicke, dann soll für jeden Termin ein eigenes Datensatz angelegt werden. Verstehst du was ich meine?

PHP:
<form name="form1" method="post" action="">
  <table width="60%" border="0">
    <tr>
      <td height="30" colspan="2"><span class="Stil1">Erstes Datum </span></td>
    </tr>
    <tr>
      <td width="21%"><strong>Wann:</strong></td>
      <td width="79%"><input name="wann1" type="text" id="wann1"></td>
    </tr>
    <tr>
      <td><strong>Wo:</strong></td>
      <td><input name="wo1" type="text" id="wo1"></td>
    </tr>
    <tr>
      <td><strong>Wieviel:</strong></td>
      <td><input name="wieviel1" type="text" id="wieviel1"></td>
    </tr>
    <tr>
      <td height="48" colspan="2"><span class="Stil1">Zweites Datum </span></td>
    </tr>
    <tr>
      <td width="21%"><strong>Wann:</strong></td>
      <td width="79%"><input name="wann2" type="text" id="wann2"></td>
    </tr>
    <tr>
      <td><strong>Wo:</strong></td>
      <td><input name="wo2" type="text" id="wo2"></td>
    </tr>
    <tr>
      <td><strong>Wieviel:</strong></td>
      <td><input name="wieviel2" type="text" id="wieviel2"></td>
    </tr>
    <tr>
      <td height="48" colspan="2"><span class="Stil1">Drittes Datum </span></td>
    </tr>
    <tr>
      <td width="21%"><strong>Wann:</strong></td>
      <td width="79%"><input name="wann3" type="text" id="wann3"></td>
    </tr>
    <tr>
      <td><strong>Wo:</strong></td>
      <td><input name="wo3" type="text" id="wo3"></td>
    </tr>
    <tr>
      <td><strong>Wieviel:</strong></td>
      <td><input name="wieviel3" type="text" id="wieviel3"></td>
    </tr>
    <tr>
      <td height="44">&nbsp;</td>
      <td><input type="submit" name="Submit" value="&gt;&gt;&gt; Senden"></td>
    </tr>
  </table>
</form>
 
Zuletzt bearbeitet von einem Moderator:
Ich glaub Du hast mein Beispiel nicht verstanden, denn genau das kannst Du dort machen.
Mit der Variable $num_fields am Anfang gibst Du die Anzahl der maximalen Eintraege an.
Im Beispiel sind's 10.
Es werden auch nur die Eintraege uebernommen die komplett ausgefuellt sind, also im Beispiel Titel und Text enthalten.
Das kommt auf's gleiche raus wie's bei Dir sein soll, nur eben etwas kompakter, da mit variablengesteuerter Zahl an Eintraegen und dadurch auch flexibler.
Koenntest damit genauso einfach, naemlich durch Aendern der von $num_fields von 10 auf 50, 50 Eintraege anbieten.
 
Zurück