Antworten auf deine Fragen:
Neues Thema erstellen

mehrere gleiche datensätze in db speichern

Fugel

rebmeM

PSD Beta Team
hallo leute, ich hab eine kleine db in der meine filme gespeichert sind, nun möchte ich da es sonst zu umständlich ist mehrere filme auswählen und sie dann bearbeiten. die auswahl der einzelnen filme funktioniert soweit auch alles, nur hab ich jetzt das problem, das ich nicht weis wie ich die filme abspeicher, da es ja mehrere sind.

wie macht man sowas?

mein script zum bearbeiten der filme schaut so aus:

PHP:
<?php 
mysql_connect("localhost", "xxxxxxxx", "xxxxxxx");
mysql_select_db("xxxxxxx");
$sql .= "SELECT * From film";
$result = mysql_query($sql);
while  ($row = mysql_fetch_assoc($result)) {



$array = $_GET["id"];
$c = count($array);
for ($i = 0; $i < $c;) {
$blu = $_GET['id'][$i];
$i++;


if ($blu == $row[id]){

echo "<form name=\"form1\" method=\"post\" action=\"edit_auswertung.php?id=".$row[id]."\">";
  echo "<input type=\"text\" name=\"name\" value=\"".$row[name]."\">";
  echo " Name des Films <br><br>";
  echo "<select name=\"genre\">";
      echo "<option>".$row[genre]."</option>";
    echo "<option>Action</option>";
    echo "<option>Horror</option>";
    echo "<option>Love</option>";
    echo "<option>Drama</option>";
    echo "<option>Thriller</option>";
    echo "<option>Kom&ouml;die</option>";
    echo "<option>Trick</option>";
    echo "<option>Fantasy</option>";
    echo "<option>Unterhaltung</option></select>";
  echo " <input name=\"time\" type=\"text\" size=\"15\" value=\"".$row[time]."\"> Laufzeit (in Minuten) ";
  echo "<br>";
  echo "<br>
   Audioformate: 
   <input name=\"s\" type=\"checkbox\" id=\"s\" value=\"1\" "; if($row[s]==1){echo"checked";} echo ">
   Stereo
   <input name=\"d\" type=\"checkbox\" id=\"d2\" value=\"1\" "; if($row[d]==1){echo"checked";} echo">   
   Dolby 
   <input name=\"dd\" type=\"checkbox\" id=\"dd\" value=\"1\" "; if($row[dd]==1){echo"checked";} echo">
   DolbyDigital 
   <input name=\"ds\" type=\"checkbox\" id=\"ds\" value=\"1\" "; if($row[ds]==1){echo"checked";} echo">
   Dolbysurround 
   <input name=\"dts\" type=\"checkbox\" id=\"dd3\" value=\"1\" "; if($row[dts]==1){echo"checked";} echo">
   DTS<br>
   <br>
   Videoformate:
   <input name=\"medium\" type=\"checkbox\" id=\"dd4\" value=\"1\" "; if($row[medium]==1){echo"checked";} echo"> 
   Blueray 
   <input name=\"medium\" type=\"checkbox\" id=\"dd5\" value=\"2\" "; if($row[medium]==2){echo"checked";} echo">
   HD-DVD 
   <input name=\"medium\" type=\"checkbox\" id=\"dd6\" value=\"3\" "; if($row[medium]==3){echo"checked";} echo">
   VCD<br><br>
   <input type=\"text\" name=\"textfield\" value=\"".$row[regisseur]."\"> Regisseur<br>  
    <br>
 Schauspieler:<br>
  <textarea name=\"textarea\" cols=\"40\" rows=\"4\">".$row[regisseur]."</textarea><br>
  <br>";
  echo "<br><br>Beschreibung<br>";
  echo "<textarea name=\"text\" cols=\"50\" rows=\"20\">".$row[text]."</textarea>";
  echo "<br><br>Berwertung:<br><br>";
  echo "1<input name=\"vote\" type=\"radio\" value=\"1\""; if($row[vote]==1){echo"checked";} echo">";
  echo "2<input name=\"vote\" type=\"radio\" value=\"2\""; if($row[vote]==2){echo"checked";} echo">";
  echo "3<input name=\"vote\" type=\"radio\" value=\"3\""; if($row[vote]==3){echo"checked";} echo">";
  echo "4<input name=\"vote\" type=\"radio\" value=\"4\""; if($row[vote]==4){echo"checked";} echo">";
  echo "5<input name=\"vote\" type=\"radio\" value=\"5\""; if($row[vote]==5){echo"checked";} echo">";
  echo "<br><br>";
echo "</form>";


}


} 
}
mysql_close();
  echo "<input type=\"submit\" name=\"Submit\" value=\"Speichern\">";
 ?>
 

