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

Ausgabeproblem aus Datenbankabfrage

Frage Entwicklung PHP

Mitglied: LuckyLuke

LuckyLuke (Level 1) - Jetzt verbinden

25.11.2008, aktualisiert 29.11.2008, 2290 Aufrufe, 1 Kommentar

Hallo liebe PHP'ler,

ich sehe so langsam vor lauter Bäumen den Wald nicht mehr. Ich habe ein ganz einfaches Formular, mit dem ich Datensätze Schritt-für-Schritt von der Datenbank abfrage.
Auf der letzten Seite angekommen, sollen die Optionen von Produkten angezeigt werden. Dies funktioniert auch soweit richtig, aber NUR, wenn ich es nur für EIN Produkt anfordere. Wird es mehr, ist die Ausgabe nicht mehr richtig. Mittlerweile habe ich auch festgestellt, dass es an den Foreach-Schleifen liegt. Wie kann ich es denn anders Programmierne, dass die Ausgabe richtig erfolgt?

Hier der Auszug aus dem Code:
01.
  
02.
foreach ($_POST['prdkindzu'] as $kindid => $prdkindid)  
03.
04.
	foreach ($prdkindid as $zusatzid => $prdkind_name)  
05.
	{	 
06.
		$kindopt=mysql_db_query("edv_produktdatenbank",  
07.
		"SELECT PRDKINDOPT.prdgrp_id, PRDKINDOPT.prdfam_id, PRDKINDOPT.prdkind_id, PRDKINDOPT.prdkindzusatz_id, PRDKINDOPT.prdkind_option_id, PRDKINDOPT.prdkind_option 
08.
		FROM edv_produktkind_option PRDKINDOPT 
09.
			WHERE PRDKINDOPT.prdkind_id = $kindid 
10.
			  AND PRDKINDOPT.prdkindzusatz_id = $zusatzid 
11.
			ORDER BY PRDKINDOPT.prdkind_option ASC"); 
12.
	 
13.
		while($row_kindopt=mysql_fetch_array($kindopt,MYSQL_NUM))  
14.
15.
			$kindopt_grpid[]	  = $row_kindopt[0]; 
16.
			$kindopt_famid[]	  = $row_kindopt[1]; 
17.
			$kindopt_kindid[]     = $row_kindopt[2]; 
18.
			$kindopt_kindzuid[]   = $row_kindopt[3]; 
19.
			$kindopt_kindoptid[]  = $row_kindopt[4]; 
20.
			$kindopt_kindoption[] = $row_kindopt[5]; 
21.
22.
23.
}	 
24.
 
25.
echo'  
26.
<p class="Stil4"><u>3. Schritt: Produkt-Option auswählen</u></p> 
27.
<form method="POST" action="04_auswahl_anzeigen.php" /> 
28.
<table border="0" width="600" class="Stil3">'; 
29.
foreach ($_POST['prdkindzu'] as $kindid => $prdkindid)  
30.
31.
	foreach ($prdkindid as $zusatzid => $prdkind_name)  
32.
	{	 
33.
		echo
34.
		<tr> 
35.
		<td class="Stil4">'.$prdkind_name.'</td> 
36.
		</tr>'; 
37.
		for($i=0;$i<count($kindopt_kindoption);$i++) 
38.
39.
			echo
40.
			<tr> 
41.
			<td class="Stil4"><input type="checkbox" name="prdkindopt['.$kindopt_kindoptid[$i].']" value="'.$kindopt_kindoptid[$i].'">'.$kindopt_kindoption[$i].'</td> 
42.
			</tr>'; 
43.
		}	 
44.
45.
46.
echo
47.
</table> 
48.
<input type="submit" value="Auswahl anzeigen" /> 
49.
</form>'; 
50.
?>
Zur Veranschaulichung hier die Ausgabe:
3c7ce5cbc1619eab866a05a27777a511-problem - Klicke auf das Bild, um es zu vergrößern

Über einen Tipp wäre ich euch dankbar, ist sicherlich einfacher als man sich das Ganze vorstellt.


Gruß, Lucky.
Mitglied: Arano
29.11.2008 um 14:58 Uhr
In Zeile 20 befüllst du ja das Array mit den Optionen immer und immer weiter.
Ab Zeile 37 lässt du alle Elemente des Arrays wieder ausgeben. (Dieses enthält mittlerweile natürlich die Optionen beider Kinder weil das Array ja einfach nur befüllt wird, weiter und immer weiter)

Lass dir nach dem Auslesen und vor dem Ausgeben die Inhalte aus deinen Arrays ausgeben (print_r(),var_pump())

Mein Vorschlag wäre ein anderes Arraydesign:
01.
$kinder=array
02.
 0=array
03.
  'group_id'=>, 
04.
  'famili_id'=>, 
05.
  'kind_id'=>, 
06.
  'zu_id'=>, 
07.
  'option_id'=>, 
08.
  'options'=>array
09.
   0=>'Option 12'
10.
   1=>'Option 23'
11.
   2=>'Option 52'
12.
   3=>'Option 53' 
13.
  ), 
