ausgabeproblem/blätterfunktion

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

  • ausgabeproblem/blätterfunktion

    hallo,
    hab ne blätterfunktion, die immer eine zeile der DB-Tabelle ausließt. leider wird immer wenn man bei der letzten Zeile der DB-tabelle angekommen ist meine HTML-tabelle verhauen. hier mein code:
    PHP-Code:
    <?php
    // Datendefinition für Datenbankverbindung.
    $host     "localhost";  // MySQL - Zielrechner.
    $database "wein";  // Gewünschte Datenbank
    $table    "rezepte";    // Der Name der Datenbanktabelle

    // Datendefinition für die Clientausgabe
    $start = (isset($start)) ? abs((int)$start) : 0;

    // Datensätze pro Ausgabeseite
    $limit 1

    // Verbindung zu MySQL-Datenbank herstellen oder sterben.
    @mysql_connect($host)or die("Abbruch: Verbindung zu '$host'"." konnte nicht hergestellt werden.");

    // Benötigte Datenbank auswählen oder sterben.
    @mysql_select_db($database)or die("Abbruch: Datenbank '$database' konnte nicht"." selektiert werden.<br><br>MySQL sagt: ".mysql_error());

    // Feststellen der Anzahl der verfügbaren Datensätze.
    $resultID = @mysql_query("SELECT COUNT(*) FROM rezepte WHERE auth=1");
    $total    = @mysql_result($resultID,0);

    // Ggf. $start korrigieren (falls Parameter in
    // der URL manipuliert wurde)
    $start    = ($start >= $total) ? $total $limit $start;

    // Datenbankabfrage ausführen.
    $query    "SELECT bildlink, titel, zutaten, zubereitung, weinbild, weintitel, beschreibung, jahrgang, herkunft FROM rezepte WHERE auth=1 LIMIT ".$start.",".$limit;
    $resultID = @mysql_query($query);

    // Ergebnisse lesen und an den Client ausgeben
    while ($data mysql_fetch_array($resultID))
    {

    print 
    "
    <table width='100%' height='324' cellpadding='0' cellspacing='0' border='0'>
    <tr> 
    <td align='left' valign='top'> <table width='100%' height='360' cellpadding='0' cellspacing='0' border='0'>
    <tr> 
    <td width='10%'>&nbsp;</td>
    <td width='500'>
    <!-- ***************************** Tabelle Rezepte **************************************************************   -->
    <table width='500' height='360' border='0' cellpadding='1' cellspacing='0' bgcolor='#669999'>
    <tr> 
    <td>
    <table width='500' height='360' border='0' cellpadding='0' cellspacing='0' bgcolor='#FFFFFF' align='left'>
    <tr> 
    <td height='17'><img src='../bilder/wein_essen/rezepte.gif'/></td>
    </tr>
    <tr> 
    <td align='left' valign='top' height='343'>

                <table width='500' height='343' border='0' cellspacing='0' cellpadding='5'>
                <tr> 
                <td width='100' height='79' align='left' valign='top'><img src='"
    .$data["bildlink"]."' border='0'/></td>
                <td width='400' height='79' align='left' valign='top'><div class='rezepttitel'>"
    .$data["titel"]."</div><br>
                <div class='zutaten' align='justify'>"
    .$data["zutaten"]."</div><hr size='1'></td>
                </tr>
                <tr> 
                <td colspan='2' align='left' valign='top'><div class='zubereitung' align='justify'>"
    .$data["zubereitung"]."</div></td>
                </tr>
    <!-- ***************************** Spalte Rezeptnavigation ********************************************************  -->"
    ;
    if(
    $start 0)
    {
      
    $newStart = ($start $limit 0) ? : ($start-$limit);
      print       
    "<tr> 
                <td width='100' height='11' align='left'><a href="
    .$PHP_SELF."?start=".$newStart." class='blaettern'>
                <img src='../bilder/home/pfeil_links.gif' border='0'/>zurück</a></td>"
    ;
    }{print 
    "<tr><td>&nbsp;</td>";}
    if (
    $start $limit $total)
    {
      
    $newStart $start $limit;
      print       
    "<td width='400' height='11' align='right'><a href=".$PHP_SELF."?start=".$newStart." class='blaettern'>
                 nächstes Rezept<img src='../bilder/home/pfeil_rechts.gif' border='0'/></a></td>
                </tr>
                </table>"
    ;
    }else{print 
    "<td>&nbsp;</td></tr></table>";}
    print
    "
    </td>
    </tr>
    </table></td>
    </tr>
    </table></td>
    <td width='10%'>&nbsp;</td>
    <td width='200'>
    <!-- ***************************** Tabelle Weinempfehlung ********************************************************  -->
    <table width='200' height='360' border='0' cellpadding='1' cellspacing='0' bgcolor='#669999'>
    <tr> 
    <td><table width='200' height='360' border='0' cellpadding='0' cellspacing='0' bgcolor='#FFFFFF'>
    <tr> 
    <td height='17' align='center' valign='top'><img src='../bilder/wein_essen/weinempfehlung.gif'/></td>
    </tr>
    <tr> 
    <td height='343' align='center' valign='top'>

              <table width='200' height='343' border='0' cellspacing='0'cellpadding='5'>
              <tr> 
              <td colspan='2'><div class='weintitel'>"
    .$data["weintitel"]."</div></td>
              </tr>
              <tr> 
              <td width='130' valign='top'><div class='weinbeschreibung' align='justify'>"
    .$data["beschreibung"]."</div><br>
              <div class='jahr'>Jahrgang:</div><div class='jahrgang'>"
    .$data["jahrgang"]."</div><br>
              <div class='jahr'>Herkunft:</div><div class='jahrgang'>"
    .$data["herkunft"]."</div><br></td>
              <td width='70' valign='bottom'><img src='"
    .$data["weinbild"]."' border='0'/></td>
              </tr>
              </table>

    </td>
    </tr>
    </table></td>
    </tr>
    </table></td>
    <td width='10%'>&nbsp;</td>
    </tr>
    </table></td>
    </tr>
    </table>"
    ;
    }
    ?>
    fehler gefunden in der zweiten if/else-schleife (tabelle-tag nicht geschlossen)
    Zuletzt geändert von hydrococcus; 30.10.2003, 12:11.

    Wo kämen wir hin, wenn jeder sagte: Wo kämen wir hin? und keiner ginge, um zu sehen, wohin wir kämen, wenn wir gingen?

  • #2
    solche Fehler lassen sich einfach vermeiden:[list=1][*]Einrückungen im PHP-Code:
    nach jedem "{" rückst du den Quelltext eine Ebene (z.B. zwei Spaces) nach rechts,
    vor jedem "}" wieder eine Ebene nach links
    damit wird das übersichtlicher.[*]Einrückungen in der Ausgabe:
    nach jedem <table>, <tr> und <td> Zeilenumbruch und eine Ebene weiter einrücken
    vor jedem </td>, </tr>, </table> Zeilenumbruch und eine Ebene weniger,
    dann siehst du im HTML-Quelltext der Ausgabe leichter, wo Abschluss-Tags fehlen[/list=1]
    mein Sport: mein Frühstück: meine Arbeit:

    Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

    Kommentar

    Lädt...
    X