tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
328
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Registriert seit
    Apr 2004
    Ort
    Cologne, Germany, Earth
    Beiträge
    6
    Hallo,

    ich will eine Liste der meistbesuchten Auktionen ausgeben lassen. Damit ich nicht in jeder Datei, die diese Liste benötigt, die Eintragung manuell machen muss, habe ich folgendes versucht:

    PHP-Code:
    $query mysql_query ("SELECT objekt FROM i_auctions WHERE closed = 0 ORDER by itemcounter DESC");
    $objekt mysql_result ($query);

         if ( 
    $objekt == ){
    $objekt "Einfamilienhaus";
    }elseif ( 
    $objekt == ){
    $objekt "Zweifamilienhaus";
    ...
    ... 
    Die Ausgabe erfolgt per

    PHP-Code:
    print $objekt 
    Jedoch ist in der Abfrage ein Fehler, weil:

    Ergibt Abfrage = 0, dann ist $objekt=einfamilienhaus.
    Ist die 2. Abfrage =1, dann ist $objekt aber immer noch Einfamilienhaus, da $objekt bereits definiert wurde...

    Wie kann ich das ändern ?
    Geändert von Lacternobite (20.06.04 um 12:48 Uhr)
     

  2. #2
    Registriert seit
    Sep 2003
    Ort
    Salzburg
    Beiträge
    225
    Ich denke mal du hast schon eine Verbindung zur Datenbank oder?

    Ich würde das so auslesen:

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    
    $query="SELECT objekt FROM i_auctions WHERE closed = 0 ORDER by itemcounter DESC";
    $result=mysql_query($query);
    $row=mysql_fetch_array($result, MYSQL_ASSOC);
     
    if ( $row['objekt'] == 0 ){ 
    $objekt = "Einfamilienhaus"; 
    }elseif ( $row['objekt'] == 1 ){ 
    $objekt = "Zweifamilienhaus";
     

  3. #3
    Registriert seit
    Apr 2004
    Ort
    Cologne, Germany, Earth
    Beiträge
    6
    - Datenbankverbindung vorhanden.

    Das scheint nicht ganz zu klappen:

    PHP-Code:
    $query="SELECT objekt FROM i_auctions WHERE closed = 0 ORDER by itemcounter DESC";
    $result=mysql_query($query);
    $row=mysql_fetch_array($resultMYSQL_ASSOC);


         if ( 
    $row['objekt'] == ){
    $objekt0 "Einfamilienhaus";
    }elseif ( 
    $row['objekt'] == ){
    $objekt1 "Zweifamilienhaus";
    }elseif ( 
    $row['objekt'] == ){
    $objekt2 "Reihenhaus";
    ...
    ...
    ...
    }elseif ( 
    $row['objekt'] == 32 ){
    $objekt32 "Baugrundstück unerschlossen";
    }else
    $objekt33 "Landwirtschaftliche Fläche"
    In der ausgebenden Datei:

    PHP-Code:
    print $objekt

    Ausgabe:

    Alle Objekte werden Wohnanlage

    PHP-Code:
    }elseif ( $row['objekt'] == 19 ){
    $objekt19 "Wohnanlage"
    Stimmt also irgendetwas nicht....

    Gehen wir davon aus, dass das meistbesuchte Objekt = 19 = Wohnanlage ist.

    Ist die zweit-meistbesuchte Auktion z.B. 0 = Einfamilienhaus, ist das irrelevant weil $objekt = Wohnanlage zugewiesen wurde....
    Geändert von Lacternobite (20.06.04 um 13:23 Uhr)
     

  4. #4
    Zatic Zatic ist offline Mitglied Gold
    Registriert seit
    Dec 2002
    Beiträge
    131
    Ich verstehe immer noch nicht ganz, was das Ziel der Abfrage ueberhaupt ist, aber was ich so sehe schreit
    a) nach einer zweiten Tabelle oder einem weitern Feld in der ersten, das die Bezeichnung wie "Einfamilienhaus" entaehlt
    b) nach Arrays; Sobald du etwas wie $var1, $var2 etc.. hast, ist das ein fast untruegliches Zeichen dafuer, dass du das mit array()s besser machen kannst.

    Ich glaube du sucht vielleicht so etwas:
    PHP-Code:
    $sql "SELECT
            itemcounter AS Anzahl,
            objektname AS Name
        FROM
            i_auctions
        WHERE
            closed = 0
        ORDER BY
            itemcounter DESC
        LIMIT
            0,10; "
    // Die 10 meistaufgerufenen
     
    $result=mysql_query($sql); 
    while (
    $row mysql_fetch_assoc($result)) {
        echo 
    $row['Name'].': '.$row['Anzahl'];

    Du musst halt noch ein Feld in der DB einrichten, das den Namen des Objekt enthaelt, dann sparst du dir das Pruefen auf die Zahlen im PHP Code.
     

  5. #5
    Registriert seit
    Apr 2004
    Ort
    Cologne, Germany, Earth
    Beiträge
    6
    Code :
    1
    2
    
    LIMIT 
            0,10; "; // Die 10 meistaufgerufenen
    Nur sicherheitshalber.... bedeutet 0,10 nicht die 11 meistaufgerufenen Objekte ?
    0 ist doch schon der erste Wert...

    oder versteh ich jetzt was falsch ?

    Das Ziel dieser Abfrage ist, nicht in jeder Datei ellenlange Zeilen für die Zuweisung des Objekttyps anzuhängen.

    Deshalb versuche ich, den Objektnamen per sql-Abfrage in einer objekt.inc.php abzufragen und diese objekt.inc.php dann einfach in jede Datei, die diese Abfrage benötigt, zu includen.
    Dadurch spare ich mir ziemlich viel an Dateigrösse....

    Aber momentan funktioniert es noch nicht so, wie es soll....


    Muss noch was dazu sagen:

    Die Abfrage ist bereits vorhanden, aber wie gesagt, jetzt möchte ich, dass die Objektnamen der einzelnen Auktionen ordnungsgemäss angezeigt werden....
    Geändert von Lacternobite (22.06.04 um 10:17 Uhr)
     
    eBay - zu teuer, zu unsicher ?
    Die bessere Alternative
    ------------------------------
    echte Immobilien-Auktionen ?
    Die bessere Alternative

Ähnliche Themen

  1. Fehlerhafte Stringübergabe
    Von Lesterdor im Forum C/C++
    Antworten: 36
    Letzter Beitrag: 27.05.10, 20:01
  2. Fehlerhafte Darstellung im IE
    Von hansmaulwurf82 im Forum CSS
    Antworten: 1
    Letzter Beitrag: 29.03.07, 19:46
  3. Fehlerhafte Formularueberpruefung..
    Von Suchfunktion im Forum Javascript & Ajax
    Antworten: 0
    Letzter Beitrag: 11.12.06, 16:38
  4. fehlerhafte addition?
    Von Gaius im Forum Javascript & Ajax
    Antworten: 8
    Letzter Beitrag: 12.08.04, 15:01
  5. Fehlerhafte Darstellung
    Von andyK im Forum HTML & XHTML
    Antworten: 2
    Letzter Beitrag: 22.06.04, 13:40