Ankündigung

Einklappen
Keine Ankündigung bisher.

SQL Ausgabe: Ausgabe in Tabllenformat, If-Funktion und jpegs einfügen verknüfen

Einklappen

Neue Werbung 2019

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

  • SQL Ausgabe: Ausgabe in Tabllenformat, If-Funktion und jpegs einfügen verknüfen

    Hallo ich habe ein folgendes Problem:

    Ich möchte 3verschiedene Daten aus einer SQL DB auslesen und dann in Tabellenform ausgeben:

    Zuerst den Namen, dann Termin1 und dann Termin2. Der Name ist kein Problem, aber bei Termin 1 und Termin 2 konnte der User "j" oder "n" eingeben und ich moechte nun, dass wenn ein "j" eingegeben wurde, Bild1 in der Tabelle ausgegeben wird und wenn "n" eingegeben wurde soll Bild 2 ausgegeben werden


    Also im Enddeffekt soll die Ausgabe dann so aussehen:

    Tabelle
    Spalte 1 Spalte2 Spalte 3

    Name1 Bild 1 Bild1
    Name2 Bild 2 Bild1
    Name3 Bild 1 Bild2 (je nachdem halt, ob der User "j" oder "n"
    eingegeben hat)

    Ich bekomm auch so eine Tabelle hin, wenn ich keine if-Funktion mit Bildausgabe mache: Und zwar mit folgendem Code:

    PHP-Code:
     
    <?php
    $abfrage 
    "SELECT name, t1, t2,t3  FROM test1";
    $ergebnis mysql_query($abfrage);
     
    echo 
    '<table border="1" width="800">';
    echo 
    '<tr><th width="50">Feld1</th><th>Feld2</th><th>Feld3</th></tr>';
     
    while(
    $row mysql_fetch_array($ergebnisMYSQL_ASSOC))
        {
        echo 
    '<tr><td>'.$row['name'].'</td><td>'.$row['t1'].'</td><td>'.$row  
              
    ['t2'].'</td></tr>';
         }
      
    ?>


    Genauso bekomme ich es auch umgekehrt hin, eine entsprechende if-Funktion zu basteln, mit folgendem Code:


    PHP-Code:
    <?php
    $abfrage 
    "SELECT name, t1, t2,t3 FROM anmelden";
    $ergebnis mysql_query($abfrage);
    while(
    $row mysql_fetch_array($ergebnisMYSQL_ASSOC))
    {
    echo 
    $row['name'];
     
     
    if (
    $row["t1"] == "j")
    echo 
    "<img src='../pics/1.jpg'>";
    elseif (
    $row["t1"] == "n")
    echo 
    "<img src='../pics/2.jpg'>";
     
    if (
    $row["t2"] == "j")
    echo 
    "<img src='../pics/1.jpg'>";
    elseif (
    $row["t1"] == "n")
    echo 
    "<img src='../pics/2.jpg'>";
    echo
    "<br>";
    }
    ?>

    Mein grosses Problem ist nun, dass ich es wirklich nicht hinbekomme, beide Codes miteinander zu verknüpfen.
    Ich bekomme in die Tabelle kein Foto eingefügt (auch ohne if -Funktion nicht) und die if-Funktion klappt leider auch nicht.
    Kann mir vielleicht jemand helfen wie das funktioniert. Waer supernett, ich sitz da shcon seit 2 Tagen dran und komm echt nicht weiter.

  • #2
    Das kannst Du auf mehrere Arten einfach lösen, ohne Code mehrfach zu schreiben

    1/ über ein Array
    PHP-Code:
    $pics = array (
      
    'j' => 'bild1.jpg' ,
      
    'n' => 'bild2.jpg'
      
    );
    ...
    echo 
    "<img src='"$pics[$row['t2']]."'>"
    2/ über eine Funktion

    PHP-Code:
    function pics ($key) {
      switch (
    $key) {
        case 
    'j':
          return (
    'bild1.jpg');

        case 
    'n':
          return (
    'bild2.jpg');
        }
      }
    ...
    echo 
    "<img src='"pics($row['t2'])."'>"

    Kommentar


    • #3
      Vielen Dank schonmal!

      Also ich will ja nicht unverschämt sein und ich weiss dass es in solchen Foren immer heisst, man soll nicht nach konkreten Codes fragen. Aber ich machs trotzdem mal:

      Wie wird denn einer von deinen php codes in meinen php-code mit der Tabelle eingefügt???

      Kommentar


      • #4
        Kommt drauf an, wo das Bild hin soll.

        [edit] Wohl so:

        ersetze
        PHP-Code:
            echo '<tr><td>'.$row['name'].'</td><td>'.$row['t1'].'</td><td>'.$row  
                  
        ['t2'].'</td></tr>'
        durch
        PHP-Code:
            echo '<tr><td>' $row['name'] . '</td>
                      <td><img src="' 
        $pics[$row['t1']] . '" alt=""></td>
                      <td><img src="' 
        $pics[$row['t2']] . '" alt=""></td></tr>'
        Über dem while noch die Arrayangabe.

        Kommentar


        • #5
          Super!!!!!!!!!! und danke :- ) Wenn ich mal in Berlin geb ich dir einen aus :- )

          Kommentar


          • #6
            Das ist doch mal ein Angebot.

            PS:

            Falls Du die Funktions-Lösung benutzen magst, könntest Du auch noch einen Fehlerzweig implementieren, der bspw. für alle Fälle mit weder j noch n ein Leerzeichen statt eines Bildes ausgibt (beachte: <img Code wandert in die Funktion)

            PHP-Code:
            function pics ($key) {
              switch (
            $key) {
                case 
            'j':
                  return (
            '<img src="bild1.jpg" alt="" >');

                case 
            'n':
                  return (
            '<img src="bild1.jpg" alt="" >');

                default:
                  return (
            '&nbsp;');
                }
              }
            ...

                echo 
            '<tr><td>' $row['name'] . '</td>
                          <td>' 
            pics($row['t1']) . '</td>
                          <td>' 
            pics($row['t2']) . '</td></tr>'

            Kommentar


            • #7
              danke, hab aber die array lösung genommen, die funktions-lösung hat mir auch gerade keine bilder ausgegeben - lag aber evtl. auch daran dass ich in der testdatenbank auch v=vielleicht als dritte alternative drin hatte. das array hab ich auf jeden fall um v erweitert und das funktioniert. jetzt muss ich nur noch nen löschlink in eine vierte tabellenspalte reinbekommen und dann steht der an-/abmeldedienst für unsere fussball homepage - besten dank nochmal !

              Kommentar

              Lädt...
              X