Morsche,
ich hab schon google, altavista und andere suchmaschinen sowie faq durchstöbert und auch dieses forum, allerdings habe ich leider nichts gefunden darüber oder was das problem auch nur ansatzweise trifft
und zwar habe ich mysql in der version 3.23.48 mit phpmyadmin in der version 2.5.1. nun habe ich in php eine seite geschrieben die mithilfe der datenbank material verwalten kann.
nun musste ich aber mehrere tabellen anfertigen (software, hardware, firma, etc.) nun musste ich ja die tabelle "firma" mit den tabellen "software" und "hardware" verbinden, weil ich ja nicht bei jedem eintrag den firmennamen manuell ändern wollte wenn die firma sich z.b. umbenennt.
der dazugehörige sql befehl lautet:
"hardw" ist die hardware tabelle sie beinhaltet mehrere felder.
diese sind:
id_hardw
sid_firma
bezeichnung
typ
notizen
"firma" ist die firmentabelle sie beinhaltet auch mehrere felder:
id_firma
firma <- hier wird der firmenname reingeschrieben, ich weiss es ist doof felder und tabellen gleich zu benennen aber jetzt ist es leider schon "zu spät".
Nun habe ich das Problem, dass er mir nach dem obigen sql befehl zwar einträge anzeigt, aber nur solche in denen er den dazugehörigen eintrag findet in der firmentabelle.
das feld hardw.sid_firma wird ja mit firma.id_firma verbunden.
steht jetzt z.b. in hardw.sid_firma eine "7" zeigt er also den dazugehörigen namen an der unter der id 7 in der firmentabelle läuft. steht also an stelle 7 in der firmentabelle "ibm" z.b., so zeigt er beim auflisten nicht die "7" als zahl an, sondern "IBM". so ist das auch richtig.
existiert nun aber die "7" nicht als id_firma in der firmentabelle so zeigt er den eintrag erst garnicht an.
wie kann ich dieses problem beheben?
Hier ist nochmal der code für den betroffenen abschnitt:
ich hab schon google, altavista und andere suchmaschinen sowie faq durchstöbert und auch dieses forum, allerdings habe ich leider nichts gefunden darüber oder was das problem auch nur ansatzweise trifft
und zwar habe ich mysql in der version 3.23.48 mit phpmyadmin in der version 2.5.1. nun habe ich in php eine seite geschrieben die mithilfe der datenbank material verwalten kann.
nun musste ich aber mehrere tabellen anfertigen (software, hardware, firma, etc.) nun musste ich ja die tabelle "firma" mit den tabellen "software" und "hardware" verbinden, weil ich ja nicht bei jedem eintrag den firmennamen manuell ändern wollte wenn die firma sich z.b. umbenennt.
der dazugehörige sql befehl lautet:
Code:
SELECT * FROM hardw INNER JOIN firma ON hardw.sid_firma = firma.id_firma
diese sind:
id_hardw
sid_firma
bezeichnung
typ
notizen
"firma" ist die firmentabelle sie beinhaltet auch mehrere felder:
id_firma
firma <- hier wird der firmenname reingeschrieben, ich weiss es ist doof felder und tabellen gleich zu benennen aber jetzt ist es leider schon "zu spät".
Nun habe ich das Problem, dass er mir nach dem obigen sql befehl zwar einträge anzeigt, aber nur solche in denen er den dazugehörigen eintrag findet in der firmentabelle.
das feld hardw.sid_firma wird ja mit firma.id_firma verbunden.
steht jetzt z.b. in hardw.sid_firma eine "7" zeigt er also den dazugehörigen namen an der unter der id 7 in der firmentabelle läuft. steht also an stelle 7 in der firmentabelle "ibm" z.b., so zeigt er beim auflisten nicht die "7" als zahl an, sondern "IBM". so ist das auch richtig.
existiert nun aber die "7" nicht als id_firma in der firmentabelle so zeigt er den eintrag erst garnicht an.
wie kann ich dieses problem beheben?
Hier ist nochmal der code für den betroffenen abschnitt:
Code:
$sql_select = "SELECT * FROM hardw INNER JOIN firma ON hardw.sid_firma = firma.id_firma"; $db->query($sql_select); if ($nr_rows = $db->num_rows()>0) { ?> <table border="1"> <colgroup width="196" span="4"> </colgroup> <tr> <td>Bezeichnung:</td><td>Typ:</td><td>Notizen:</td><td>Firma:</td> </tr> </table> <?php while($db->next_record()) { ?> <table border="1"> <colgroup width="196" span="4"> </colgroup> <tr> <td><?php echo $f_bezeichnung = $db->f('bezeichnung'); ?> </td> <td><?php echo $f_notizen = $db->f('notizen'); ?> </td> <td><?php echo $f_typ = $db->f('typ'); ?> </td> <td><?php echo $f_sid_firma = $db->f('firma'); ?> </td> <td>Akt. Del. </td> </tr> </table> <?php } } else { ?> <div>Kein Eintrag vorhanden oder Eintrag nicht gefunden.</div> <?php }
Kommentar