[mySQL] DB-Abfrage (?)

Lacternobite

Grünschnabel
Hallo,

ich will aus der Datenbank die Objektnamen der 8 meistbesuchten Auktionen auslesen:


PHP:
$sql = "SELECT objekt FROM i_auctions WHERE closed = 0 ORDER BY itemcounter DESC LIMIT 1"; 
$objekt = mysql_result($sql); 


if ( $row['objekt'] == 0 ){ 
$objekt = "Einfamilienhaus"; 
}elseif ( $row['objekt'] == 1 ){ 
$objekt = "Zweifamilienhaus"; 
}elseif ( $row['objekt'] == 2 ){ 
$objekt = "Reihenhaus"; 
... 
... 

$sql = "SELECT objekt FROM i_auctions WHERE closed = 0 AND objekt NOT '$objekt' ORDER BY itemcounter DESC LIMIT 7"; 
$result = mysql_query($sql); 
while ($row=mysql_fetch_array($result)) 

if ( $row['objekt'] == 0 ){ 
$objekt = "Einfamilienhaus"; 
}elseif ( $row['objekt'] == 1 ){ 
$objekt = "Zweifamilienhaus"; 
}elseif ( $row['objekt'] == 2 ){ 
$objekt = "Reihenhaus"; 
... 
...


Als Ausgabe erhalte ich jedoch für alle 8 Auktionen als Objektnamen den der meistbesuchten Auktion.....

Wer weiss Rat ?
 
Also bei Deiner oberen Abfrage hast Du ein LIMIT 1. Dadurch bekommst Du sowieso nur ein Ergebnis...

Aber eigentlich finde ich Deine ganze Herangehensweise sehr merkwürdig. Machst Du auf diese Weise 8 SELECT Abfragen?
 
Nein, das hatte mir jemand vorgeschlagen.

Ursprünglich sah es so aus:

Code:
$sql = "SELECT objekt FROM i_auctions WHERE id = $id";
$objekt = mysql_query($sql);

if ( $objekt == 0 ){
$objekt = "Einfamilienhaus";
}elseif ( $objekt == 1 ){
$objekt = "Zweifamilienhaus";
}elseif ( $objekt == 2 ){
$objekt = "Reihenhaus";...
...
...


Doch bei der Ausführung beachtet das Script die if - elseif-Abfragen nicht und rasselt durch bis

Code:
$objekt = "Baugrundstück erschlossen";
}elseif ( $objekt == 32 ){
$objekt = "Baugrundstück unerschlossen";
}else
$objekt = "Landwirtschaftliche Fläche";


?>

und zeigt "Landwirtschaftliche Fläche" an...

Weiss jemand, wo der Fehler liegt ?
 
Zuletzt bearbeitet:
Hab das jetzt mal folgendermassen gemacht:

Code:
$query="SELECT objekt FROM i_auctions"; 
$result=mysql_query($query); 
while($row=mysql_fetch_array($result, MYSQL_ASSOC)) 

switch ($objekt) 
{ 
    case 0: 
      $objekt = "Einfamilienhaus"; 
      break; 
    case 1: 
      $objekt = "Zweifamilienhaus"; 
      break; 
    case 2: 
      $objekt = "Reihenhaus"; 
      break; 
...

Ist es denn grundsätzlich möglich, diese Abfrage in einer .inc.php auszuführen, und diese Datei dann in jede anderen Datei, die die Objektart benötigt, zu includen ?
 
Zuletzt bearbeitet:
Zurück