Mehrere Tabellen miteinander verknüpfen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Mehrere Tabellen miteinander verknüpfen

    hallo allerseits

    habe ein wahrscheinlich einfaches problem...durch die weiterleitung der variabel sollte durch $_GET die ID weitergereicht werden, was auch klappt. diese daten sollten nun in ein formular eingefügt werden, damit man sie verändern kann. jedoch kommt andauernd die fehlermeldung mysql_num_rows() und mysql_fetch_array()supplied argument is not a valid MySQL result bla bla.... :(

    Quellcode

    1. $id = $_GET['variable'];
    2. $sql = "Select s.server_id, s.server_name, s.serverstatus_id, s.server_ip, s.servertyp_id, s.betriebssystem_id, s.server_zweck, s.server_bemerkung, s.serververantwortliche_id, ss.serverstatus_id, ss.serverstatus_name, st.servertyp_id, st.servertyp_name, b.betriebssystem_id, b.betriebssystem_name, v.verantwortliche_name, v.verantwortliche_id
    3. FROM server as s join serverstatus as ss join servertyp as st join betriebssystem as b join spital as sp join serververantwortliche as sv join tapedrive as t
    4. WHERE server_id = '$id'";
    5. $result = mysql_query($sql);
    6. $num_server = mysql_num_rows($result);
    7. $server = mysql_fetch_array($result);


    die daten ausgeben tu ich z.B. so...

    Quellcode

    1. <tr><td><span class=titel_klein>Server: </span></td><td><input type=text name=server_name value='$server[server_name]' span class=text_medium size=40></span><span class=titel_klein>$id</span></td></tr>";
    2. // Listenfeld Serverstatus
    3. $sql="SELECT * FROM serverstatus";
    4. $result = mysql_query($sql);
    5. $num_serverstatus = mysql_num_rows($result);
    6. echo "<tr><td><span class=titel_klein>Status: </span></td><td><select name=serverstatus span class=text_medium>";
    7. echo "<option value=$server[serverstatus_id]>$server[serverstatus_name]</option>";
    8. for($j=0; $j < $num_serverstatus; $j++)
    9. {
    10. mysql_data_seek ($result, $j);
    11. $serverstatus = mysql_fetch_array($result);
    12. echo "<option value=$serverstatus[serverstatus_id]>$serverstatus[serverstatus_name]</option>";
    13. }
    14. echo "</select><br></td></tr>";
    Alles anzeigen


    danke für die hilfe...
    --&gt;Alles wird gut&lt;--
  • bringt mich auch nicht weiter...habs auch schon damit probiert nach mysql_query "echo mysql_errno() . ": " . mysql_error() . "\n";"
    und gibt das aus
    1064: You have an error in your SQL syntax; check the manual that corresponds to your [coderwiki]Informationen/MySQL[/coderwiki] server version for the right syntax to use near 'WHERE server_id = '3'' at line 3

    das komische daran ist nur, wenn ich die sql-anweisung ändere und z.b. nur die daten aus der tabelle server ausgeben will funktioniert es einwandfrei...scheint ein problem mit den verknüpfungen der tabellen (JOINS) zu sein, weiss aber nicht was es sein könnte
    --&gt;Alles wird gut&lt;--
  • könnte mir vielleicht jemand auf die sprünge helfen wie ich das am besten mache?

    also ich habe folgende tabellen: [coderwiki]Informationen/Server[/coderwiki], status, servertyp, serverart, betriebssystem, remotetools und tapedrive.
    aus der tabelle server will ich z.B. ausgeben: server_id welche = $_GET['variable']; ist, server_name, server_prozessor, server_ram und von den restlichen tabellen brauche ich jeweils den namen also status_name, servertyp_name etc.

    weiss jemand hierfür eine schlaue lösung?
    --&gt;Alles wird gut&lt;--