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, 1585 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
Router & Routing

192.168er Adresse im öffentlichen Netz

(2)

Erfahrungsbericht von visco-c zum Thema Router & Routing ...

Ä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
Zusammenarbeit
Als Administrator im Großraumbüro (29)

Frage von Dopamin85 zum Thema Zusammenarbeit ...

Exchange Server
Test-ActiveSyncConnectivity Error nach neuem Zertifikat (22)

Frage von Driphex zum Thema Exchange Server ...

Hyper-V
HYPER V und USB (16)

Frage von Hendrik2586 zum Thema Hyper-V ...

SAN, NAS, DAS
Backupserver für KMU (14)

Frage von Leo-le zum Thema SAN, NAS, DAS ...