Top-Themen

Aktuelle Themen (A bis Z)

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

Variables Formular mit Datenbankeinträgen

Mitglied: Chill0R

Chill0R (Level 1) - Jetzt verbinden

27.02.2007, aktualisiert 20:45 Uhr, 2216 Aufrufe, 1 Kommentar

Hallo,

ich habe ein "kleines" Problem und zwar möchte ich ein Formular erstellen mit dem eine variable Anzahl von Datensätzen in eine Datenbank geschrieben werden.

Funktionsprinzip:
Ich habe eine Auswahlmöglichkeit wie viele Mannschaften in die Datenbank eingetragen werden sollen. Je nach Eingabe erscheint dann ein Formular in dem entsprechend viele Felder zum eintragen der Mannschaften wie eingegeben erscheinen.

01.
$anz=$_GET['anz'];
02.
 
03.
echo "
04.
<b>Mannschaften eintragen:</b><br>
05.
==================================<br><br>
06.
<form action='$PHP_SELF' method='post'>
07.
<table>";
08.
 
09.
 for ($i=1; $i<=$anz; $i++) {
10.
 
11.
echo "
12.
	<tr>
13.
	   <td>Mannschaft $i:</td>
14.
	   <td><input type='text' name='Mannschaft$i' size='25'></td>
15.
	   <td><input type='hidden' name='ID$i' value='$i'></td>
16.
	</tr>";
17.
  
18.
 }
19.
 
20.
echo " 
21.
</table>
22.
<input type='submit' value='Anlegen' name='anlegen'>
23.
</form>";
Das klappt auch soweit ganz gut.

Kommen wir zum eigentlichen Problem:

Man könnte das ganze recht unflexibel lösen indem man für jede Variable einen extra Eintag macht:

01.
$ID1=$_POST['ID1'];
02.
$Mannschaft1=$_POST['Mannschaft1'];
03.
$ID2=$_POST['ID2'];
04.
$Mannschaft2=$_POST['Mannschaft2'];
05.
... usw...
und das eintragen in die Datenbank mit:
01.
if(isset($_POST['anlegen']))
02.
{
03.
$eintragen1="INSERT INTO mannschaften
04.
				(ID, Mannschaft)
05.
			VALUES
06.
				('$ID1', '$Mannschaft1')";
07.
$eintragen2="INSERT INTO mannschaften
08.
				(ID, Mannschaft)
09.
			VALUES
10.
				('$ID2', '$Mannschaft2')";
11.
...usw...
12.
 
13.
mysql_query($eintragen1) or die(mysql_error());
14.
mysql_query($eintragen2) or die(mysql_error());
15.
..usw...
16.
}
Da man aber 12-24 Mannschaften eintragen können soll ist das sehr schreibintensiv und sehr viel Quellcode.

Ich würde den unteren Code gerne genauso flexibel gestalten wie das Formular oben.

Ich habe schon versucht den Teil mit dem Eintragen in die Datenbank folgendermaßen zu lösen:

01.
for ($i=1; $i<=$anz; $i++) {
02.
$eintr="$".eintragen.$i;
03.
 
04.
mysql_query($eintr) or die(mysql_error());
05.
}
Allerdings wird dadurch leider nicht die Variable erzeugt die ich brauche. Für $eintr steht dann zwar das passende $eintragen1 allerdings wird es nicht als Variable erkannt.
Den Part darüber würde ich auch gerne Variabel gestalten aber leider finde ich keinen Weg der Funktioniert.

Ich hoffe ihr habt ein paar hilfreiche Tipps für mich. Vllt habe ich ja auch nen kompletten Denkfehler drin und das ganze geht anders ganz einfach....

Gruß
Mitglied: Guenni
27.02.2007 um 20:45 Uhr
@Chill0R

Hi,

du kannst HTML-Tags als Array deklarieren, und das Array mit PHP auswerten.

01.
<?
02.
if($anlegen){
03.
 $query="Insert into mannschaften(manschaft) ";
04.
 $query.="values('$mannschaft[0]')"; <-- erstes Element des Array, siehe Formular, anhängen
05.
 $i=1;
06.
 while($i<count($mannschaft)){
07.
  $query.=","."values('$mannschaft[$i]')"; <-- ein Komma, nächstes Element anhängen
08.
	$i++;
09.
 }
10.
}
11.
 
12.
echo $query; <-- Testausgabe, eventuell muß dem Query noch ein ";" angehangen werden: $query.=";",
13.
wenn der Befehl **mysql_query($query);** abschickt wird
14.
Zeigt sich ja dann.
15.
?>
16.
 