14.
 1=array
15.
  'group_id'=>, 
16.
  'famili_id'=>, 
17.
  'kind_id'=>, 
18.
  'zu_id'=>, 
19.
  'option_id'=>, 
20.
  'options'=>array
21.
   0=>'Option 12'
22.
   1=>'Option 23'
23.
   2=>'Option 52'
24.
   3=>'Option 53' 
25.
26.
);
So hast du alle Daten separat, jeweils in einem eigenem Array gespeichert.

Ob man es auch so bei dir machen kann weiss ich nicht, blike nicht ganz durch dein Skript...

Schönes Wochenende
Arano
Bitte warten ..
Ähnliche Inhalte
Datenbanken
Hilfe bei Datenbankabfrage
gelöst Frage von e51bomagDatenbanken11 Kommentare

Hallo liebe Community, hab gerade ein Blackout bzgl. Realisierung einer Abfrage. Folgende Datenbank: noten: nid, loginname, fid, note, type ...

Batch & Shell
Datenbankabfrage Powershell
gelöst Frage von internet2107Batch & Shell3 Kommentare

Ich versuche auf eine Datenbank zuzugreifen, was auch soweit klappt. Jedoch möchte ich gerne alle Tabellen listen, die sich ...

VB for Applications
VBS Scrip - Datenbankabfrage für Netz-Laufwerke spezifizieren
gelöst Frage von Ah3n0bar6usVB for Applications9 Kommentare

Hallo zusammen, Ich habe folgenden Code: Hier werden alle Netz-Lw ausgelesen und ausgegeben. Wie kann ich das jedoch auf ...

Microsoft
Datenbankabfrage an MS SQL 2014 aus Sharepoint 2013 senden
Frage von EvilmachineMicrosoft

Hallo Kollegen, ich arbeite mich momentan so ein bisschen in das Thema Sharepoint 2013 ein. Nun hab ich hier ...

Neue Wissensbeiträge
Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 2 StundenViren und Trojaner

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 6 StundenRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Internet

Was nützt HTTPS, wenn es auch von Phishing Web-Seiten genutzt wird

Information von Penny.Cilin vor 3 TagenInternet17 Kommentare

HTTPS richtig einschätzen Ob man eine Webseite via HTTPS aufruft, zeigt ein Schloss neben der Adresse im Webbrowser an. ...

Webbrowser

Bugfix für Firefox Quantum released - Installation erfolgt teilweise nicht automatisch!

Erfahrungsbericht von Volchy vor 4 TagenWebbrowser8 Kommentare

Hallo zusammen, gem. dem Artike von heise online wurde mit VersionFirefox 57.0.1 sicherheitsrelevante Bugs behoben. Entgegen der aktuellen Veröffentlichung ...

Heiß diskutierte Inhalte
Exchange Server
SBS 2011 E-Mails können gesendet werden, aber nicht von extern empfangen
Frage von andreas1234Exchange Server15 Kommentare

Hallo Community, ich habe das Problem, dass seit knapp zwei Wochen die E-Mails von meinem SBS 2011 einwandfrei gesendet ...

Voice over IP
Telefonstörung - Ortsrufnummern kein Verbindungsaufbau
Frage von Windows10GegnerVoice over IP10 Kommentare

Hallo, sowohl bei uns als auch beim Opa ist es über VoIP nicht möglich Ortsrufnummern anzurufen. Es kommt nach ...

Batch & Shell
Trusted Sites für alle User auf dem PC einpflegen
Frage von xXTaKuZaXxBatch & Shell10 Kommentare

Aufgabestellung: Es sollen auf 1 PC (bzw. mehreren PCs) vertrauenswürdige Sites per Powershell eingetragen werden, die für alle User ...

Windows Server
Administratoren-Gruppe abfragen?
Frage von 1410640014Windows Server6 Kommentare

Hallo, kennt jemand eine einfache (und schnelle) Möglichkeit, von allen Client-Computern im Active Directorey die Administratoren-Gruppe abzufragen, wer da ...