Spezielle Datenbankabfrage

Nelkenkoenig

Grünschnabel
Hi,

ich suche der mir helfen kann. Ich benötige eine Datenbankabfrage, die aus einer Tabelle (nachrichten) die Spalten (von_user und an_user) nach $user (also innerhalb einer session) durchsucht und zählt.

Allerdins sollte das noch nicht alles sein.

Wenn z.B. 0- 5 Einträge gefunden werden (wo der User xy drinsteht (also $user)), soll das Bild "image1" angezeigt werden. Wenn 6-10 dann image2 und alles über 10 dann image3.

Wäre Euch sehr dankbar ,wenn ihr mir helfen könntet
 
PHP:
$sql = mysql_query("SELECT count(*) AS hits FROM `nachrichten` WHERE `an_user` = '".$_SESSION['user']."' OR `von_user` = '".$_SESSION['user']."'");
$hits = mysql_fetch_array($sql);

if($hits > 0 AND $hits < 5) {
  # Image 1
} elseif($hits > 5 AND $hits < 10) {
  # Image 2
} else {
  # Image 3
}
 
Bei grossen Datenmengen nicht ideal. Für diese Fälle helfen Aggregatefunktionen sehr ....

Es ginge auch (nicht getestet, nur aus der Hüfte geschossen):

<code>
select an_user, count(an_user) from nachrichten group by an_user;
</code>
 
Wenn er seine Mengenbeispiele im Bereich von 1-10 angibt, erwarte ich nicht, dass es sich um große Datenmengen handelt.

Ich persönlich arbeite meistens mit der id, sprich auto_increment, als count() Input.
 
Zurück