Daten nach DropDown Selektion ausgeben.

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Daten nach DropDown Selektion ausgeben.

    Hallo zusammen

    Benötige hier euer Unterstützung.

    Ich hab ein User DB bzw. Künstler DB von dieser DB gebe ich die User per DropDown Menu aus. Die Bilder müssen nachdem der User per DropDown selektiert worden ist ausgegeben werden.

    PHP-Code:
    <?php
    require_once '../inc/db_connect.php';
     
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <link rel="stylesheet" href="styles.css" type="text/css" />
    <title>Bilder Suchen</title>
    </head>
    <body>
        <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
            <h1>Bilder Suchformular:</h1>
            <select size="1">
        <option name="<?php echo kid?>" selected>Künstler w&auml;hlen</option>
    <?php
    $abfrage
    =("SELECT kunstler.id, kunstler.nachname, kunstler.vorname, bgallery.kid, 
               bgallery.bild, bgallery.kommentar FROM kunstler, bgallery WHERE kunstler.id = bgallery.kid"
    );
    $ergebnis mysql_query($abfrage);
    while(
    $datensatz mysql_fetch_array($ergebnisMYSQL_ASSOC)) {
    ?>
        <option name="<?php echo kid?>" value="<?php echo $datensatz['kid'];?>">
          <?php echo $datensatz['vorname'];?>&nbsp;<?php echo $datensatz['nachname'];?>
        </option>
    <?php ?>
    </select>
            <input type="submit" name="suchen" value="Suchen"/>
        </form>
    <p>&nbsp;</p>
    <?php
    if (isset($_POST['suchen']))

       
    $zahl ="0";
    $abfrage='SELECT * FROM kunstler t1 INNER JOIN bgallery t2 ON t1.id = t2.kid';
     
    $ergebnis mysql_query($abfrage);
    echo 
    mysql_error();
    echo 
    "<table> <tr>";
     
    while(
    $datensatz mysql_fetch_array($ergebnisMYSQL_ASSOC)) {
    // Falls es ein Bild zu gerade angezeigten Datensatz
    // gibt, wird dieses in einen img-Tag eingebaut
    if ($datensatz['bild'] != '' && file_exists('./bilder/' $datensatz['bild']))
    {
    // Damit die Tabelle nicht voellig ausser Form
    // geraet, wird die Hoehe des Bilder auf 90px
    // eingeschraenkt

    $groesse GetImageSize('./bilder/' $datensatz['bild']);
    $hoehe $groesse[1] > 150 150 $groesse[1];
    $stil      $stil == 'zebra1' 'zebra2' 'zebra1';
    echo 
    '<td class='.$stil.'><img src="./bilder/'.$datensatz['bild'].'" height="'.$hoehe.'" alt="Bild" /><br>Künstler:
          <br><b>'
    .$datensatz['vorname'].'&nbsp;'.$datensatz['nachname'].'</b><br>';
    echo 
    $datensatz['$kid'];
    ?>
    <hr /></td>
                    <?php
        
    if($zahl=="3")
        {
        echo 
    "</tr>";
        
        
    $zahl="-1";
                   }
            
    $zahl++;
            }
                }
       }
    echo 
    "</table>";
        @
    mysql_free_result($ergebnis);
        @
    mysql_close($verbindung);
    ?>

    </body>
    </html>
    Zuletzt geändert von Kropff; 07.01.2011, 20:18. Grund: Zeilenumbrüche sponsored by Kropff

  • #2
    Hallo,

    erwartest du jetzt, dass sich hier jemand den Code ansieht und selbst den Fehler sucht (den zu beschreiben du dir nicht mal die Mühe machst) und dir den Code korrigiert? Wach auf, lies die Forenregeln und beschreib dein Problem vernünftig.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Sowas hier kann sowieso nicht funktionieren:

      PHP-Code:
      <?php echo kid?>
      This is what happens when an unstoppable force meets an immovable object.

      Kommentar


      • #4
        hallo zusammen

        mein php kenntnisse hören hier auf bzw. der Grund warum ich hier nach Unterstützung gesucht habe. Mein Projekt ist soweit abgeschlossen fehlt nur noch dieser Schritt, ich bringe dieser DropDown Selektion einfach nicht hin.

        Kommentar


        • #5
          Hallo mxcom,

          also ich versuch dir mal weitestgehend zu helfen:

          PHP-Code:
          <?php
          require_once '../inc/db_connect.php';
           
          ?>
          <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
          <html xmlns="http://www.w3.org/1999/xhtml">
          <head>
          <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                  <link rel="stylesheet" href="styles.css" type="text/css" />
          <title>Bilder Suchen</title>
          </head>
          <body>
              <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>">
                  <h1>Bilder Suchformular:</h1>
                  <select size="1">
              <option name="<?php echo kid?>" selected>Künstler w&auml;hlen</option>
          <?php
          $abfrage
          =("SELECT kunstler.id, kunstler.nachname, kunstler.vorname, bgallery.kid, 
                     bgallery.bild, bgallery.kommentar FROM kunstler, bgallery WHERE kunstler.id = bgallery.kid"
          );
          $ergebnis mysql_query($abfrage);
          while(
          $datensatz mysql_fetch_array($ergebnisMYSQL_ASSOC)) {
          ?>
              <option name="<?php echo kid?>" value="<?php echo $datensatz['kid'];?>">
                <?php echo $datensatz['vorname'];?>&nbsp;<?php echo $datensatz['nachname'];?>
              </option>
          <?php ?>
          </select>
                  <input type="submit" name="suchen" value="Suchen"/>
              </form>
          <p>&nbsp;</p>
          <?php
          if (isset($_POST['suchen']))

             
          $zahl ="0";
          $abfrage='SELECT * FROM kunstler t1 INNER JOIN bgallery t2 ON t1.id = t2.kid';
           
          $ergebnis mysql_query($abfrage);
          echo 
          mysql_error();
          echo 
          "<table> <tr>";
           
          while(
          $datensatz mysql_fetch_array($ergebnisMYSQL_ASSOC)) {
          // Falls es ein Bild zu gerade angezeigten Datensatz
          // gibt, wird dieses in einen img-Tag eingebaut
          if ($datensatz['bild'] != '' && file_exists('./bilder/' $datensatz['bild']))
          {
          // Damit die Tabelle nicht voellig ausser Form
          // geraet, wird die Hoehe des Bilder auf 90px
          // eingeschraenkt

          $groesse GetImageSize('./bilder/' $datensatz['bild']);
          $hoehe $groesse[1] > 150 150 $groesse[1];
          $stil      $stil == 'zebra1' 'zebra2' 'zebra1';
          echo 
          '<td class='.$stil.'><img src="./bilder/'.$datensatz['bild'].'" height="'.$hoehe.'" alt="Bild" /><br>Künstler:
                <br><b>'
          .$datensatz['vorname'].'&nbsp;'.$datensatz['nachname'].'</b><br>';
          echo 
          $datensatz['$kid'];
          ?>
          <hr /></td>
                          <?php
              
          if($zahl=="3")
              {
              echo 
          "</tr>";
              
              
          $zahl="-1";
                         }
                  
          $zahl++;
                  }
                      }
             }
          echo 
          "</table>";
              @
          mysql_free_result($ergebnis);
              @
          mysql_close($verbindung);
          ?>

          </body>
          </html>
          Folgende Fehler:

          Zeile 16: kid => $kid (Wenn dann bitte richtig)
          Zeile 18/19: bitte ohne klammern ...
          Zeile 23: kid => $kid (Wenn dann bitte richtig)

          So das waren erstmal die syntax Fehler.

          Kommen wir nun zu den restlichen Fehlern:

          $kid => Wird das überhaupt initialisiert ? Wenn ja hab ich das wohl übersehen

          Ich hoffe ich konnte dir ein wenig weiterhelfen.

          Für die Zukunft, vorallem wenn du gerade am anfang deiner Entwickler-Laufbahn bist, gewöhne dir an stets Code von Design zu trennen. Dies bewirkt zum einem eine bessere Übersicht und zum anderen eine leichtere Problemlösung.

          Auch ist es hilfreich den Code zu Formatieren und gegenfalls Kommentare einzubauen. Vorallem Kommentare können für die Problemlösung hilfreich sein, da du bei der Laufzeit erkennst wo die Probleme auftreten und mithilfe deiner Kommentare schnell in dem dafür vorgesehenen Code-Abschnitt bist.

          Ein Tipp noch zur Problemlösung, vllt. schaffst du es auch dann alleine. Versuche das Problem stück für stück nachzuvollziehen. Was funktioniert denn nicht ? Gibt es Probleme bei der DropDown - Liste oder Probleme bei der Auswertung des Formulars ? Werden die Werte geladen (var_dump) oder gibt es bereits hier Probleme ? Wenn nicht, gibt es dann Probleme bei der Ausgabe ?

          All dies würde dir und uns helfen dein Problem schneller zu finden und zu analysieren.

          Mit freundlichen Grüßen und alles gute für deine Laufbahn.
          Marc

          Kommentar


          • #6
            Ich hab zwei tabellen:

            Kunstler und Bilder

            Kunster:
            id
            name
            vorname
            etc..

            Bilder:
            id
            kid = kunstler.id
            bild
            kommentare

            Wenn ich den Quellcode anschaue wird die kid übergeben aber die Datensätze werden nicht nach ausgewählte kid angezeigt sondern als ganzes bzw. alle Datensätze werden angezeigt.

            Folgende Fehler hab ich korrigiert:

            Zeile 16: kid => $kid (Wenn dann bitte richtig)
            Zeile 18/19: bitte ohne klammern ...
            Zeile 23: kid => $kid (Wenn dann bitte richtig)

            Kommentar

            Lädt...
            X