WinFuture-Forum.de: [php]insert Erstellen Lassen - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

[php]insert Erstellen Lassen


#1 Mitglied ist offline   pchero 

  • Gruppe: aktive Mitglieder
  • Beiträge: 264
  • Beigetreten: 10. Dezember 05
  • Reputation: 0

geschrieben 26. August 2006 - 23:27

Hi ich habe mal so eine frage

und zwar will ich ein Insert für Mysql erstellen lassen auf der seite zuvor gibt es verschiedene Inputfields aber die anzahl hängt von mehre variablen ab aber das denk ich brauch hier nicht weiter zu erwähnen, so bloß ads Problem ist wenn ich sie übergebe müssen alle in eine Tabelle bloß wie bekomme ich die ganzen felder nun anch einander und dann auch noch 2 mal und das ganze mit den kommatas

weil es ja heißt "Insert into tbl (**) Values (*) ...."

oder fall ich es falsch audrücke wir haben einfach ein dynamisches array was imme runterschiedlich viele einträge hat ;)


MFG
0

Anzeige



#2 _rjchio_

  • Gruppe: Gäste

geschrieben 27. August 2006 - 07:44

Ich denke da gibt es mehrere Möglichkeiten... ;)
- Du erstellst folgende Tabelle: id, eintrags_id, inhalt. Falls du dann ein Array mit 3 Einträgen hast, speicherst du es so:
NULL, '1', 'Eintrag 1'
NULL, '1', 'Eintrag 2'
NULL, '1', 'Eintrag 3'
Zum auslesen genügt dann ein WHERE eintrags_id = '1'. Natürlich musst du die eintrags_id beim nächsten Array, das eingetragen werden soll um 1 erhöhen.

- Du erstellst folgende Tabelle: id, inhalt. Bevor du ein Array in die Datenbank speicherst, wandelst du das Array mit serialize() in ein String um. Somit ist es kein Problem mehr, beliebig viele Einträge von einem Array in einem Feld der Datenbank zu speichern.
Wenn du das Array wieder auslesen willst, brauchst du bloss mit unserialize() den String wieder zu einem Array umzuwandeln.

MfG rjchio
0

#3 Mitglied ist offline   pchero 

  • Gruppe: aktive Mitglieder
  • Beiträge: 264
  • Beigetreten: 10. Dezember 05
  • Reputation: 0

geschrieben 27. August 2006 - 08:52

könntest du mir vielleicht ein kleines Code Beispiel schreiben weil ich nicht so ganz verstehe was du meinst ;)
also sagen wir ich habe ein Array
$array["spalte1"]=45;
$array["spalte6"]=12;
$array["spalte4"]=9456;
$array["spalte3"]=87;
$array["spalte9"]=78;


so und nun soll er so ein Insert daraus machen

INSERT INTO Tabelle (id, spalte1, spalte6, spalte4, spalte3, spalte9) VALUES (NULL ,45, 12, 9456, 87, 78)


So in etwa wollte ich es haben bloß ich habe leider keine Ahnung wie ich das hinbekomme

MFG

Dieser Beitrag wurde von pchero bearbeitet: 27. August 2006 - 08:59

0

#4 _rjchio_

  • Gruppe: Gäste

geschrieben 27. August 2006 - 09:38

CREATE TABLE `beispiel` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`eintrags_id` INT NOT NULL ,
`inhalt` LONGTEXT NOT NULL
) ENGINE = MYISAM;


<?php

$array["spalte1"]=45;
$array["spalte6"]=12;
$array["spalte4"]=9456;
$array["spalte3"]=87;
$array["spalte9"]=78;

// Array speichern
$result = mysql_query("SELECT max(`eintrags_id`) + 1 FROM `beispiel`");
$row = mysql_fetch_row($result);
$eintrags_id = $row[0];
mysql_free_result($result);

foreach ($array as $key => $inhalt) {
	  mysql_query("INSERT INTO `beispiel` (`id`, `eintrags_id`, `inhalt`) VALUES (NULL, '".$eintrags_id."', '".$inhalt."')");
}

// Array lesen
$eintrags_id = 1;
mysql_query("SELECT * FROM `beispiel` WHERE `eintrags_id` = '".$eintrags_id."'");
$row = mysql_fetch_row($result);
while ($row = mysql_fetch_row($result)) {
	  $array[] = $row[2];
}
mysql_free_result($result);

?>

Falls du noch mehr Erklärungen brauchst, sollten wir uns ev. schnell im Chat treffen (-> PN) ;)

MfG rjchio

Dieser Beitrag wurde von rjchio bearbeitet: 27. August 2006 - 09:47

0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0