17.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
18.
<html>
19.
<head>
20.
<title>Untitled</title>
21.
</head>
22.
<body>
23.
 
24.
<form action="test.php" method="post">
25.
<table>
26.
<?
27.
$anz=$_GET['anz'];
28.
if($anz){
29.
 for($i=0;$i<$anz;$i++){
30.
  echo "<tr>";
31.
	 echo "<td><input type=\"text\" name=\"mannschaft[]\" size=\"25\"></td>"; <-- Textfeld **mannschaft** als Array deklarieren
32.
	echo "</tr>";
33.
 }
34.
}
35.
?>
36.
</table>
37.
<input type="submit" value="Anlegen" name="anlegen">
38.
</form>
39.
</body>
40.
</html>
Denke mal, so wird's gehen.

Grüße
Günni
Bitte warten ..
Ähnliche Inhalte
JavaScript
Jquery Formular absenden
gelöst Frage von tobmesJavaScript1 Kommentar

Hi Experten, ich versuche mich gerade an jquery. Ich habe bis jetzt die Formular immer direkt mittels PHP übermittelt. ...

Microsoft Office
Formular Autofill - Infopath
Frage von TlBERlUSMicrosoft Office1 Kommentar

N´abend Kollegen, einer meiner Kunden verwendet Infopath, um aus einer Datenquelle heraus ein Formular in Word zu erzeugen. Infopath ...

Datenbanken

Dynamische Tabelle mit php erzeugen, leider leere anzeige obwohl datenbankeintrag besteht!

gelöst Frage von LordKimahriDatenbanken14 Kommentare

Also ich versuche derzeit eine art Pinnwand selbst zu kreieren, stolpere aber über das erzeugen einer dynamischen tabelle! Mein ...

PHP

PHP Problem mit Formular

gelöst Frage von vServerPHP6 Kommentare

Hallo, ich habe ein Formular jedoch ein Problem das später nicht alle Felder weitergegeben werden? und hier hab ich ...

Neue Wissensbeiträge
iOS
WatchChat für Whatsapp
Tipp von Criemo vor 2 TageniOS3 Kommentare

Ziemlich coole App für WhatsApp User in Verbindung mit der Apple Watch. Gibts für iOS sowohl als auch für ...

iOS
IOS hat nen Cursor !!!
Tipp von Criemo vor 2 TageniOS5 Kommentare

Nette Funktion im iOS. iPhone-Mauszeiger aktivieren „Nichts ist nerviger, als bei einem Tippfehler zu versuchen, den iOS-Cursor an die ...

Off Topic
Avengers 4: Endgame - Erster Trailer
Information von Frank vor 4 TagenOff Topic2 Kommentare

Ich weiß es ist Off Topic, aber ich freue mich auf diesen Film und vielleicht geht es anderen hier ...

Webbrowser
Microsoft bestätigt Edge mit Chromium-Kern
Information von Frank vor 5 TagenWebbrowser5 Kommentare

Microsoft hat nun in seinem Blog bestätigt, dass die nächste Edge Version kein EdgeHTML mehr für die Darstellung benutzen ...

Heiß diskutierte Inhalte
Hosting & Housing
VMware VM mit über 1TB RAM für S4HANA
gelöst Frage von Leo-leHosting & Housing24 Kommentare

Hallo zusammen, wer hat Erfahrng und kann mir einen Tipp zum sizing von S4HANA Systemen geben? Wir möchten, zunächst ...

LAN, WAN, Wireless
WLAN und Ausmessung - Eine Glaubensfrage?
Frage von ptr2brainLAN, WAN, Wireless23 Kommentare

Liebe Experten, als Sys-Admin habe ich mir schon öfter die Frage gestellt, ob es sich beim Thema WLAN und ...

Drucker und Scanner
SW-Laserdrucker mit sechs Papierfächern gesucht
Frage von MOS6581Drucker und Scanner19 Kommentare

Moin, zur Abwechslung mal eine sonderbare Anforderung :) Ich suche einen S/W Laserdrucker (kein MFP), der sechs Papierfächer bzw. ...

Virtualisierung
Gebrauchte Server Hardware als Virtualisierungs-"Spielwiese"?
Frage von NixVerstehenVirtualisierung19 Kommentare

Einen wunderschönen guten Morgen zusammen, ich möchte mich gerne etwas tiefer mit dem Thema Virtualisierung beschäftigen und dazu ein ...