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

Batch & Shell

Datei als Variable auslesen und Variable ändern

gelöst Frage von chainsawBatch & Shell1 Kommentar

Hallo Profis, ich komme mit folgendem Problem nicht weiter: In dem Verzeichnis "C:\logfiles" landen bei mir Log-Dateien. Diese Log-Dateien ...

Batch & Shell

Variablen Nutzen welche aus dem Inhalt von Variablen erstellt werden

gelöst Frage von der-blobBatch & Shell4 Kommentare

Hallo Zusammen, der Titel ist zwar nicht direkt aussage kräftig, aber jedoch weis ich nicht wie ich es beschreiben ...

Neue Wissensbeiträge
Internet

Europa baut Zensurinfrastruktur auf: EU-Parlament stimmt für Upload-Filter, Leistungsschutzrecht und gegen KI-Forschung

Information von Frank vor 1 TagInternet9 Kommentare

Eine sehr schlechte Entscheidungen für die Zukunft Europas ist gefallen: Der Rechtsausschuss im EU-Parlament stimmte heute morgen in einer ...

Windows 10

Mikrofon von Headset geht nach Update auf Windows 10 1803 nicht mehr

Tipp von Deepsys vor 3 TagenWindows 102 Kommentare

Ich verwende ein Plantronics Headset das per USB mit dem Windows 10 PC verbunden ist. Damit kann ich auch ...

Video & Streaming

Ruckelfreies Fernsehen auf Smartphone oder Tablet - in SD oder gar HD - Eine Alternative zum Fritz DVB-C Receiver

Anleitung von power-user vor 4 TagenVideo & Streaming9 Kommentare

Wer kennt das nicht: Man möchte gemütlich auf dem Balkon sitzen und vielleicht grillen und dabei das WM-Spiel gucken ...

Erkennung und -Abwehr
Trendmicro WFBS 10 ist in deutsch verfügbar!
Tipp von VGem-e vor 4 TagenErkennung und -Abwehr4 Kommentare

Servus Kollegen, downloadbar unter

Heiß diskutierte Inhalte
Windows 7
Windows 7 Benutzer wechsel nicht möglich
gelöst Frage von OSelbeckWindows 727 Kommentare

Hallo, ich habe hier einen Windows 7 Rechner, der in der Domäne war. Jetzt passiert beim starten, das ich ...

Windows Netzwerk
IP-Adresskonflikt
Frage von Turbo-MasterWindows Netzwerk24 Kommentare

Hallo zusammen, ich habe ein Problem mit unserem Netzwerk unter Windows Server. Ständig erhalten wir die Meldung, dass ein ...

Batch & Shell
Batch Datei für Dateinamen
gelöst Frage von Sabi75Batch & Shell19 Kommentare

Hallo zusammen, ich bräuchte mal eure Hilfe. Ich nutze einen Windows 7 PC und ein Apple Ipad wenn ich ...

Festplatten, SSD, Raid
RAID auflösen Synology DS213j!
gelöst Frage von Hendrik2586Festplatten, SSD, Raid19 Kommentare

Guten Morgen meine Lieben! :) Diese Frage wird sich sicherlich schon der ein oder andere gestellt haben. Es geht ...