Ausgabe einer verschachtelten Datenbankabfrage bricht einfach ab!!

iceman25983

Grünschnabel
Hallo Leute,

mit dem unten angegebenen Code versuche ich 2 DB-Tabellen auszulesen und in einer Tabelle in php einzufügen. Leider Wird die zweite Schleife ausgeführt aber das folgende </table> nicht ausgeführt, sondern die erste Schleife einfach verlassen so dass dort der zweite daten satz nicht ausgegeben wird.

Kann jemand von euch den Fehler sehen****

PHP:
$dbConnect = mysql_connect("localhost","**","**") or die ("Keine Verbindung m&ouml;glich");
mysql_select_db("Feuerwehr") or die ("Die Datenbank existiert nicht.");
$abfrageMem = "SELECT member_id,vorname, nachname, geburtsdatum, dienstgrad_id, dienstgrad_bezeichnung FROM member NATURAL JOIN dienstgrade";
$member = mysql_query($abfrageMem) or die(mysql_error());
while($row = mysql_fetch_object($member)or die(mysql_error()))
    {
        echo
            '<tr>
                    <td></td>
                    <td>
                        <table>
                            <tr>
                                <td>Name:</td>
                                <td>'.$row->member_id.' '.$row->vorname.' '.$row->nachname.'</td>
                            </tr>
                            <tr>
                                <td>Alter:</td>
                                <td>'.$row->geburtsdatum.'</td>
                            </tr>
                            <tr>
                                <td style="padding-right:50px";>Dienstgrad:</td>
                                <td style="padding-right:50px";>'.$row->dienstgrad_bezeichnung.'</td>
                            </tr>
                        </table>
                    </td>
                    <td style="vertical-align:top">
                        <table border="1">';
                            $abfrageEd = "SELECT ausbildungsdatum, ausbildungsbezeichnung FROM ausbildungen WHERE member_id = ".$row->member_id;

                            $education = mysql_query($abfrageEd) or die(mysql_error());
                            while ($rowEd= mysql_fetch_object($education)or die(mysql_error()))
                                {
                                    echo '<tr><td>'.$rowEd->ausbildungsdatum.'</td><td>'.$rowEd->ausbildungsbezeichnung.'</td></tr>';
                                }
                        '</table>
                    </td>
                    <td></td>
                </tr>';
}
mysql_close($dbConnect);
 
Zuletzt bearbeitet von einem Moderator:
Man sieht, dass der abschliessende Teil kein echo hat.
PHP:
//Hier fehlt ein echo
                        '</table>
                    </td>
                    <td></td>
                </tr>';

//So sollte es wohl eher sein
                        echo '</table>
                    </td>
                    <td></td>
                </tr>';

Ich empfehle dir HTML und PHP zu trennen. Am einfachsten geht dies mit http://www.smarty.net/
 
Was heisst. "geht nicht" ?
Zeige mal den generierten HTML-Source-Code, damit ich sehe welche der vielen Tabellen nicht geschlossen wird.
 
HTML:
<!DOCTYPE html>
<html>

<head>
    <title>Freiwillige Feuerwehr Letzlingen</title>

    <meta charset="ISO-8859-1"/>
    <meta name="description" content=""/>
    <meta name="author" content="Frank Wapenhans"/>
    <meta name="keywords" content=""/>
    <meta name="generator" content="Webocton - Scriptly (www.scriptly.de)"/>

    <link href="styles/style.css" type="text/css" rel="stylesheet"/>
</head>

<body>
        <div id="header">
        <h2>Freiwillige Feuerwehr</h2><br />
        <h1>Letzlingen</h1>
        <h3>
            Wehrleiter        </h3>
    </div>
    <div id="navigation">
        <ul>
            <a href="index.php"><li>Startseite</li></a>
            <a href="member.php"><li>Mitglieder</li></a>
            <a href="technics.php"><li>Technik</li></a>
            <a href="missions.php"><li>Eins&auml;tze</li></a>
            <a href="pictures.php"><li>Bilder</li></a>
            <a href="calender.php"><li>Kalender</li></a>
            <a href="offspring.php"><li>Nachwuchs</li></a>
            <a href="sponsors.php"><li>Sponsoren</li></a>
            <a href="hydrants.html"><li>Brunnen</li></a><a href="servicing.html"><li>Wartung</li></a><a href="education.html"><li>Ausbildung</li></a><a href="leader.php"><li>Wehrleiter</li></a>        </ul>        
    </div>
    <div id="news">
    
    </div>

</body>
</html><html>
    <div id="article">
        <table border="1">
            <tr>
                <th width="25%">Foto</th>
                <th width="25%">Pers&ouml;nliches</th>
                <th width="25%">Ausbildungen</th>
                <th width="25%">Bemerkungen</th>
            </tr>
            <tr>
                                    <td></td>
                                    <td>
                                        <table>
                                            <tr>
                                                <td>Name:</td>
                                                <td>1 Frank Wapenhans</td>
                                            </tr>
                                            <tr>
                                                <td>Alter:</td>
                                                <td>1983-09-25</td>
                                            </tr>
                                            <tr>
                                                <td style="padding-right:50px";>Dienstgrad:</td>
                                                <td style="padding-right:50px";>Feuerwehrmann</td>
                                            </tr>
                                        </table>
                                    </td>
                                    <td style="vertical-align:top">
                                        <table><tr><td style="padding-right:25px";>2011-01-22</td><td>Truppmannausbildung</td></tr><tr><td style="padding-right:25px";>2012-02-15</td><td>Truppführerlehrgang</td></tr><tr><td style="padding-right:25px";>2013-10-12</td><td>Maschinist</td></tr>
 
Zurück