Array zerlegen und Zeilenumbruch einfügen, aber wie?

Also ich habe vor aus meiner DB News in Boxen nebeneinander auszugeben.
Bei der MySQL-Abfrage speicher ich alle News in ein String, das ergibt ja dann einen Array wenn ich es per echo ausgeben möchte.

Sagen wir mal der String enthält 5 verschiedene News.

[code]<?php

$string = array(“news1” , “news2” , “news3” , “news4” , “news5”);

?>[/code]

Nun möchte ich dass die News nebeneinander ausgegeben werden und zwar immer drei nebeneinander, also immer nach drei News ein Zeilenumbruch, dass sollte nachher so in der Html stehen.

news1 news2 news3 news4 news5

Den Array bzw. den String mit den News erzeuge ich so:

[code]<?php

// News in String speichern
$abfrage = “SELECT text FROM news”;
$ergebnis = mysql_query($abfrage);
while($row = mysql_fetch_object($ergebnis))
{
$news = ‘

’.$row->text.’
’;
}

?>[/code]

Wie kann ich jetzt den String “news” so zerlegen, dass immer nach drei News ein Zeilenumbruch gemacht wird?

Ich hoffe du weisst, dass ein Array etwas komplett anderes als ein String ist.

Verwende doch statt deines Codes:while($row = mysql_fetch_object($ergebnis)) { $news = '<div class="news">'.$row->text.'</div>'; }Welcher einen string erstellt (und übrigens immer nur die letzte News enthält). Diesen:

while($row = mysql_fetch_object($ergebnis)) { $news[] = '<div class="news">'.$row->text.'</div>'; }
Dann hast du in $news ein Array.
Um es dann auszugeben kannst du dir dann was mit foreach basteln :wink:

Was denn jetzt, String oder Array?

[quote]Sagen wir mal der String enthält 5 verschiedene News.

Warum nennst du etwas einen String, wenn es doch ein Array ist?

Stichwort: Modulo-Operator

Warum eigentlich?

Wenn du die Einträge floatest und entsprechende Breitenangaben machst, dann kommen sie automatisch entsprechend nebeneinander zu stehen.

ja also ich mach es mit nem Punkt davor :wink:

while($row = mysql_fetch_object($ergebnis)) { $news .= '<div class="news">'.$row->text.'</div>'; }

Nun möchte ich eben die News nebeneinander haben 3 stück oder so…
Beispiel: 4Players
(Weiter unten mit Wii, PS3, Xbox, usw…)

Und in der Variabel “news” sind ja nun alles News drinne von der Mysql-Abfrage und diese möchte ich eben in einer Zeile 3 news haben wie bei dem 4Players-Beispiel. :wink:

Ich bin noch blutiger Anfänger in PHP und “bastel” (im warsten Sinne des Wortes) mir mit Hilfe php.net, Tipps und Anregungen eben Scripts zusammen für eigene Seiten/Projekte, zu testzwecken und eben um der Sprache etwas näher zu kommen. :wink:

Dann mach es wie ich es gesagt habe. Mach ein Array da draus (also $news[] = anstatt $news .= ) und verarbeite das mit foreach.
Bei der Foreach-Schleife kannst du dann mittels einer Zählvariabel oder mit dem index-key entscheiden, ob ein Zeilenumbruch notwendig ist. (Also alle 3 News)…

Achja, hast du dir schon ein Tutorial zu PHP angesehen, oder hast du mit php.net angefangen?

Freundliche Grüsse
Joey

Ich werd mal schaun ob ich was hinbekomme^^

Mit diesen Tutorials hab ich zum ersten mal begonnen.