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, 2211 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 ...

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 ...

Basic

Digitale Unterschrift in ein Formular hinzufügen

Frage von philippoBasic4 Kommentare

Guten Abend zusammen, ich habe folgendes vorhaben: Ich möchte ein digitales Neukundenformular erstellen welches die Kunden auf dem Ipad ...

Microsoft Office

Formulare, Listboxen und durchsuchen von Tabellen

Frage von 94451Microsoft Office5 Kommentare

Hallo Ihr, dieses Script hat mir schon sehr weitergeholfen hab ich 'fast' so in den Tiefen des Internets gefunden: ...

Neue Wissensbeiträge
Hardware

100.000 Mikrotik-Router ungefragt von Hacker abgesichert

Information von 7Gizmo7 vor 13 StundenHardware1 Kommentar

Hallo zusammen, da hier ja öfters mal von Mikrotik gesprochen wird. Trotz Updates klafft eine Sicherheitslücke in Hundertausenden Mikrotik-Routern. ...

Sicherheit

Oracle gibt kritische Updates für diverse Produkte frei (16. Oktober 2018)

Information von kgborn vor 1 TagSicherheit

Oracle hat zum 16. Oktober 2018 eine ganze Reihe an kritischen Updates für seine Produkte freigegeben. Eine Kurzübersicht mit ...

Windows 10
FYI: Fristen beim Windows 10 Downgrade-Recht
Information von kgborn vor 1 TagWindows 101 Kommentar

Möglicherweise ist das bei euch bekannt - ich habe es gerade aus einem Newsletter eines OEMs herausgefischt. Beim Downgrade-Recht ...

CMS
Freie Wähler Bayern MySQL PW online
Information von sabines vor 1 TagCMS6 Kommentare

Die Typo3 Installation der Freien Wähler Bayern scheint wohl längere Zeit nicht mehr angefasst und/oder fehlkonfiguriert zu sein. Nach ...

Heiß diskutierte Inhalte
Windows 10
Sysprep Fehler im Log kann nicht starten
Frage von grillinator95Windows 1021 Kommentare

Hallo, kann leider SYSPREP nicht mehr starten, Win10 64bit. Logfile sagt folgendes: 2018-10-17 13:44:56, Info SYSPRP 2018-10-17 13:44:56, Info ...

Internet
Ist diese URL denkbar (Syntax)?
gelöst Frage von departure69Internet17 Kommentare

Hallo. Der Sohn eines Arbeitskollegen hat im Gymnasium EDV-Unterricht. Leider hat er in der letzten Klassenarbeit einen Fünfer geschrieben. ...

Exchange Server
Outlook Anywhere - Anmeldefenster muss mit Domain gefüllt werden
Frage von leon123Exchange Server16 Kommentare

Hallo zusammen, ich habe relativ erfolgreich einen Exchange 2016 aufgesetzt, sowie ein SAN-Zertifikat eingespielt und Outlook Anywhere aktiviert. Beim ...

Debian
Linux debian 9 Installation
Frage von Green14Debian15 Kommentare

Hallo zusammen, ich habe mich ein wenig mit Debian auseinandergesetzt und möchte mir eine Standard-Installation als Grundlage für andere ...