Brokiss
Grünschnabel
Hallo ich bin neu hier im Forum und kenne mich mit php auch noch nicht so gut aus.
Nun zu meinem Problem.
Ich habe ein Formular mit einer multiple Selectbox welche mit Daten aus einer DB befüllt wird.
danach werden die ausgewählten Daten an ein PHP script gesendet, dass klappt auch.
In dem PHP script möchte ich nun die Daten auslesen und eine neue Datei schreiben.
Mein bisheriger Versuch:
mein Problem ist nun das er zwar die Datei schreibt jedoch immer nur den letzten ausgewählten Titel mit einfügt.
Also wenn ich zum Beispiel Bacardi.mpeg, Final_Bird.mpg und Children.avi (Anzahl kann unterschiedlich sein es können z.B. auch 10 Filme gewählt werden)in meinem Formular auswähle sieht die Datei die geschrieben wird so aus:
Sollte aber eigentlich so aussehen:
d.h. ja das mein array nicht richtig verarbeitet wird und ich muss sagen ich habe das mit den Arrays auch noch nicht wirklich verstanden, obwohl ich schon viel drüber gelesen habe.
wenn ich allerdings die Werte des Arrays nur ausgeben lasse dann klappt das, also wurde ja alles korrekt übertragen.
Ausgabe im IE:
sie haben Bacardi.mpeg angeklickt!
sie haben Final_Bird.mpg angeklickt!
sie haben Children.avi angeklickt!
Also wahrscheinlich denke ich nur zu kompliziert und es ist ganz einfach, aber ich würde mich trotzdem freuen wenn mir jemand helfen würde.
Nun zu meinem Problem.
Ich habe ein Formular mit einer multiple Selectbox welche mit Daten aus einer DB befüllt wird.
HTML:
<select name="Video[]" size=5 multiple>
<option value="">---Bitte wählen---</option>
PHP:
<?php
global $PHP_SELF, $dbName, $daten;
$result=mysql($dbName, "SELECT name,bezeichner FROM daten WHERE format='Video'ORDER BY bezeichner");
while(list($name,$bezeichner) = mysql_fetch_row($result))
{
echo "<option value=\"".$name."\">".$bezeichner."</option>";
}
mysql_free_result($result);
?>
HTML:
</select>
danach werden die ausgewählten Daten an ein PHP script gesendet, dass klappt auch.
In dem PHP script möchte ich nun die Daten auslesen und eine neue Datei schreiben.
Mein bisheriger Versuch:
PHP:
<?php
$datei3 = "Titel.asx";//definiert die Datei die die Playlist schreibt
$daten3 = file($datei3);
$anfang = "<ASX VERSION =\"3.0\">";
$ende = "</ASX>";
if(isset($_POST['Video'])&&is_array($_POST['Video']))
{ foreach($_POST['Video']as $Vi)
{ $mitte = "<ENTRY><REF HREF = \"Videos/".$Vi."\"/></ENTRY>\n";
}
}
$versuch = $anfang."\n".$mitte."\n".$ende;
$fp3 = fopen($datei3, "w");
if($fp3)
{
fwrite($fp3,$versuch);
fclose($fp3);
}
?>
mein Problem ist nun das er zwar die Datei schreibt jedoch immer nur den letzten ausgewählten Titel mit einfügt.
Also wenn ich zum Beispiel Bacardi.mpeg, Final_Bird.mpg und Children.avi (Anzahl kann unterschiedlich sein es können z.B. auch 10 Filme gewählt werden)in meinem Formular auswähle sieht die Datei die geschrieben wird so aus:
Code:
<ASX VERSION ="3.0">
<ENTRY><REF HREF = "Videos/Children.avi"/></ENTRY>
</ASX>
Sollte aber eigentlich so aussehen:
Code:
<ASX VERSION ="3.0">
<ENTRY><REF HREF = "Videos/Bacardi.mpeg"/></ENTRY>
<ENTRY><REF HREF = "Videos/Final_Bird.mpg "/></ENTRY>
<ENTRY><REF HREF = "Videos/Children.avi"/></ENTRY>
</ASX>
d.h. ja das mein array nicht richtig verarbeitet wird und ich muss sagen ich habe das mit den Arrays auch noch nicht wirklich verstanden, obwohl ich schon viel drüber gelesen habe.
wenn ich allerdings die Werte des Arrays nur ausgeben lasse dann klappt das, also wurde ja alles korrekt übertragen.
Ausgabe im IE:
sie haben Bacardi.mpeg angeklickt!
sie haben Final_Bird.mpg angeklickt!
sie haben Children.avi angeklickt!
Also wahrscheinlich denke ich nur zu kompliziert und es ist ganz einfach, aber ich würde mich trotzdem freuen wenn mir jemand helfen würde.