Rakete

Nicht mehr ganz neu hier

AW: mehrere gleiche datensätze in db speichern

Du kannst den name-Attributen deiner Formularelemente leere eckige Klammern anhängen, um die Werte nach dem Absenden als Array zu erhalten. Danach kannst du die Arrays durchackern und alle Werte an die entsprechenden Stellen deiner DB verteilen. Dazu müssen sich alle Eingabefelder zu allen geladenen Filmen innerhalb eines HTML-Formulars befinden.
 

Fugel

rebmeM

PSD Beta Team
AW: mehrere gleiche datensätze in db speichern

Du kannst den name-Attributen deiner Formularelemente leere eckige Klammern anhängen, um die Werte nach dem Absenden als Array zu erhalten. Danach kannst du die Arrays durchackern und alle Werte an die entsprechenden Stellen deiner DB verteilen. Dazu müssen sich alle Eingabefelder zu allen geladenen Filmen innerhalb eines HTML-Formulars befinden.
danke erst mal für deine antwort, das mit den eckigen klammern hatte ich jetzt schon gemacht, nur bekomm ich es überhaupt nicht mit dem speichern in die db hin, ich weis auch erlich gesagt nicht wie ich da am besten anfangen muss. kannste mir da mal bitte nen schupps in die richtige richtung geben?
 

Rakete

Nicht mehr ganz neu hier

AW: mehrere gleiche datensätze in db speichern

und ich dachte, das wäre er schon gewesen ... ;)

Ich schreibe mal ein reduziertes Beispiel auf

Wenn du fünf Eingabefelder für die Filmtitel und fünf für die IDs der Fime hast, die alle mit
<input type="text" name="filmids[]" value=" <Hier bei der Ausgabe die ID reinschreiben oder leer lassen für einen neuen Titel> " />
bzw. mit
<input type="text" name="filmtitel[]" />
deklariert sind und das Formular mit der POST Methode gesendet wird, dann hast du nach dem Absenden zwei Arrays ($_POST['filmids'] und $_POST['filmtitel']), die jeweils fünf Elemente besitzen.

Vorteilhafterweise befindet sich im 1. Element des Titel-Arrays genau der Filmtitel, der zu der ID im 1. Element des ID-Arrays gehört (Sofern du die Eingabefelder in der richtigen Reihenfolge angeordnet hast). So kannst du mit Hilfe eines Zählers und einer Schleife die zusammengehörigen Paare per INSERT oder UPDATE in deine DB übetragen. Je nachdem ob sie neu sind oder nicht.
 
Zuletzt bearbeitet:

Fugel

rebmeM

PSD Beta Team
AW: mehrere gleiche datensätze in db speichern

hat alles geklappt, danke
 
Zuletzt bearbeitet:

Rakete

Nicht mehr ganz neu hier

AW: mehrere gleiche datensätze in db speichern

aber irgendwie klappt es nicht, was mach ich denn falsch?

Was genau heißt denn das?
Meldet PHP einen Fehler oder gibt mysql_error() irgendetwas aus? Landen die Infos an den falschen Stellen oder im Nirvana?

Hast du vlt. die Datentypen in der DB-Tabelle so gewählt, dass du die Werte aus den Checkboxen nicht einfach reinschreiben kannst?

Sind alle Spaltennamen richtig geschrieben?

Ist in dem Post-Array überhaupt etwas drin? Sonst läuft deine Schleife nicht an.
Kannst ja mal vor der Schleife
print_r($_POST);
ausführen, um zu sehen, ob da etwas (und was) ankommt.

$query = "UPDATE film SET name = '$name', text = '$text', genre = '$genre', vote = '$vote', time = '$time', s = '$s', d = '$d', dd = '$dd', dts = '$dts', ds = '$ds', medium = '$medium', regisseur = '$regisseur', darsteller = '$darsteller' WHERE id = '$id'" OR die(mysql_error());


Das "OR die ..." gehört nicht an diese Stelle, da wird doch nur ein String in eine Variable geschrieben ...
... und selbst wenn das fehlschlagen sollte, wird dir die Ausgabe von mysql_error() keine Hilfe sein. ;)
 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.564
Beiträge
1.538.064
Mitglieder
67.487
Neuestes Mitglied
MichaelSEivy
Oben