Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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
GELÖST

Wie in PHP ein array auslesen?

Frage Entwicklung PHP

Mitglied: Jochem

Jochem (Level 2) - Jetzt verbinden

27.01.2014, aktualisiert 11:46 Uhr, 1574 Aufrufe, 5 Kommentare, 1 Danke

Moin zusammen,

ich versuche, Daten aus einer Datenbank in mehrere arrays (pro DB-Feld ein array) zu schreiben und die Werte dann spaltenweise auszugeben. Auslesen aus der DB und Füllen der arrays klappt. Für die Anzeige will ich 5 Spalten nebeneinander aufbereiten. Also lasse ich jedes array 5 mal durchlaufen um danach eine Zeile auszugeben. Hier habe ich mal den Codeschnipsel für eine Zeile, den Header einer Tabelle. Der Index $j bleibt auf 0 stehen und somit loopt das Script schon beim Füllen der ersten Zeile.
Wo mache ich den Denkfehler? Oder kann ich ein array nicht per While-Schleife ausgeben?
Bei "foreach" wäre dann das nächste Problem, da ich ja nicht alle array-Elemente ausgeben will, sondern nur immer 5er-Blöcke.
Alternativ könnte ich auch nur jeweils 5 Datensätze lesen, die arrays füllen und hätte damit das obige foreach-Problem wohl erschlagen, oder?
Wie würdet ihr das lösen?

01.
echo '<thead>'; 
02.
echo '<tr>'; 
03.
echo '<th>Bezeichnung</th>'; 
04.
$j = 0; 
05.
while ($j < 5) { 
06.
echo '<th align="center" valign="middle">'; 
07.
echo $j.' '.$a_mdl[$j]; 
08.
echo '</th>'; 
09.
$j = $j++; 
10.
11.
echo '</tr>'; 
12.
echo '</thead>';
Gruß J chem
Mitglied: colinardo
LÖSUNG 27.01.2014, aktualisiert um 12:07 Uhr
machs doch so:
01.
for ($j = 0 ; $j < 5; $j++){ 
02.
  echo '<th align="center" valign="middle">'
03.
  echo $j.' '.$a_mdl[$j]; 
04.
  echo '</th>'
05.
}
p.s. der Fehler in deinem Script ist in Zeile 9, diese sollte nur so aussehen: (Erläuterung s. Kommentar weiter unten)
$j++
Grüße Uwe
Bitte warten ..
Mitglied: Jochem
27.01.2014 um 11:48 Uhr
Moin,

oh Mann, ich glaub es nicht. Nur das hochzählen des Index hats verwurschtelt. Danke. Läuft jetzt wie gewünscht.

Gruß J chem
Bitte warten ..
Mitglied: Arano
27.01.2014 um 11:48 Uhr
Du Uwe...

Zeile 9 hatte ich eben auch im Verdacht... habs aber verworfen weil ich meine das es trotzdem funktionieren müsste...
Kannst du den Fehler bitte erklären.

Danke
~Arano
Bitte warten ..
Mitglied: colinardo
27.01.2014, aktualisiert 30.01.2014
Zitat von Arano:
Zeile 9 hatte ich eben auch im Verdacht... habs aber verworfen weil ich meine das es trotzdem funktionieren müsste...
Kannst du den Fehler bitte erklären.
$j = $j++;
funktioniert so nicht weil die Variable erst nach der Ausführung der Code-Zeile ($j++) inkrementiert wird. So hängt sich PHP in eine unendliche Schleife weil die Variable immer null bleibt.
$j++ gibt selbst nichts den Operand zurück(Post-Increment). Siehe auch http://www.tizag.com/phpT/operators.php

Alternativen die gehen:
(man beachte die ++ vor der Variablen / Pre-Increment)
$j = ++$j;
$j += 1;
$j = $j + 1;
(Post-Increment)
$j++;
Bitte warten ..
Mitglied: Guenni
30.01.2014 um 02:01 Uhr
$j++ gibt selbst nichts zurück(Post-Increment).

Hi,

stimmt so auch nicht ganz.

Bei der Formulierung $op1 = $op2++ gibt der Operator ++ zuerst den Operand zurück,

und danach wird der Operand incrementiert.

01.
<?php 
02.
$a = 5; 
03.
$b = 3; 
04.
 
05.
echo $a."<br>"
06.
 
07.
$a = $b++; 
08.
 
09.
echo $a."<br>"; // $a ist jetzt 3 
10.
echo $b."<br>"; // $b ist jetzt 4 
11.
?>

Gruß
Günni
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(3)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
PHP
gelöst Php regex und Array (5)

Frage von Thomas91 zum Thema PHP ...

JavaScript
gelöst Dropdownfeld auslesen und mit AJAX und JS an PHP senden (7)

Frage von ITFlori zum Thema JavaScript ...

PHP
gelöst HTML Dropdownmenü auslesen und in PHP als Variable übergeben (35)

Frage von ITFlori zum Thema PHP ...

Heiß diskutierte Inhalte
LAN, WAN, Wireless
gelöst Server erkennt Client nicht wenn er ausserhalb des DHCP Pools liegt (28)

Frage von Mar-west zum Thema LAN, WAN, Wireless ...

Windows Server
Server 2008R2 startet nicht mehr (Bad Patch 0xa) (18)

Frage von Haures zum Thema Windows Server ...

Outlook & Mail
Outlook 2010 findet ost datei nicht (18)

Frage von Floh21 zum Thema Outlook & Mail ...