Hannes Bambel: MySQL: mindestens soundsoviel Reihen ausgeben - wie geht das ?

Hallo !

Ich habe ein ganz simples Mysql-Query (benutze PHP): SELECT user, typ FROM users. Hier gibt er mir beispielsweise zurück:
+----+--------+------+
| id | user   | typ  |       ( Das ist eine kleine Tabelle, wo
+----+--------+------+         die momentanen Chatter in meinem
| 11 | 000    | user |         PHP-Realisiertem Chat eingetragen sind)
| 13 | asdasd | user |
+----+--------+------+
Das ist ganz toll soweit (...), aber ich hätte gerne, dass er mir mindestens 4 Reihen ausgibt, nicht-existierende soll er eben mit - leeren Daten füllen oder so was. Geht das irgendwie ? Mit "LIMIT" oder ähnlichem kriege ich das nicht hin.

Falls das nicht geht, wie bekomme ich das mit PHP hin ? hier ist mein Script:

$datas = mysql_query("SELECT user, typ FROM users");
   while($text = mysql_fetch_row($datas))
    {
       echo '<div class="user"><img src="images/'.($text[1] == "user" ? 'user.gif' : 'admin.gif').'"> '.$text[0]."</div>\n";
    }

wie gesagt, echt megasimpel das teil - also, wie bekommt man denn dann es hin, dass er mindestens x Reihen ausgibt, bei denen, wo nix ist meinetwegen <div class="user"> </div> oder so was hinschreibt ?

vielen Dank für schnelle Hilfe,

Hannes

  1. Halihallo Hannes

    wie gesagt, echt megasimpel das teil - also, wie bekommt man denn dann es hin, dass er mindestens x Reihen ausgibt, bei denen, wo nix ist meinetwegen <div class="user"> </div> oder so was hinschreibt ?

    for ($i=0; $i<10; $i++) {
      if ($text = mysql_fetch_row($datas)) {
        echo '<div class="user"><img src="images/'.($text[1]...\n";
      } else {
        echo '<div class="user"> </div>';
      }
    }

    ... und nein, SQL gibt nur Daten aus, die existieren.

    Viele Grüsse

    Philipp

    1. ok, danke Phillip :-)

      Hannes bambel

  2. Hallo Hannes,

    <kopfkratz>
    mal ne doofe Frage: warum willst Du nicht vohandene Datensätze anzeigen?
    </kopfkratz>

    Gruß, Andreas