SQL Attribute von Tables auf weiterer Table verknüpfen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    Last edited by 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

    Comment


    • #3
      Sorry

      Comment


      • #4
        JOINS

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

        Comment


        • #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.

          Comment


          • #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

            Comment


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

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

              Comment


              • #8
                Was hat dein Versuch ergeben?

                Comment


                • #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

                  Comment


                  • #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]');"); 

                    Comment


                    • #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

                      Comment


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

                        Comment


                        • #13
                          Vielen Dank an alle! Habs hinbekommen

                          Comment


                          • #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

                            Comment


                            • #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');");



                              ?> 

                              Comment

                              Working...
                              X