tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
6
ZUGRIFFE
239
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    absyrtos absyrtos ist offline Mitglied Bronze
    Registriert seit
    Aug 2006
    Beiträge
    31
    Hallo,

    sehr wahrscheinlich handelt es sich bei mir nur um einen dummen Anfängerfehler, aber ich komme einfach nicht weiter. Ich habe zwei Dropdown Menüs (siehe Anhang). Nun möchte ich gerne, dass bei einer bestimmten Auswahl Bilder aus meiner Datenbank ausgelesen und angezeigt werden.

    Wählt man also: Farbe blau und Art alle, dann sollen alle Arten in der Farbe blau ausgelesen und angezeigt werden. Bei Farbe alle und Art Golf soll der Golf in allen möglichen Farben ausgelesen und angezeigt werden. Der letzte Schritt wäre dann Farbe blau und Art Golf... Es soll dann der Golf in Farbe blau ausgelesen und angezeigt werden.

    Und so bin ich vorgegangen:

    PHP-Code:
    if($art == "" && $colour == "") {
    $results mysql_query("SELECT art, colour, url, UNIX_TIMESTAMP(dateonserver) AS dateonserver FROM testdb ORDER BY art");

    $i=0;
    while(
    $showall mysql_fetch_array($results))
      {
        
    $i++;
        
    images($showall['art'], $deutsch[$showall['colour']], $showall['colour'], $showall['url']);
        if (
    $i == 0) {echo '</tr><tr>';}
      }
    }

    else if(
    $art == "") {
    $results mysql_query("SELECT art, colour, url, UNIX_TIMESTAMP(dateonserver) AS dateonserver, art FROM testdb WHERE colour = '".$colour."' ORDER BY art");

    $i=0;
    while(
    $showart mysql_fetch_array($results))
      {
        
    $i++;
        
    images($showart['art'], $deutsch[$showart['colour']], $showart['colour'], $showart['url']);
        if (
    $i == 0) {echo '</tr><tr>';}
      }
     }

    else if(
    $colour == "") {
    $results mysql_query("SELECT art, colour, url, UNIX_TIMESTAMP(dateonserver) AS dateonserver, colour FROM testdb WHERE art = '".$art."' ORDER BY colour");

    $i=0;
    while(
    $showcolour mysql_fetch_array($results))
      {
        
    $i++;
        
    images($showcolour['art'], $deutsch[$showcolour['colour']], $showcolour['colour'], $showcolour['url']);
        if (
    $i == 0) {echo '</tr><tr>';}
      }
    }

    else {
    $results mysql_query("SELECT art, colour, url, UNIX_TIMESTAMP(dateonserver) AS dateonserver, colour FROM testdb WHERE art = '".$art."' AND colour = '".$colour."'");

    if(
    mysql_num_rows($results) == 0)
      {
        echo(
    "<center><b>Keine Einträge in der Datenbank gefunden!</b></center><br />");
      } else {

    $i=0;
    while(
    $showartcolour mysql_fetch_array($results))
      {
        
    $i++;
        
    images($showartcolour['art'], $deutsch[$showartcolour['colour']], $showartcolour['colour'], $showartcolour['url']);
        if (
    $i == 0) {echo '</tr><tr>';}
      }
     }

    Die Funktion dazu sieht so aus:

    PHP-Code:
    function images($art$colour$colour2$url)
    {
        for(
    $i 0$i count($colour); $i++) {
        echo(
    "<td><a href=\"db.php?art=".$art"\"><img src=\"http://images.domain.de/".$url."\" alt=\"".$colour." ".$art."\" /><br />".$colour." ".$art."</a></td>");
      }

    Doch irgendwie will das ganze nicht so funktionieren wie es soll. Was mache ich falsch?
    Miniaturansicht angehängter Grafiken Miniaturansicht angehängter Grafiken if, else if, else Problem-26103attachment.gif  
    Geändert von absyrtos (14.09.06 um 13:18 Uhr) Grund: Irgendwie ist das Bild nicht angehängt worden
     

  2. #2
    Avatar von Online-Skater
    Online-Skater Online-Skater ist offline Mitglied Brillant
    Registriert seit
    Sep 2004
    Ort
    Rostock
    Beiträge
    891
    Hallo

    Leider sind wir keine Hellseher. Bitte genauer den Fehler einkreisen, was wird ausgegeben, kommt ein Fehler, evtl. Codeeingrenzung usw.
    Fehlersensibilität hoch stellen: error_reporting(E_ALL);

    mfg. Shadow
     

  3. #3
    absyrtos absyrtos ist offline Mitglied Bronze
    Registriert seit
    Aug 2006
    Beiträge
    31
    Parse error: syntax error, unexpected $end in /home/www/beta/db.php on line 1014
    Was </html> wäre
    Geändert von absyrtos (14.09.06 um 12:54 Uhr)
     

  4. #4
    Avatar von Online-Skater
    Online-Skater Online-Skater ist offline Mitglied Brillant
    Registriert seit
    Sep 2004
    Ort
    Rostock
    Beiträge
    891
    Wie man sieht gibt es kein $end in deinem gepostetem Script von daher muss der Fehler in dieser Nähe liegen.
     

  5. #5
    absyrtos absyrtos ist offline Mitglied Bronze
    Registriert seit
    Aug 2006
    Beiträge
    31
    Ich hab am Ende eine } vergessen. Nun habe ich das Problem, dass nur die Ausgabe der Farbe funktioniert. Wenn ich z.B. nur Art auswähle wird nichts ausgegeben.
    Geändert von absyrtos (14.09.06 um 13:21 Uhr)
     

  6. #6
    Avatar von Online-Skater
    Online-Skater Online-Skater ist offline Mitglied Brillant
    Registriert seit
    Sep 2004
    Ort
    Rostock
    Beiträge
    891
    Teste mal dein Query in der Datenbank, evtl sind die Spaltennamen nicht richtig.

    Dein code kann man aber noch optimieren z.B. so:
    PHP-Code:
    // Query festelegen
    if($art == "" && $colour == ""
    {
      
    $where "ORDER BY art";
    }
    else if (
    $art == ""
    {
      
    $where "WHERE colour = '$colour' ORDER BY art";
    }
    else if (
    $colour == ""
    {
      
    $where "WHERE art = '$art' ORDER BY colour";
    }
    else {
             
    $where "WHERE art = '$art' AND colour = '$colour'";
    }
    // Ausgabe 
    $sql "SELECT art, colour, url, UNIX_TIMESTAMP(dateonserver) AS dateonserver FROM testdb $where";
    $erg mysql_query($sql) OR die("Da stimmt was nicht !");
    if(
    mysql_num_rows($erg))
    {
      
    $i=0;
      while(
    $showartcolour mysql_fetch_array($results))
      {
        
    $i++;
        
    images($showartcolour['art'], $deutsch[$showartcolour['colour']], $showartcolour['colour'], $showartcolour['url']);
        if (
    $i == 0) {echo '</tr><tr>';}
      }
    }else echo
    "<center><b>Keine Einträge in der Datenbank gefunden!</b></center><br />"
    mfg
    Geändert von Online-Skater (14.09.06 um 13:38 Uhr)
     

  7. #7
    absyrtos absyrtos ist offline Mitglied Bronze
    Registriert seit
    Aug 2006
    Beiträge
    31
    Du hast nur einen kleinen Fehler eingebaut, diesen hab ich verbessert. Sonst funktioniert es perfekt. Danke
    Geändert von absyrtos (14.09.06 um 22:03 Uhr)
     

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 11.01.11, 21:40
  2. Antworten: 4
    Letzter Beitrag: 22.03.06, 20:50
  3. Antworten: 0
    Letzter Beitrag: 06.10.04, 14:03
  4. PROBLEM! Pinnacle 2 GB Begrenzung Windows 2000 DC 50 PROBLEM!
    Von hennym im Forum Videoschnitt, Videotechnik & -produktion
    Antworten: 6
    Letzter Beitrag: 17.09.03, 22:09
  5. Antworten: 6
    Letzter Beitrag: 13.06.02, 12:29