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, 1609 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 ..
Ähnliche Inhalte
PHP
gelöst Php regex und Array (5)

Frage von Thomas91 zum Thema PHP ...

PHP
gelöst PHP - unique-array() und sort() (14)

Frage von ThomasXYZ zum Thema PHP ...

PHP
gelöst Externe XML-Datei in PHP auslesen (18)

Frage von Akrosh zum Thema PHP ...

Neue Wissensbeiträge
Windows Server

Umstellung SHA 1 auf SHA 2 - Migration der CA von CSP auf KSP

Tipp von Badger zum Thema Windows Server ...

Windows 10

Quato DTP94 unter Windows 10 x64 installieren und verwenden

Anleitung von anteNope zum Thema Windows 10 ...

Windows 10

Win10 1703 und Nutzerkennwörter bei Ersteinrichtung - erstaunliche Erkenntnis

(15)

Erfahrungsbericht von DerWoWusste zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Internet
gelöst Jeden morgen Internet-Probleme (56)

Frage von pjrtvly zum Thema Internet ...

Server-Hardware
HP DL380 G7: Booten vom USB via USB 3.1-PCI-e Karte möglich? (24)

Frage von Paderman zum Thema Server-Hardware ...

LAN, WAN, Wireless
gelöst IP Adressen - Modem - Switch - Accesspoint (22)

Frage von teuferl82 zum Thema LAN, WAN, Wireless ...

Windows 7
Bluesreens unternehmensweit (22)

Frage von SYS64738 zum Thema Windows 7 ...