SQL Attribute von Tables auf weiterer Table verknüpfen

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

  • SQL Attribute von Tables auf weiterer Table verknüpfen

    Hallo,

    besuche gerade die Technikerschule und bin noch Neuling auf dem Gebiet von PHP und SQL. Wir haben zurzeit ein Projekt indem ich einen Webshop entwerfen soll. Der Kunde kann auf einet Html Seite seine Kundendaten eingeben und eine Produktvariante wählen.
    Über die E-mailadresse soll ich prüfen ob der Kunde bereits in meiner Datenbank ist. Das haut bei mir soweit auch hin. Jetzt bräuchte ich einen Befehl wie ich auf einer table Auftrag die Bestellnummer mit der Kundennummer verknüpfen kann.


    Meine Tables:

    Kunde
    Kundennummer(primary key)|Vorname|Nachname|Strasse|PLZ|ORT|Email

    Produkt
    Bestellnummer(primary key)|Komponente1|Komponente2|Komponente3

    Auftrag
    Auftragsnummer(primary key)|Bestellnummer|Kundennummer


    Meine PHP Programmierung:

    PHP-Code:
    <?php

    print "Vielen dank für Ihre Bestellung Herr ";
    print 
    $_POST[nachname];


    mysql_connect(localhostroot);
    mysql_select_db("webshop");

    $auslesen=mysql_query("select Email from kunde");
    $email=$_POST[email];

    while(
    $row=mysql_fetch_array($auslesen))
    {

        
    $anzahl=substr_count($row["Email"],$email);
        if (
    $anzahl == 1)
        {
        print 
    "Sie sind bereits Kunde";
        
    $vorhanden=1;
            
    $kunde=$row->getAttributeText('Kundennummer'); //Hier bräuchte ich einen Befehl mit dem ich über die E-mailadresse die 
                                                                                //Kundennummer auslesen kann
        
    }

        
    }

    if (
    $vorhanden == 1)
    {
    $result1=mysql_query("insert into produkt (Komponente1, Komponente2, Komponente3) values ('$_POST[komponente1], Farbe 
    $_POST[farbe1]', '$_POST[komponente2], Farbe $_POST[farbe2]', '$_POST[komponente3], Farbe $_POST[farbe3]');");
    }
    else
    {
    $result=mysql_query("insert into kunde (Vorname, Nachname, Strasse, PLZ, Ort, Email) values ('$_POST[vorname]', 
    '
    $_POST[nachname]', '$_POST[strasse]', '$_POST[plz]', '$_POST[ort]', '$_POST[email]');");
    $result1=mysql_query("insert into produkt (Komponente1, Komponente2, Komponente3) values ('$_POST[komponente1], Farbe 
    $_POST[farbe1]', '$_POST[komponente2], Farbe $_POST[farbe2]', '$_POST[komponente3], Farbe $_POST[farbe3]');");
    }

    $produkt=mysql_query("select Bestellnummer from produkt");
    $auftrag=mysql_query("insert into auftrag (Kundennummer, Bestellnummer) values ('$kunde[Kundennummer]', '$produkt[Bestellnummer]');");



    ?>
    Wäre super wenn mir da jemand weiterhelfen könnte.

    Vielen Dank schonmal im vorraus
    Zuletzt geändert von KP13; 18.04.2011, 10:02.

  • #2
    Bitte brich vorher deinen Code. Kein Mensch scrollt gerne kilometerweit nach recht.

    Peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Sorry

      Kommentar


      • #4
        JOINS

        Peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Dankeschonmal aber das hört sich noch ein bisschen spanisch an für mich! Mein Problem ist das ich nicht weiß wie ich über die Emailadresse meines Kunden seine Kundennummer auslesen kann.

          Kommentar


          • #6
            PHP-Code:
            $auslesen=mysql_query("select Kundxennummer, Email from kunde ..."); 
            Peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              Könnte ich es vielleicht so machen?

              PHP-Code:
              $auslesen=mysql_query("select Kundennummer from kunde where 
              (Email='
              $_POST[email]')"); 

              Kommentar


              • #8
                Was hat dein Versuch ergeben?

                Kommentar


                • #9
                  Code:
                  SELECT
                    k.Name,   
                    b.Komponente1,
                    a.Auftragsnummer
                  FROM
                   Kunden k,
                   Bestellung b,
                   Auftrag a 
                  WHERE a.Kundennummer = k.Kundennummer
                    AND a.Bestellnummer = b.Bestellnummer
                    AND k.Email = ...
                  Nur zur Anschaung und ungetestet.

                  Peter

                  PS: Ein Join wäre natürlich besser. Aber wenn du das obige Prinzip verstanden hast, kannst du dích damit ja noch Mal beschäftigen.
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar


                  • #10
                    @TobiaZ

                    mit dem Befehl kann ich den Wert auslesen
                    PHP-Code:
                    $kunde=mysql_query("select Kundennummer from kunde where 
                    (Email='
                    $_POST[email]')"); 
                    aber mit diesem Befehl wird er nicht in die table auftarg geschrieben:

                    PHP-Code:
                    $auftrag=mysql_query("insert into auftrag (Kundennummer) values
                     ('
                    $kunde[Kundennummer]');"); 

                    Kommentar


                    • #11
                      Sorry, aber dir fehlen wohl elementare Grundlagen. Anfangen solltest du mit einer vernünftigen Fehlersuche. Und bitte ganz durchlesen!

                      Peter
                      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                      Meine Seite

                      Kommentar


                      • #12
                        Da hast du wohl recht! Danke ich werds lesen!

                        Kommentar


                        • #13
                          Vielen Dank an alle! Habs hinbekommen

                          Kommentar


                          • #14
                            Dann sei bitte so freundlich und poste auch die Lösung. Falls ein andere Anfänger mal ein ähnliches Problem hat. Und wider Erwarten die SuFu benutzt.

                            Danke
                            Peter
                            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                            Meine Seite

                            Kommentar


                            • #15
                              Achso ja sorry!

                              Hier meine Lösung:

                              PHP-Code:
                              ?php

                              print "Vielen dank für Ihre Bestellung Herr ";
                              print 
                              $_POST[nachname];


                              mysql_connect(localhostroot);
                              mysql_select_db("webshop");

                              $auslesen=mysql_query("select * from kunde");
                              $email=$_POST[email];

                              while(
                              $row=mysql_fetch_array($auslesen))
                              {

                                  
                              $anzahl=substr_count($row[6],$email);
                                  if (
                              $anzahl == 1)
                                  {
                                  print 
                              "Sie sind bereits Kunde";
                                  
                              $vorhanden=1;
                                      
                              $kunde=$row[0];
                                  
                                  }

                                  
                              }



                              if (
                              $vorhanden == 1)
                              {
                              $result1=mysql_query("insert into produkt (Komponente1, Komponente2, 
                              Komponente3) values ('
                              $_POST[komponente1], Farbe $_POST[farbe1]', '$_POST[komponente2], Farbe $_POST[farbe2]', '$_POST[komponente3]
                              Farbe 
                              $_POST[farbe3]');");
                              }
                              else
                              {
                              $result=mysql_query("insert into kunde (Vorname, Nachname, Strasse, PLZ, 
                              Ort, Email) values ('
                              $_POST[vorname]', '$_POST[nachname]', 
                              '
                              $_POST[strasse]', '$_POST[plz]', '$_POST[ort]', '$_POST[email]');");
                              $result1=mysql_query("insert into produkt (Komponente1, Komponente2, 
                              Komponente3) values ('
                              $_POST[komponente1], Farbe $_POST[farbe1]', 
                              '
                              $_POST[komponente2], Farbe $_POST[farbe2]', '$_POST[komponente3]
                              Farbe 
                              $_POST[farbe3]');");

                              $auslesen1=mysql_query("select max(Kundennummer) from kunde");
                              $row2=mysql_fetch_array($auslesen1);
                              $kunde$row2[0];

                              }

                              $produkt=mysql_query("select max(Bestellnummer) from produkt");
                              $row1=mysql_fetch_array($produkt);
                              $nummer$row1[0];
                              $auftrag=mysql_query("insert into auftrag (Kundennummer, Bestellnummer) 
                              values ('
                              $kunde','$nummer');");



                              ?> 

                              Kommentar

                              Lädt...
                              X