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

Frage Entwicklung PHP

Mitglied: Chill0R

Chill0R (Level 1) - Jetzt verbinden

27.02.2007, aktualisiert 20:45 Uhr, 2197 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
Windows Server
SQL Server Uhrzeit Server und Datenbankeinträge unterschiedlich
gelöst Frage von Andinistrator1Windows Server6 Kommentare

Hallo Zusammen, bei meinem SQL Server weicht die Uhrzeit, welche im Windows eingestellt ist um genau 2h von dem ...

PHP
HTML u. PHP: Combobox dynamisch mit Datenbankeinträgen befüllen
gelöst Frage von PhobozPHP2 Kommentare

Hallo, Frohes Neues erstmal :) siehe Titel, siehe mein Code: was ist falsch? Grüße Phoboz

Batch & Shell
Mit zusammengesetzter Variable auf andere Variable zugreifen
gelöst Frage von abiberBatch & Shell2 Kommentare

Hallo zusammen, ich möchte in einer Batch Datei über Robocopy auf mehrere Rechner Dateien verteilen. Dazu möchte ich am ...

Batch & Shell
Variable soll Variable setzen
gelöst Frage von mc-doubleyouBatch & Shell6 Kommentare

Hallo zusammen, ich versuche eben bestimmt durch eine Variable eine andere zu definieren, ich hatte gehofft das ginge so ...

Neue Wissensbeiträge
Internet

EU-DSGVO: WHOIS soll weniger Informationen liefern

Information von sabines vor 4 StundenInternet3 Kommentare

Wegen der europäische Datenschutzgrundverordnung stehen die Prozesse um die Registierunf von Domains auf dem Prüfstand. Sollte die Forderungen umgesetzt ...

Verschlüsselung & Zertifikate

19 Jahre alter Angriff auf TLS funktioniert immer noch

Information von BassFishFox vor 11 StundenVerschlüsselung & Zertifikate1 Kommentar

Interessant zu lesen. Der Bleichenbacher-Angriff gilt unter Kryptographen als Klassiker, trotzdem funktioniert er oft noch. Wie wir herausgefunden haben, ...

Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 22 StundenWindows 103 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 1 TagSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Von rj11 auf rj45
Frage von jensgebkenLAN, WAN, Wireless16 Kommentare

Hallo Gemeinschaft, könnt ihr mir vielleicht bei der anfertigung eines Kabels helfen - habe ein rj 11 stecker und ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...