Ankündigung

Einklappen
Keine Ankündigung bisher.

Variable wird um einen Datensatz verschoben

Einklappen

Neue Werbung 2019

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

  • Variable wird um einen Datensatz verschoben

    Hallo zusammen, ich habe mir einen Skript aufgebaut, eigentlich funktioniert auch alles, bis auf eine einfache Ausgabe einer Funktionsparametervariable.
    Hier wäre der Code:
    PHP-Code:
    <?php
    include("connect.inc.php");
    function 
    weineAnzeigen($farbe)
    {
    echo 
    "<h1>$farbe</h1>";
    $sql "SELECT * FROM weine WHERE farbe='$farbe'";
    $db_erg mysql_query$sql );
    if ( ! 
    $db_erg )
    {
      die(
    'Ungültige Abfrage: ' mysql_error());
    }
    echo 
    '<table border="1">';
    while (
    $zeilen mysql_fetch_array$db_ergMYSQL_ASSOC))
    {
    ?>
      <table width="681"> 
        <tr> 
          <td width="40" rowspan="7" align="left" valign="top"> 
          <img src="http://www.weingut-heidegg.ch/weine/vino/<?php echo $zeilen['bild']; ?>" width="40"/></td> 
          <td height="23" colspan="3"><strong><?php echo $zeilen['text']; ?></strong></td> 
        </tr> 
        <tr> 
          <td height="26"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> 
              <tr align="left" valign="top"> 
                <td>Jahrgang: <?php echo $zeilen['jahrgang']; ?></td> 
              </tr> 
            </table></td> 
        </tr> 
        <tr> 
          <td colspan="3">Degustationsnotizen:</td> 
        </tr> 
        <tr> 
          <td height="21" colspan="3">Verf&uuml;gbarkeit: <?php if ($zeilen['lager'] == "1") {echo "verf&uuml;gbar";} else if ($zeilen['lager'] == "1")  {echo "ausverkauft";} else {echo $zeilen['lager']; } ?></td> 
        </tr> 
        <tr> 
          <td height="10" colspan="3"><hr /></td> 
        </tr> 
        <tr> 
          <td height="21" colspan="2"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> 
              <tr> 
                <td width="17%">Preis:</td> 
                <td width="20%">CHF <?php echo $zeilen['preis']; ?></td> 
                <td width="50%">Einheit: <?php echo $zeilen['einheit']; ?> </td> 
              </tr> 
            </table></td> 
        </tr><br \></font>
       <?php 
           }
    echo 
    "</table>";
    ?>
    </body>
    </html>
    <?php
    //echo "<h1>Weissweine</h1>";
    weineAnzeigen("Weissweine");
    //echo "<h1>Roséweine</h1>";
    weineAnzeigen("Roseweine");
    //echo "<h1>Rotweine</h1>";
    //weineAnzeigen("Rotweine");

    mysql_close(); 
    ?>
    Die Funktion wird definiert und anschliessend drei mal aufgerufen, mit unterschiedlichem Parameter. Das Problem ist, das die Ausgabe (echo "<h1>$farbe</h1>" um einen Datensatz nach unterverschoben wird, konkret wird Roseweine ausgeben oberhalb des letzten Weissweines.

    Kann mir jemand weiterhelfen? Ich denke es liegt an der Schleife, habe aber schon mehrere ausprobiert, ich komme nicht weiter.
    Vielen Dank im Voraus


  • #2
    Es liegt an deinem HTML. Die Tabelle ist "defekt".
    http://hallophp.de

    Kommentar


    • #3
      Werde ich überprüfen, vielen Dank für die schnelle Antwort!

      Kommentar


      • #4
        Vielen Dank, an das habe ich nicht gedacht, die habe ich einfach ohne zu überlegen übernommen

        Kommentar


        • #5
          Wenn Inhalte, die sich eigentlich innerhalb einer Tabelle befinden sollten, plötzlich vor dieser Tabelle auftauchen, ist das meist in Indiz für fehlerhaftes HTML.

          Nice to know für zukünftige Fehler dieser Art
          http://hallophp.de

          Kommentar


          • #6
            Ja, danke nochmals..

            Kommentar


            • #7
              Als kleiner Tipp, in der ersten Zeile sind beide Bedingungen mit $zeile["lager"] == "1" gleich.
              Denke, das eine sollte eine 0 oder 2 sein oder eine andere Flag. Auf jeden Fall nicht 0 ^^.
              sigpic

              Kommentar


              • #8
                Danke, ja natürlich hat sich wohl irgendwie ein Fehler eingeschlichen!

                Kommentar

                Lädt...
                X