php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2006

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 24.01.2006, 22:14  
Gast
 
Beiträge: n/a
Standard mehrdimensionales Array "auflösen"

Ich habe ein mehrdimensionales Array im folgenden Format:

$News[Jahr][WochenNr][Tag]

Dort sind nun meine ca. 1000 News drin. Ich wollte die jetzt gerne so irgendwie auflisten:
Beispiel
Jahr -> 2006
WochenNr -> 4
Tag -> 24 und mit den News


Dieses Array existiert für jede News. Also sieht so aus:

$News[Jahr][WochenNr][Tag] = "Newslink";


Wie löse ich dieses Array nun so auf, dass ich folgende Auflistung erhalte:

News im Jahre $Jahr
- $WochenNr. Woche
-- $Tag mit den News

....

Wisst ihr wie ich das meine?
Also das mit dem Array geht. Hab das mit var_dump mit mal ausgeben lassen.

So siehts dann aus:

Array ( [2005] => Array ( [45] => Array ( [07] => Architektur |
US Intervention sucht
[08] => Update #1
Frontline18 - Was fliegt denn da über unseren Köpfen?
[10] => Update #2
...............

Das wollte ich eigentlich mit ner for oder while Schleife auflösen... Nur ich habe keinen Schimmer wie.
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 24.01.2006, 22:25  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 646
Magic befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Das wollte ich eigentlich mit ner for oder while Schleife auflösen... Nur ich habe keinen Schimmer wie.
Schon der richtige Ansatz, aber ich empfehle dir foreach ... aber ist es wirklich sinnvoll so viele Daten in ein Array zu packen? Wieso rufst du nicht nur das ab was du auch brauchst?

Du kannst aber auch, falls du die Daten aus einer Datenbank ausliest, mysql_fetch_array und eine while-Schleife verwenden. Jedenfalls mach ich das gerne so.
Magic ist offline  
Alt 24.01.2006, 22:28  
Gast
 
Beiträge: n/a
Standard

Hab ich doch so gemacht
PHP-Code:
<?php

while($row mysql_fetch_array(mysql_query("SELECT * FROM cms_news ORDER BY `newsstamp` ASC"))){
$Yi date('Y'$row['newsstamp']);
$Wi date('W'$row['newsstamp']);
$Di date('d'$row['newsstamp']);
$NewsKatalog[$Yi][$Wi][$Di] .= "<a href=\"News_"$row['news_topic'] .","$row['id'] .".html\">"$row['titel'] ."</a>
"
;
}

print_r($NewsKatalog);
?>
 
Alt 24.01.2006, 22:37  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 646
Magic befindet sich auf einem aufstrebenden Ast
Standard

Lies dir bitte mal das hier durch und überdenke dann nochmal SELECT *

Ich würde dir empfehlen, da es sich ja um über 1000 Datensätze handeln soll, die Abfrage zu beschränken. Brauchst du wirklich alle Datensätze auf einmal?

Zu deiner Frage ein mehrdimensionales Array auszugeben hilft dir vielleicht folgender Link weiter:
http://www.php-faq.de/q/q-arrays-mehrdimensional.html
Magic ist offline  
Alt 25.01.2006, 00:17  
Gast
 
Beiträge: n/a
Standard

Wie ich aus einem mehrdimensionalen array lese weiß ich auch. Und ja ich möchte alle Datensätze haben, da ich ja so eine rießen Newsliste ausgeben möchte. Also so ein Newsarchiv aufgelistet in den einzelnen Wochen. 1-52 für jedes Jahr. Und das möglichst automatisch. Daher ist ja hier meine Frage, wie ich dies nun dynamisch ausgeben lassen kann. Also das mir eine Schleife das Array schön sortiert (ist ja eigentlich schon sortiert) und ausgibt.

News im Jahre $Jahr
- $WochenNr. Woche
-- $Tag mit den News

Also dann noch schön HTML formatiert halt :P
 
Alt 25.01.2006, 18:40  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Woran genau scheitert es denn? Und warum speicherst du die Daten zunächst in einem Array statt sie sofort innerhalb der while-Schleife auszugeben?
xabbuh ist offline  
Alt 25.01.2006, 19:03  
Gast
 
Beiträge: n/a
Standard

Und wie soll ich das anstellen? Ich möchte das ja gerne so kategorisiert ausgeben.

Also das dann für jedes Jahr, WochenNr und Tag so eine Einrückung gemacht wird...
 
Alt 25.01.2006, 19:09  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Merke dir bei jedem Schleifendurchlauf Jahr, Wochennummer und Tag und überprüfe dann ob sich die Werte geändert haben. Dann kannst du entsprechend einrücken.
xabbuh ist offline  
Alt 25.01.2006, 19:14  
Gast
 
Beiträge: n/a
Standard

Und wie mache ich es dann, dass auch nur einmal ne Überschrift ausgegeben wird?

Also wenn der jetzt bei Eintrag 1 feststellt, dass es die WochenNR 4 hat, soll ne Überschrift (4. Woche 2006) ausgeben. Und beim 2.ten Eintrag sieht er, dass dieses auch für die 4. Woche ist. Dann gibt er ja die Überschrift + Einrückung 2 mal aus.. wie kann ich das verhindern?
 
Alt 25.01.2006, 19:15  
Erfahrener Benutzer
 
Registriert seit: 13.11.2005
Beiträge: 2.583
xabbuh
Standard

Eben in dem du bei jedem Durchlauf die aktuelle Wochennummer in einer Variablen ablegst und beim nächsten Durchlauf prüfst, ob sich diese geändert hat.
xabbuh ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Turnierbaum aus array erstellen kingflo PHP-Fortgeschrittene 11 30.07.2008 11:32
mehrdimensionales Array als HTML-Formular mindhead PHP Tipps 2008 3 11.04.2008 15:25
Mehrdimensionales Array zusammen setzen... Hawk PHP Tipps 2008 11 08.10.2007 15:37
mehrdimensionales Array in Klasse erstellen Nixwisser PHP Tipps 2007 2 01.08.2007 14:30
Mehrdimensionales Array sortieren Unbekanntes_Pferd PHP Tipps 2006 6 23.05.2006 20:42
Array auslesen andrew22 PHP Tipps 2006 3 21.01.2006 23:06
Array Formatierung PHP Tipps 2006 3 17.01.2006 19:12
Menü mit Unterpunkten supertramp Beitragsarchiv 7 18.10.2005 22:40
[Erledigt] Mehrdimensionales Array in Session speichern PHP-Fortgeschrittene 6 11.10.2005 17:32
mehrdimensionales array an js übergeben PHP Tipps 2005-2 0 11.10.2005 15:51
Problem beim vergleichen von 2 Arrays PHP Tipps 2005-2 1 06.10.2005 14:25
[Erledigt] Mehrdimensionales Array in eindimensionales Array umwandeln PHP-Fortgeschrittene 3 03.01.2005 22:31
Abfrage mit id aus anderer Tabelle suter PHP Tipps 2004-2 15 16.12.2004 14:25
mehrdimensionales Array sortieren Simbo PHP Tipps 2004 30 29.07.2004 17:37

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
array auflösen, php mehrdimensionales array auflösen, php array auflösen, mehrdimensionales array auflösen, mehrdimensionales array auflösen php, mehrdimensionale arrays auflösen, http://www.php.de/php-tipps-2006/36254-mehrdimensionales-array-aufloesen.html, php verschachteltes array auflösen, arrays auflösen, array auflösen php, php multidimensionales array auflösen, multidimensionales array auflösen php, php mehrdimensionales array while ausgeben, array object auflösen, mehrdimensionalen array auflösen, $row auflösen, array in schleifen auslesen, php array sort jahr kalenderwoche, ein array ausflösen, arrays auflösen php

Alle Zeitangaben in WEZ +2. Es ist jetzt 14:35 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.