Ein ARRAY speichern und abrufen

Von all den Problemen mit dem Quelltext ist das wohl das Kleinste :D (Der Quelltext featured übrigens XSS u.a.)
 
Ich hatte mal vor Jahren das Problem, dass ich z.B. in der Datenbank dann folgende Spalten hatte...
Bild1 | Bild2 | Bild3 | .. usw..
Ich glaube, das waren über 50 Spalten..

Dann sagte man mir, dass dies Idiotisch ist, und dann mann die Bilder als ARRAY verpacken kann..
Aber wie gesagt, das ist schon Jahre her und ich weiß nicht mehr, wie ich das dann umgesetzt habe
 
Bild1 | Bild2 | Bild3 | .. usw..
Ich glaube, das waren über 50 Spalten..

Dann sagte man mir, dass dies Idiotisch ist
Ja, das ist in der Tat (i. Allg.) schlechtes Design. Am besten wäre eine many-to-one Abbildung:
  • Eine Relation bilder(id, pfad, auftragsId[auftraege])
  • Deine bestehende Relation auftraege nur ohne Bildspalte.
 
Dann sagte man mir, dass dies Idiotisch ist,
Aber sowas von.....
und dann mann die Bilder als ARRAY verpacken kann.
Das ist genau so idiotisch. Man legt dazu eine eigene Tabelle an, die ungefähr so aussieht:
Code:
CREATE TABLE `bilder` (
 `id` int(11) NOT NULL AUTO_INCREMENT,
 `id_auftragsnummer` int(11) NOT NULL,
 `bild` varchar(64) COLLATE utf8_german2_ci NOT NULL,
 PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci
 
Das mit der weiteren Tabelle habe ich mir heute morgen auch gedacht und fast die gleiche wie die von m.scatello angelegt.
Aber ich habe es nur geschafft, immer nur ein "bild" einzufügen.
Aber ich möchte doch gleich mehrere Zeilen (in diesem Sinne) speichern..
 
Und nun habe ich das Script gefunden, wo mehrere Daten-Zeilen auf einmal eingepflegt werden...

PHP:
if(isset($_GET['bild_speichern'])) {
     $error = false;
     $auftragsnummer = $_POST['auftragsnummer'];
     $bild = $_POST['bild'];
     for ($i = 0; $i < count($_POST['bild']); $i++) {
         $auftragsnummer = $_POST['auftragsnummer'][$i];
         $bild = $_POST['bild'][$i];
         $statement = $pdo->prepare("INSERT INTO bilder (bild,auftragsnummer) VALUES (:bild,:auftragsnummer)");
         $statement->execute(array('bild' => $bild, 'auftragsnummer' => $auftragsnummer));
      }
    }


PHP:
echo " <form ".
"action=\"#?bild_speichern\" ".
"method=\"post\">\n";
echo "  <input type=\"text\" name=\"bild[]\" value=\"".$neuer_name."\" />\n";
echo "  <input type=\"text\" name=\"auftragsnummer[]\" value=\"".$user['auftragsnummer']."\" />\n";
echo "  <input type=\"submit\" name=\"submit\" class=\"btn btn-info\" value=\"Upload\" />\n";
echo " </form>\n";
 
Zuletzt bearbeitet:
Also, ich bin raus, du bist in meinen Augen ein hoffnungsloser Fall.

Du klimperst irgendwelche Zeilen in deinen Editor und wenn es nicht funktioniert, landest du hier.

Aber nicht eine Debug-Ausgabe eingebaut und "funktioniert nicht" ist keine Problembeschreibung.

Wie gesagt, ich bin raus, viel Erfolg noch mit dem Script.
 
Zurück