Mehrere Datenbanken

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

  • #31
    Hallo,

    ja ich bin dabei Grundlagen zu lernen. Ist natürlich auch recht viel, aber mit der Zeit klappt das schon. Nein, ich habe damit nicht mehr vor. Das Tool ist somit komplett. Alles andere habe ich schon gemacht.

    Ich habe mal deinen Code eingefügt und folgendes erhalten:

    PHP-Code:
    <pre>object(stdClass)(38) {
      [
    "post_id"]=>
      
    string(1"1"
      
    ["user_id"]=>
      
    string(2"11"
      
    ["l_status"]=>
      
    string(1"0"
      
    ["p_time"]=>
      
    string(10"1178882960"
      
    ["k_auftragsnummer"]=>
      
    string(4"1234"
      
    ["k_l_name"]=>
      
    string(13"Max Mustermann"
      
    ["k_l_strasse"]=>
      
    string(17"Mustermann Str. 329"
      
    ["k_l_plz"]=>
      
    string(5"55126"
      
    ["k_l_ort"]=>
      
    string(5"Mustermann"
      
    ["k_l_anrede"]=>
      
    string(4"Herr"
      
    ["k_versandkosten"]=>
      
    string(6"199.00"
      
    ["k_nachname"]=>
      
    string(6"199.00"
      
    ["k_warenwert"]=>
      
    string(6"199.00"
      
    ["k_gesamtbetrag"]=>
      
    string(6"199.00"
      
    ["k_land"]=>
      
    string(11"Deutschland"
      
    ["k_waehrung"]=>
      
    string(4"Euro"
      
    ["k_e_vorname"]=>
      
    string(0""
      
    ["k_e_nachname"]=>
      
    string(0""
      
    ["k_e_strasse"]=>
      
    string(0""
      
    ["k_e_plz"]=>
      
    string(0""
      
    ["k_e_ort"]=>
      
    string(0""
      
    ["k_r_vorname"]=>
      
    string(0""
      
    ["k_r_nachname"]=>
      
    string(0""
      
    ["k_r_strasse"]=>
      
    string(0""
      
    ["k_r_plz"]=>
      
    string(0""
      
    ["k_r_ort"]=>
      
    string(0""
      
    ["k_r_anrede"]=>
      
    string(0""
      
    ["l_id"]=>
      
    string(1"1"
      
    ["p_auftragsnummer"]=>
      
    string(4"1234"
      
    ["p_positionsnummer"]=>
      
    string(1"1"
      
    ["p_artikelnummer"]=>
      
    string(7"Nummer1"
      
    ["p_bestellmenge"]=>
      
    string(1"1"
      
    ["p_einzelpreis"]=>
      
    string(6"199.00"
      
    ["p_gesamtpreis"]=>
      
    string(6"199.00"
      
    ["p_mehrwertsteuer"]=>
      
    string(3"19%"
      
    ["p_kndartikelbezeichnung"]=>
      
    string(9"Nokia N73"
      
    ["p_freitextoben"]=>
      
    string(0""
      
    ["p_freitextunten"]=>
      
    string(0""
    }
    </
    pre>
            
    K|1234|||Max Mustermann|Mustermannstr329|55126|Mainz|Herr|||199.00|199.00|199.00|199.00||Deutschland|Euro||||||
    ||||||||
        
    P|1234|1|Nummer1|1|199.00|199.00|19%|Nokia N73||||||| 
    Da unten siehst du mal den generierten Code. So sieht dieser aus. Und für Max Mustermann hab ich z.B. 2 Einträge gespeichert, allerdings nur einen Ausgegeben bekommen.

    mfg
    Zuletzt geändert von Gramthug; 11.05.2007, 14:35.

    Kommentar


    • #32
      Gib die Query mit aus bitte.

      Du hast eine Seite, da stehen die Namen drauf mit Checkboxen, und dann willst du irgendwas über die angeklickten Namen abfragen, richtig?

      Und das Problem ist, dass wenn du eine andere als die erste checkbox anklickst, gar nichts kommt?

      dann musst du kontrollieren
      - ob die checkboxen den richtigen value haben (also die post-id die zum menschen gehört)
      - ob die post-ids richtig in der query landen (alle angeklickten müssten im IN(x,y,z) stehen) -> echo $sql
      - die Query ausgeführt wird
      - was sie zurückgibt.
      ich glaube

      Kommentar


      • #33
        Also der Code ist bisher soweit das folgendes funktioniert:

        1. Übersicht
        2. Ich klicke eine oder mehrere Checkboxes an
        3. Ich bekomme in einem Textarea die aufgeführten Codes

        D.h. ich habe z.B. eins angeklickt und bekomme das hier:

        K|1234|||Max Mustermann|Mustermannstr. 329|55126|Mainz|Herr|||199.00|199.00|199.00|199.00||Deutschland|Euro||||||||||||||

        P|1234|1|Nummer1|1|199.00|199.00|19%|Nokia N73|||||||

        ________________________________________________

        Allerdings sind für diese Auftragsnummer zur Zeit 2 P Einträge eingetragen. Angezeigt bekomme ich ja nur einen, wobei eigentlich 2 Ausgegeben werden müssen. Genau da hänge ich und ich weis nicht wo der Fehler sein könnte. Ob im While oder das mit dem Join.

        mfg

        Kommentar


        • #34
          Ich kenn euer System da nicht, und ich muss das jetzt auch nicht verstehen, wie das funktionieren soll, das ist deine Aufgabe, und es macht den Eindruck, als würdest du dafür Geld bekommen.

          Anscheinend wählst du mit den Checkboxen nicht Leute aus, sondern Auftragsnummern oder irgendwas, aber du musst schon dein Problem richtig beschreiben.

          Kontrollier doch der Reihe nach die vier Sachen, die ich erwähnt habe.
          ich glaube

          Kommentar


          • #35
            Hi,

            nein Geld bekomme ich leider nicht dafür. Ich stecke noch ganz normal in der Ausbildung, also leider nur Ausbildungsvergütung

            1. Checkboxes

            - Haben die Richtige ID, lasse sie mir testweise neber die Box schreiben
            - Sie wird ebenfalls richtig übernommen

            2,3,4:

            Habe mir jetzt mal den Query ausgeben lassen und folgendes bekommen.

            SELECT np.*, nc.* FROM logistik AS np LEFT JOIN logistik_w AS nc USING(post_id)WHERE (np.post_id IN (1) )

            Irre ich mich jetzt oder müsste nach USING nicht auch eine ID drinne stehen? Also auch die 1. Oder stimmt das jetzt so? Hab damit leider gar keine Erfahrung.

            Bevor ich es vergesse: Die Post-IDS werden, meiner Meinung nach, richtig eingetragen. So sehen sie bei der Testausgabe aus: 2,1

            Ist zwar verkehrt herum, aber denke das schadet nicht.

            mfg

            Kommentar


            • #36
              Was ist jetzt falsch ? Diese Query wäre richtig, wenn du nur die Checkbox mit der 1 angewählt hättest.

              Falls du das gemacht hast, erkläre dein problem.

              Wenn du was anderes geklickt hast, dann musst du an der stelle suchen, wo die $l-Variablen aus dem POST gebildet werden.

              Du hast mir immer noch nicht verraten, was das mit den checkboxen machen soll. du wählst was aus, und willst was dann sehen, und was passiert stattdessen?
              ich glaube

              Kommentar


              • #37
                Ok ok, es ist wirklich dumm zu erklären aber kein Problem.

                Die Checkboxes sind an die Tabelle logistik gekoppelt. Hinter der Checkbox verbirgt sich die ID des Eintrags.

                Jetzt gibt es die zweite Tabelle, logistik_w, inder alle Waren für einen Kunden gespeichert werden.

                D.h. ich markiere mir ein Checkbox, klicke auf mein Button und sehe dann den Code vom Kunden.

                **Beispiel**

                K|1234|||Max Mustermann|Mustermannstr. 329|55126|Mainz|Herr|||199.00|199.00|199.00|199.00||Deutschland|Euro||||||
                ||||||||

                P|1234|1|Nummer1|1|199.00|199.00|19%|Nokia N73|||||||

                _____________________________________________________

                Das funktioniert. Jetzt ist es aber so, dass ich für einen Kunden mehrere Waren eintragen kann und dies auch tue. D.h. wenn ich nun einen Eintrag markiere, muss er mir folgendes ausgeben:

                **Beispiel**

                K|1234|||Max Mustermann|Mustermannstr. 329|55126|Mainz|Herr|||199.00|199.00|199.00|199.00||Deutschland|Euro||||||
                ||||||||

                P|1234|1|Nummer1|1|199.00|199.00|19%|Nokia N73|||||||
                P|1234|1|Nummer1|1|199.00|199.00|19%|Nokia N80|||||||

                _____________________________________________________

                Und genau das funktioniert nicht. Ich bekomme keine zwei oder mehrere Wareneinträge für den Kunden, sondern immer nur 1. Das aktuellste eben. Wenn ich mehrere Felder markiere und es richtig funktionieren würde, dann würde das ganze so aussehen:

                **Beispiel**
                K|1234|||Max Mustermann2|Mustermannstr. 329|55126|Mainz|Herr|||199.00|199.00|199.00|199.00||Deutschland|Euro||||||
                ||||||||

                P|1234|1|Nummer1|1|199.00|199.00|19%|Nokia N73|||||||


                K|1234|||Max Mustermann|Mustermannstr. 329|55126|Mainz|Herr|||199.00|199.00|199.00|199.00||Deutschland|Euro||||||
                ||||||||

                P|1234|1|Nummer1|1|199.00|199.00|19%|Nokia N73|||||||
                P|1234|1|Nummer1|1|199.00|199.00|19%|Nokia N80|||||||



                So, ich hoffe das konnte dir nun weiterhelfen. Es ist wirklich ganz eifnach mein Problem: Für jeden Kunden soll er einfach alle Wareneinträge mit Ausgeben, die zu ihm gehören.

                mfg

                Kommentar


                • #38
                  Immer nur für einen Kunden gleichzeitig oder kannst du auch mehrere auf einmal auswählen?
                  ich glaube

                  Kommentar


                  • #39
                    Ich kann durchaus mehrere anwählen. Genau dafür ist es gedacht. Das ganze ding dient dazu, für uns Logistikcodes zu erstellen. Wir gehen abends hin, erstellen uns diese und senden sie dem Logistiker.

                    Das ganze passiert nur einmal täglich, deshalb ist es wesentlich bequemer alle Daten auf einmal zu sehen und speichern zu können.

                    Wenn ich also 2 oder 3 Checkboxes markiere, bekomme ich 3 Kopfzeilen (3 Kunden = 3 Ids). An diese sind halt noch Geräte gekoppelt.

                    Kunde 1: (1 Kopfzeile)
                    1 Gerät (1 Positionszeilen)

                    Kunde 2: (1 Kopzeile)
                    2 Geräte (2 Positionszeilen)

                    Kunde 3: (1 Kopfzeile)
                    3 Geräte (3 Positionszeilen)

                    Und das funktioniert halt nicht. Ich bekomme immer eine Kopfzeile (richtig) und immer eine Positionszeile (falsch).

                    Hast du das jetzt so verstanden? Ich tue mich da auch schwer beim erklären -.-

                    mfg

                    Kommentar


                    • #40
                      In $basic->dt['logistik'] stehen die Kunden, in $basic->dt['logistik_w'] die Geräte, richtig?

                      Dann würde ich es so machen (doch kein Join, lieber zwei queries:

                      - Alle Geräte abfragen die zu den angekreuzten Kunden passen (... WHERE post_id IN....) und die in ein Array speichern, das post_id als key hat

                      PHP-Code:
                      $geräte = array();
                      while (
                      $xyz mysql_fetch_object($abc)) {
                           
                      $geräte[$xyz->post_id] = $xyz

                      - Alle Kunden abfragen, die angekreuzt wurden (... WHERE post_id IN....)

                      - Ausgeben
                      PHP-Code:

                      while ($kunde mysql_fetch_object($kundenresult)) {
                           echo(
                      "kunde: ");
                           
                      var_dump($kunde);

                           echo(
                      "geräte zum Kunden: ");
                           
                      var_dump($geräte[$kunde->post_id]);


                      (ungetestet).
                      ich glaube

                      Kommentar

                      Lädt...
                      X