Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Speichern in MYSQL mit PHP Variablen

Frage Entwicklung PHP

Mitglied: sabio23

sabio23 (Level 1) - Jetzt verbinden

29.07.2008, aktualisiert 20:58 Uhr, 3403 Aufrufe, 7 Kommentare

Ich hab eine dynamische Anzahl Post-Parameter. Diese hole ich mir so:

01.
$count=1; 
02.
$zahl=$_GET["zahl"]; 
03.
while ($count!=$zahl
04.
05.
${"name".$count} = $_POST["name$count"]; 
06.
$count++; 
07.
}
Das klappt auch wunderbar. Jetzt will ich das aber alles in die SQL Bank speichern.
Dafür brauch ich in etwa auch wieder eine Schleife, da die Anzahl ja dynamisch ist.

das hatte ich so vorgehabt:

01.
$count=1; 
02.
$zahl=$_GET["zahl"]; 
03.
$sqlsave="INSERT INTO markprogramdata2 (name$count) VALUE ('${"name".$count}')"
04.
mysql_query($sqlsave) or die (mysql_error()); 
05.
$count++;
Das würde auch klappen. Aber da er ja den ganzen Befehl wiederholt, benutzt er in der SQL Bank immer wieder eine neue Spalte und ich bekomme wieder immer eine neue ID.
Ich bräuchte es so, das er nur das "(name$count)" und "('${"name".$count}')" wiederholt, und nur einmal dann in die Bank schreibt, also den ganzen Befehl nur einmal benutzt.

Hat jemmand eine Idee, wie ich das hinbekomme?

Danke für jede Hilfe
Mitglied: SnowStar
29.07.2008 um 15:28 Uhr
Verstehe ich das richtig, dass du dir die anzahl der POST Variablen per $_GET['zahl'] übergeben lässt?
Vorschlag zur Güte: $_POST['name']['zahl'] - weil dann: count($_POST['name']);

Was genau wird übergeben und was soll in die DB?
Bitte warten ..
Mitglied: sabio23
29.07.2008 um 15:57 Uhr
Verstehe ich das richtig, dass du dir die anzahl der POST Variablen per $_GET['zahl'] übergeben lässt?

Ja genau


Vorschlag zur Güte: $_POST['name']['zahl'] - weil dann: count($_POST['name']);

das hab ich leider nicht so ganz verstanden.


Was genau wird übergeben und was soll in die DB?

Es werden name1-name35 übergeben. Und der Benutzer hat vorher ausgesucht wie viel Namen er übergeben will, deshalb muss ich die Anzahl ($_GET['zahl']) mit übergeben.
Und alle Namen die übergeben worden sind, sollen in die DB. In der DB sind ebenfalls die Spalten name1-name35
Und mit irgendeiner Schleife will ich es so hinbekommen, das er in einem Befehl nur so viele namen in die DB schreibt wie der Benutze es vorher wollte also $_GET['zahl'].
Es muss halt ein einziger SQL befehl sein.
Bitte warten ..
Mitglied: SnowStar
29.07.2008 um 16:31 Uhr
Beispiel für's "zählbare" POSTEN:

01.
<!-- eingabe.html --> 
02.
 
03.
<form action="action.php" method="post"> 
04.
  <p>Name 1:<br><input name="name[]" type="text" size="30" maxlength="30"></p> 
05.
  <p>Name 2:<br><input name="name[]" type="text" size="30" maxlength="30"></p> 
06.
  <input type="submit" value="ok"> 
07.
</form>
01.
// action.php 
02.
<? 
03.
echo count($_POST['name']); 
04.
echo '<br />'
05.
print_r($_POST['name']); 
06.
?>
Hilft das weiter? Wenn nicht, dann bitte das Formular posten
Bitte warten ..
Mitglied: sabio23
29.07.2008 um 16:37 Uhr
Ja in einzelne Variablen hab ich das ganze ja eig. schon.
Es geht ja momentan eig. nur noch um die SQL. Wie ich das ganze jetzt noch in die DB bekomme, so wie ich es oben beschrieben habe.
Bitte warten ..
Mitglied: SnowStar
29.07.2008 um 17:04 Uhr
In der DB soll die Anzahl der Namen stehen ...
Die hättest du mit
01.
count($_POST['name']); 
Deswegen sagte ich ja, bevor ich mir alles zusammenreime, poste mal dein Formular aus dem die Daten kommen

