Tabellen verknüpfen S.O.S!

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

  • Tabellen verknüpfen S.O.S!

    Hallo,
    folgendes Problem: Ich habe folgende zwei Tabellen:

    -Verantwortliche (id_v, name,email) , diese kommen aus einem DropDown Menü

    -Übersicht (id_w,name, und noch andere..)

    Ich will nun, dass wenn ich einen Namen aus Verantwortlich wähle, dieser Name automatisch in die Tabelle Übersicht reingezogen wird. Momentan gibt er mir alles aus, sprich zu jeder übersicht jeweils den namen, bis er alle namen zu einer Übersicht zugeordnet hat. Bsp: wenn ich 10 namen habe und 2 Übersichten, gibt er mit insgesamt 20 Datensätze an, obwohl es nur 2 sein sollten!! Über jeden Tipp wäre ich sehr dankbar

    Ich habe es soweit programmiert:

    Anlegen.php
    HTML-Code:
    <form action="insert.php" method="post" name="q1"  
    onSubmit="return validator()">
    <tr>
    <td valign="top">Verantwortlicher:*</td>
    <td valign="top">
    <select name="v_name"> 
    <option value="">W&auml;hlen Sie</option>
    PHP-Code:
    <?php 
    $sql 
    "SELECT * FROM verant";
    $result mysql_query($sql) OR die(mysql_error());
    while(
    $row mysql_fetch_assoc($result)) {
    echo 
    "<option value="$row['id_v'].">" $row['v_name'] ."</option>";

    ?>
    HTML-Code:
    </select>
    </td>
    </tr>
    <input type="submit" value="Anlegen">
    </form>
    [COLOR=#c0c000][COLOR=#c0c000][COLOR=#c0c000][COLOR=#c0c000]
    [COLOR=black]Insert.php[/COLOR]
    [COLOR=#c0c000][COLOR=#c0c000][/COLOR][/COLOR][/COLOR]
    [/COLOR]
    [/COLOR]
    [/COLOR]
    PHP-Code:
    <?php

    include ("config/conn_db.php");
    $id_v =$_POST["id_v"];
    $v_name =$_POST["v_name"];
     
    $eintrag "
    INSERT INTO
    uebersicht
    (id_v,v_name) 
    VALUES 
    ('
    $id_v','$v_name')";
     
    $eintragen mysql_query($eintrag); 

    mysql_close();

    echo
    '<META HTTP-EQUIV=REFRESH CONTENT="2; URL=liste.php">'?>
    [COLOR=#c0c000][COLOR=#c0c000][COLOR=#c0c000][COLOR=#c0c000][COLOR=#ff0000][COLOR=#ff0000][/COLOR][/COLOR]
    [COLOR=#ff0000][COLOR=#ff0000][COLOR=#000000]liste.php[/COLOR][/COLOR][/COLOR]
    [/COLOR]
    [/COLOR]
    [/COLOR]
    [/COLOR]
    PHP-Code:
    <?php
    include "config/conn_db.php";
    $result mysql_query
    ("SELECT *, FROM ubersicht,verant ",$db_link);
    $i=1;
    while(
    $row mysql_fetch_array($result)) 
    {
    ?>
     
    <?php echo $row['v_name']?>
     
    <?php 
    $i
    ++;


    ?>

  • #2
    Schau dir mal das hier an. Sollte helfen.

    Peter
    Zuletzt geändert von Kropff; 06.04.2010, 13:00.
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      der link ist mein post?!

      Kommentar


      • #4
        Zitat von tinasharma18hh Beitrag anzeigen
        der link ist mein post?!
        Upsi! Mein Fehler, hab es korrigiert.

        Peter

        Btw: Du solltest nicht mit doppelten Einträgen arbeiten. Schau dir auch mal das Thema Normalisierung an.
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          kannst du mir konkret sagen, an welcher stelle ich die änderung vornehmen muss?ich sitze daran schon längere zeit..bitte

          Kommentar


          • #6
            Hallo,

            in der liste.php hast du eine MySQL-Abfrage drin, bei der du beide Tabellen mit dem Komma-Operator verknüpfst. Dadurch entsteht ein Kreuzprodukt (jeder mit jedem). Statt des Kommas solltest du die JOIN-Syntax benutzen, um die Tabellen mit einer einschränkenden ON-Klausel sinnvoll zu verknüpfen.

            Gruß,

            Amica
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Kommentar

            Lädt...
            X