Der Code schreibt in die jeweiligen Spalten die Variablen in die Zeile(n), je nach Anzahl der Variablen.
Galerie mit Bildtext
-
-
nein tut er nicht, diese codezeile schreibt einen string in die variable $sql!
und zu meiner vorangegangenen antwort bzw frage...
du hast da die varibale $i außerhalb von der for-schleife, wie soll die variable jemals an nen wert kommen? schieb diese deklaration in die for-schleife rein!
und der konkatinierungsoperator ist meines wissens nen punkt zumindest hab ich den bisher immer genutzt..kann man in php tatsächlich zwei variablen verbinden ohne nen operator?
-
Sorry, ich glaub ich brauch ne Pause !!!!!
Gehe jetzt mal was trinken und ein bissel feiern.
Gehe die Tage noch mal ran, mit etwas klarerem Kopf.
Danke euch soweit erstmal und wünsche einen guten Rutsch.....
-
ach iwo pause.. so schwer is des doch nich...
hauer das sind grundlagen, wenn wir dir jetzt direkt den fertigen code posten, wirste keinen lern-effekt haben... ich sprech da aus eigener erfahrung!! -
Ich weiß....vielleicht schaue ich nachher noch mal rein und poste meine Ergebnisse, die ich in der Zwischenzeit neu gesammelt habe. Ist zwar nicht immer alles befriedigend, aber langsam ernährt sich das Eichhörnchen und man lernt auch aus Fehlern, sogar in meinem Alter...lach.
Danke dir, falls wir uns heute nicht mehr schreiben...wie bereits geschrieben....guten Rutsch...
-
jau dir auch.. danke
-
-
und des klappt dann so? ich mein ohne dass die initialisierung der variablen die inserted werden sollen innerhalb der for-schleife sind?
bin ja selber noch lernen in sachen php..
-
Hi, ich hoffe ihr seit alle gut reingekommen:
Das ist bestimmt nicht das, was ihr jetzt erwartet habt, aber so funktioniert es:
PHP
Alles anzeigen$name[] = $_FILES['userfile']['name'][$i]; $bt[] = $_POST['bt'][$i]; $id = $_POST['objektnr']; foreach ($name as $file => $file_id) { foreach ($bt as $text => $text_bt) { $sql = "INSERT INTO photo (photo_filename, text, objektnr) VALUES ('$upload_dir$file_id', '$text_bt', '$id')"; } }
-
aber so funktioniert es:
Garantiert nicht! -
sieht mir auch komisch aus....
-
Mal wieder mysqli_query vergessen
-
Ja, ich hab es jetzt mehrfach getestet und es geht einwandfrei.
Er schreibt die Infos in die DB, die ich vorgebe.
PHP
Alles anzeigen<?php error_reporting(E_ALL); #zeig alle Fehler ini_set('display_errors', '1'); require_once '../inc/connect.inc.php'; $verbindung = mysqli_connect($server, $benutzer, $passwort); if ($verbindung){ mysqli_select_db ($verbindung, $datenbank); if(mysqli_error($verbindung)){ echo 'Fehler: Keine Verbindung zur Datenbank' . mysqli_error($verbindung); }else{ $upload_dir = 'objekt_images/'; if(isset($_POST['Preview']) ) { if(isset($_FILES['userfile']['tmp_name'])) { for($i=0; $i < count($_FILES['userfile']['tmp_name']);$i++) { if(!is_uploaded_file($_FILES['userfile']['tmp_name'][$i])) { $messages[] = 'Keine Datei uploaded'; } else { $dateiname = $_FILES['userfile']['name'][$i]; //var_dump($dateiname); if(@copy($_FILES['userfile']['tmp_name'][$i],$upload_dir.'/'.$_FILES['userfile']['name'][$i])) { $groesse=getimagesize($upload_dir.$dateiname); $breite=$groesse[0]; $hoehe=$groesse[1]; $typ=$groesse[2]; $hoehe2=$hoehe*640/$breite; $image1 = imagecreatetruecolor(640,$hoehe2); switch ($typ) { case 1: $image = imagecreatefromgif($upload_dir.$dateiname); break; case 2: $image = imagecreatefromjpeg($upload_dir.$dateiname); break; case 3: $image = imagecreatefrompng($upload_dir.$dateiname); break; case 4: $image = imagecreatefromwbmp($upload_dir.$dateiname); break; default: $gestorben="ja"; } imagecopyresized($image1, $image, 0,0, 0,0,640,$hoehe2,$breite,$hoehe); switch ($typ) { case 1: imagegif($image1,$upload_dir.$dateiname); break; case 2: imagejpeg($image1,$upload_dir.$dateiname,50); break; case 3: imagepng($image1,$upload_dir.$dateiname); break; case 4: imagewbmp($image1,$upload_dir.$dateiname); break; default: $gestorben="ja"; } } $name[] = $_FILES['userfile']['name'][$i]; $bt[] = $_POST['bt'][$i]; $id = $_POST['objektnr']; foreach ($name as $file => $file_id) { foreach ($bt as $text => $text_bt) { $sql = "INSERT INTO photo (photo_filename, text, objektnr) VALUES ('$upload_dir$file_id', '$text_bt', '$id')"; } } mysqli_query($verbindung, $sql); } } } } } } ?>
-
auch schon mit mehreren Dateien versucht?
-
Hähä, das ist mal ein tolles Script. Da sind zwei Macken drin, die sich lustigerweise gegenseitig aufheben.
Durch diese Schleife
und die darin enthaltenen Zuweisungen
funktioniert der Käse, weil das Script ja bei diesen sinnlosen SchleifenPHPforeach ($name as $file => $file_id) { foreach ($bt as $text => $text_bt) { $sql = "INSERT INTO photo (photo_filename, text, objektnr) VALUES ('$upload_dir$file_id', '$text_bt', '$id')"; } }
immer mit den letzten Werten aus den Array's rauskommt. Also, wenn man das nicht Chaosprogrammierung nennt?!?!?!
}
} -
Zitat
immer mit den letzten Werten aus den Array's rauskommt. Also, wenn man das nicht Chaosprogrammierung nennt?!?!?!
Das passt zu mir .
Ja, das geht auch mit mehreren Dateien. Habe es mit 10 Files gemacht.
Ich werde aber auf jeden Fall noch mit der vorgeschlagenen For-Schleife versuchen.
-
So, möchte euch noch mal danken und meinen neues Script Posten, dass ich nun auf Grundlage der For-Schleife erstellt habe, geht wunderbar, habe meine Hausaufgaben gemacht, etwas später aber immerhin.
PHP
Alles anzeigen<?php $mem = (int)ini_get("memory_limit"); if($mem > 0) { $max = round(sqrt(($mem*1024*1024)/(2*3)), 0); echo "zur Verfügung stehender Arbeitsspeicher: $mem MB<br>"; echo "Maximale Ausmaße: $max * $max Pixel <br>"; ini_set("memory_limit","-1"); if((int)ini_get("memory_limit") == -1) echo "memory_limit kann per ini_set(\"memory_limit\",\"-1\"); umgangen werden"; else echo "memory_limit lässt sich nicht umgehen"; } else echo "Arbeitsspeicher ist nicht limitiert"; if(isset($_POST['Preview'])) { if(isset($_FILES['userfile']['tmp_name'])) { for($i=0; $i < count($_FILES['userfile']['tmp_name']);$i++) { if(!is_uploaded_file($_FILES['userfile']['tmp_name'][$i])) { $messages[] = 'Keine Datei uploaded'; } else { $dateiname = $_FILES['userfile']['name'][$i]; //var_dump($dateiname); if(@copy($_FILES['userfile']['tmp_name'][$i],$upload_dir.'/'.$_FILES['userfile']['name'][$i])) { $groesse=getimagesize($upload_dir.$dateiname); $breite=$groesse[0]; $hoehe=$groesse[1]; $typ=$groesse[2]; $hoehe2=$hoehe*640/$breite; $image1 = imagecreatetruecolor(640,$hoehe2); switch ($typ) { case 1: $image = imagecreatefromgif($upload_dir.$dateiname); break; case 2: $image = imagecreatefromjpeg($upload_dir.$dateiname); break; case 3: $image = imagecreatefrompng($upload_dir.$dateiname); break; case 4: $image = imagecreatefromwbmp($upload_dir.$dateiname); break; default: $gestorben="ja"; } imagecopyresized($image1, $image, 0,0, 0,0,640,$hoehe2,$breite,$hoehe); switch ($typ) { case 1: imagegif($image1,$upload_dir.$dateiname); break; case 2: imagejpeg($image1,$upload_dir.$dateiname); break; case 3: imagepng($image1,$upload_dir.$dateiname); break; case 4: imagewbmp($image1,$upload_dir.$dateiname); break; default: $gestorben="ja"; } } if($_FILES['userfile']['error'][$i]==0) { $name[$i] = $_FILES['userfile']['name'][$i]; $bt[$i] = $_POST['bt'][$i]; $id = $_POST['objektnr']; $sql = "INSERT INTO photo (photo_filename, text, objektnr) VALUES ('".$name[$i]."','".$bt[$i]."','".$id."')"; $query = mysql_query($sql)or die(mysql_error()); } } } } } ?>
-