Hi, nach schon langer Suche, wo ich immer nur gefunden habe wie man Fremdschlüssel anlegt, aber nicht wie man sie ausgibt, habe ich nun beschlossen einfach zu fragen:
Also wie gibt man folgenden Fremdschlüssel richtig aus?
Und das ist der PHP-Code womit ich die Adressen ausgebe. Was auch an sich klappt, jedoch erscheint da nur die Zahlen die er ja eigentlich durch den Fremdschlüssel ersetzen soll, z.B. Kommt da statt 'Mustermann' einfach eine 1 bzw. 2 oder 3.
Wie gebe ich nun das korrekt aus?
Also wie gibt man folgenden Fremdschlüssel richtig aus?
Code:
CREATE TABLE `family_names` ( `id` int(11) NOT NULL, `familyname` varchar(40) character set latin1 default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci; CREATE TABLE `family_members` ( `id` int(11) NOT NULL, `surname` varchar(40) character set latin1 default NULL, `family_id` int(11) default NULL, `gbdatum` varchar(15) character set latin1 default NULL, `adress` varchar(50) character set latin1 default NULL, `telefon` varchar(40) character set latin1 default NULL, `fax` varchar(40) character set latin1 default NULL, `email` varchar(50) character set latin1 default NULL, `products` varchar(255) character set latin1 default NULL, PRIMARY KEY (`id`), KEY `family_id` (`family_id`), CONSTRAINT `family_members` FOREIGN KEY (`family_id`) REFERENCES `family_names` (`id`) ON DELETE CASCADE ) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci;
PHP Code:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<title>Adressdatenbank</title>
<style type="text/css" media="all">
/*<![CDATA[*/
@import url(format.css);
/*]]>*/
</style>
</head>
<body>
<div>
<h1>Adressliste</h1>
<p>Folgende Einträge sind bereits in der Datenbank vorhanden:</p>
<?php
include("db_connect1.inc.php");
$col1 = "#CCCCCC";
$col2 = "#FFFFFF";
if(@mysql_connect($host, $user, $pwd)) {
if(@mysql_select_db($dbname)) {
$erg = @mysql_query("SELECT id, surname, family_id, gbdatum, adress, telefon, fax, email, products FROM family_members");
if ($erg) {
echo "<table border=2 >\n";
echo "<tr bgcolor=\"FF66CC\">\n";
echo "<th>Eintrag-ID</th><th>Vorname</th><th>Nachname</th><th>Geburtsdatum</th><th>Anschrift</th>"
."<th>Telefon</th><th>Fax</th><th>E-Mail</th><th>Produkte</th>\n";
echo "</tr>\n";
for($num=0; $num < 20; $num++) {
$color = ($color == $col1) ? $col2 : $col1;
}
while($row = mysql_fetch_row($erg)) {
echo "<tr bgcolor=\"$color\">\n";
for($i=0; $i<mysql_num_fields($erg); $i++) {
switch ($i) {
case 3:
if($row[$i] == NULL) {
echo "<td><center> - </center></td>\n";
}
else {
echo "<td> $row[$i] </td>\n";
}
break;
case 7:
echo "<td><a href=\"mailto:" . $row[$i]
. "\">" . $row[$i] . "</a></td>\n";
break;
default:
echo "<td>" . $row[$i] . "</td>\n";
}
}
echo "</tr>\n";
}
echo "</table>\n";
}
else
echo "<h5>Es konnten keine Datensätze gefunden "
. "werden.</h5>\n";
}
else
echo "<h5>Verbindung zur Datenbank ist im Moment nicht möglich!</h5>\n";
mysql_close();
}
else
echo "<h5>Der Server ist wegen Wartungsarbeiten "
. "vorübergehend nicht erreichbar.</h5>\n";
?>
<hr />
<p><a href="index.html">Zurück zur Hauptübersicht</a></p>
</div>
</body>
</html>
Comment