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, 1601 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 - unique-array() und sort() (14)

Frage von ThomasXYZ zum Thema PHP ...

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

Neue Wissensbeiträge
Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(6)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(40)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Heiß diskutierte Inhalte
Windows 10
gelöst Windows 10 Home "Netzlaufwerk nicht bereit" (19)

Frage von Oggy01 zum Thema Windows 10 ...

DNS
gelöst Komplette TLD Überschreiben bzw eigene Definieren (10)

Frage von Herbrich19 zum Thema DNS ...

Exchange Server
gelöst RU 17 Exchange 2010 . Erfahrungen? (10)

Frage von keine-ahnung zum Thema Exchange Server ...

Datenbanken
gelöst MySQL Zeiterfassungs-Problematik (wer ist eingecheckt) (9)

Frage von NativeMode zum Thema Datenbanken ...