Noch ein Versuch ... Moment ...

01.
for ($i = 0; $i < count($_POST['name']); $i++){ 
02.
// füge in Zeile xyz in die Spalte name.$i den wert $_POST['name'][$i] ein 
03.
}
01.
for ($i = 0; $i < $_GET['zahl']; $i++){ 
02.
// füge in Zeile xyz in die Spalte name.$i den wert $_POST['name'.$i] ein 
03.
}
Oder soooo >.< ohne deinen Quelltext kann es sich nur um Tage Handeln, bis du eine Lösung bekommst
Und am besten gleich die Tabellenstruktur dazu ...
Bitte warten ..
Mitglied: sabio23
29.07.2008 um 17:55 Uhr
Nein Nein
Ich hab in DB folgende spalten
namo1-name35
also
name1
name2
name3
name4
....
...
..
.

Und übe POST bekomme ich vom Benutzer die gleichen Variablen.
name1-name35
Die Anzahl interessiert mich nur für die While schleife. Was soll ich denn mit der Zahl in der DB.

Ich will einfach nur die ganzen POST Daten die ich vom Benutzer bekomme ich der DB haben.

Ich weis nicht wie ichs noch sagen soll



so sieht das aus:

01.
echo "<form action=\"index.php?page=admin&section=newlistthird&zahl=$zahl\" method=\"post\">"
02.
echo "<center><table border=\"0\">"
03.
while ($count!=$schueler
04.
05.
echo "<tr><td>"
06.
echo "Schueler "
07.
echo $count
08.
echo ": "
09.
echo "</td><td>"
10.
echo "<input type=\"text\" size=\"17\" name=\"name$count\">"
11.
echo "&nbsp&nbsp&nbsp&nbsp"
12.
echo "<input type=\"text\" size=\"17\" name=\"note$count\">"
13.
echo "</td></tr>"
14.
$count++; 
15.
16.
echo "</table></center>"
17.
echo "<br><br><center><input type=\"submit\" value=\"Speichern\"></center></form>";
$schueler ist die Anzahl der Reihen die der Bneutzer vorher gesagt hat wie viel er will.
(es geht alles dynamisch)

Das heist wenn der Benutzer vorher gesagt hat ich will 17 Reihen "name" und "note"
Dann ist $schueler 17

Und wenn er dann auf Speicher geklickt hat, will ich im Prinzip EINFACH nur die 17 "name" und 17 "note" in der DB haben.

In der DB sind name1-name35 und note1-note35 im Fall der Benutzer beispielsweise 20 oder eine andere Anzahl von Reihen auswählt.

In dem Fall sollen eben 20 "name" und 20 "note" in der DB gespeichert werden.
Bitte warten ..
Mitglied: SnowStar
29.07.2008 um 20:58 Uhr
aaaah okay. so langsam blicke ich das ...

1. Abfrage: Wieviele Schüler anlegen?
2. Abfrage: Jeweils Name und Note für die angelegten Schüler
3. Übertrag der Eingaben in eine Tabelle

Es soll also eine Tabelle in der Schülernamen und Noten gespeichert werden sollen.

Sind die Namen jeweils einmalig oder kann die Note eines Schülers zum Beispiel geändert werden, sprich, wenn ein Name, der bereits existiert eingegeben wird, dann wird die Note "überschrieben" ?
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
PHP
PHP MySQL Login (7)

Frage von Yanmai zum Thema PHP ...

PHP
MySQL-Abfrage mit php: Wert + true bzw. false (2)

Frage von tomolpi zum Thema PHP ...

Datenbanken
gelöst Eine Art Access, nur mit PHP und MySQL? (14)

Frage von McLion zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...