Text im echo formatieren

statics

Grünschnabel
Hallo Leute,

ich habe folgendes Problem und zwar möchte ich meine datensätze anzeigen lassen...soweit so gut allerdings blicke ich nicht so ganz durch wie ich das mache das ich jeden Datensatz formatieren kann oder wie ich das anders lösen soll...hier mal der Code:

PHP:
<?php
error_reporting(E_ALL);


$ergebnis = mysql_query("SELECT * FROM acties ORDER BY RAND() LIMIT 5");
while($row = mysql_fetch_object($ergebnis))
{
  echo $row->adresse; 
  echo "<br />";
  echo $row->beschreibung;
  echo "<br />";
  echo $row->kontakt;
  echo "<br /><br />";
  echo "<div class='image-caption-wrapper' style='width: 60%; float: left'></div>";
  echo "<div class='image-caption-wrapper' style='width: 60%; float: left'></div>";
  echo "<div class='image-caption-wrapper' style='width: 60%; float: left'></div>";

}

?>

Der Code bewirkt jetzt das er random einen Datensatz von meiner Datenbank ausliest und den 1. Text zeigt er mir links und die anderen rechts...ich möchte die Datensätze jedoch so anzeigen lassen...


Text 1 Text 2
Text 3 Text 4

usw.

Also welcher Text wo steht ist mir natürlich egal weil es random Texte sind jedoch habe ich keinen Plan wie ich das formatieren soll.
 
kleine Array-Spielereien
PHP:
//sprintf-Format für ein Item.
define('C_ITEM_FORMAT', '%s<br />%s<br />%s');
//sprintf-Format für eine Zeil
define('C_ROW_FORMAT', '<div><span>*s</span><span>%s</span></div>');

$ergebnis = mysql_query("SELECT * FROM acties ORDER BY RAND() LIMIT 5");
$titems = array();
while($row = mysql_fetch_object($ergebnis)){
	//Die Zeilen in einen Array speichern
	$items[] = sprintf(C_ITEM_FORMAT, $row->adresse, $row->beschreibung, $row->kontakt);
}

//Array in 2er Stücke aufteilen.
$rows = array_splice($items, 2);

//Zeile für Zeile ausgeben
foreach($rows as $row){
	//Bei einer ungeraden Anzahl Items ist der lezte $row nur halb gefüllt. 
	//Darum hier mit einem default auf 2 Items ergänzen
	$row = array_pad($row, 2, '');
	//Und die Zeile ausgeben
	echo sprintf(C_ROW_FORMAT, $row[0], $row[1]);
}
 
Erstmal danke für deine Mühe und Hilfe :) jedoch zeigt er mir dann diesen Fehler an?

Warning: array_pad() [function.array-pad]: The argument should be an array in /homepages/31/d338018673/htdocs/randomstart.php on line 22
*s

Warning: array_pad() [function.array-pad]: The argument should be an array in /homepages/31/d338018673/htdocs/randomstart.php on line 22
*s

Warning: array_pad() [function.array-pad]: The argument should be an array in /homepages/31/d338018673/htdocs/randomstart.php on line 22
*s
 
ich weiß zwar nich genau was du meinst aber ich hab mir alles durchgesehen und komme nicht drauf wo der Fehler steckt...ich verstehe zB.: das hier nicht:

PHP:
define('C_ROW_FORMAT', '<div><span>*s</span><span>%s</span></div>');

was bedeutet das "*s" ? oder soll das nen % sein? weil sonst sagt mir das nichts :D

und die Zeile ist mir auch unklar...

PHP:
    echo sprintf(C_ROW_FORMAT, $row[0], $row[1]);

woher nimmst du die Werte in den eckigen Klammer 0 und 1 her? vielleicht ist es auch zu spät oder ich bin einfach dumm^^


Edit: sind das die ID's von der Datenbank?
 
Zuletzt bearbeitet:
ich weiß zwar nich genau was du meinst aber ich hab mir alles durchgesehen und komme nicht drauf wo der Fehler steckt...ich verstehe zB.: das hier nicht:

PHP:
define('C_ROW_FORMAT', '<div><span>*s</span><span>%s</span></div>');

was bedeutet das "*s" ? oder soll das nen % sein? weil sonst sagt mir das nichts :D
Sorry, mein Fehler sollte %s bedeuten.

und die Zeile ist mir auch unklar...

PHP:
    echo sprintf(C_ROW_FORMAT, $row[0], $row[1]);

woher nimmst du die Werte in den eckigen Klammer 0 und 1 her? vielleicht ist es auch zu spät oder ich bin einfach dumm^^
Mach mal ein var_dump() auf $row. Dann siehst du es.
 
Oder du baust dir einfach einen wrapper (div) mit fester breite, packst die texte auch in irgendwelche block-elemente mit fester breite und floatest dann. (Müsste doch gehen, habe lange nichtsmehr mit HTML/CSS zu tun gehabt...)
 
Zurück