Query schießt den Rechner ab

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

  • #16
    mit select distinct ... mal versuchen

    Kommentar


    • #17
      Ahh,

      hatte mich gerade verguckt.
      Die Beschreibung ist jeweils in einer anderen Sprache.
      Es muss also noch rein "where lang=$language". Aber wo?
      Dann solte es funzen.

      Verstehe die Verknüpfung von asp2php nicht ganz. Habe sowas noch nie gesehen.
      Pickel ? Übergewicht ? Depressionen ?
      Brot, Kartoffeln und Milch sind Gift!
      http://www.paleofood.de

      Kommentar


      • #18
        dann hängt mal dran:
        PHP-Code:
        and  lang='$language'" 

        Kommentar


        • #19
          Hallo,

          jetzt bin ich ganz dicht dran.
          Nun besteht nur noch das Problem, dass es zu jedem Produkt mehrere Bilder gibt. Ich brauche aber nur zu jeden Produkt jeweils eins (das erste, das er findet).

          Die Ausgabe ist nun so:

          1 datensatz:
          - Produkt1
          - Bild 1
          - Beschreibung 1


          2 datensatz:
          - Produkt1
          - Bild 2
          - Beschreibung 1

          3 datensatz:
          - Produkt1
          - Bild 3
          - Beschreibung 1

          4 datensatz:
          - Produkt1
          - Bild 4
          - Beschreibung 1

          ...
          nächstes Produkt
          Zuletzt geändert von antman; 21.07.2004, 12:14.
          Pickel ? Übergewicht ? Depressionen ?
          Brot, Kartoffeln und Milch sind Gift!
          http://www.paleofood.de

          Kommentar


          • #20
            Original geschrieben von antman
            Nun besteht nur noch das Problem, dass es zu jedem Produkt mehrere Bilder gibt. Ich brauche aber nur zu jeden Produkt jeweils eins (das erste, das er findet)
            entweder DISTINCT auf die produkt-ID-spalte, oder aber danach GROUPieren, würde ich sagen.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #21
              Hallo,

              ein GROUP würde die ja nach Bildern sortieren oder ?
              DISTINCT auf die pid ist glaube ich logisch.

              Aber kann das DISTINCT mit in die INNER JOIN ?
              Darf das nicht nur nach dem SELECT stehen ?

              hmmm
              Zuletzt geändert von antman; 21.07.2004, 12:15.
              Pickel ? Übergewicht ? Depressionen ?
              Brot, Kartoffeln und Milch sind Gift!
              http://www.paleofood.de

              Kommentar


              • #22
                Komisch:

                SELECT DISTINCT p1.name, p3.picture, p4.d_produktbeschreibung

                Bringt keine Änderung.


                Also bei mir klappt ein DISTICT nicht auf eine bestimmte Spalte.
                Das geht doch nur nach distincten Datensatz, oder nicht !?
                Zuletzt geändert von antman; 21.07.2004, 12:38.
                Pickel ? Übergewicht ? Depressionen ?
                Brot, Kartoffeln und Milch sind Gift!
                http://www.paleofood.de

                Kommentar


                • #23
                  distinct und group by hilft hier gar nicht. ... Hm... ohne sub-select ist manchmal schon ein Problem. Mir fällt i.M. auch nichts Besseres ein, als dir zu empfehlen, das Ganze php-seitig zu lösen, indem du eine Gruppenwechseln in der Ausleseschleife abfängst.

                  Kommentar


                  • #24
                    Hallo,

                    warum soll das DISTINCT nicht helfen. ich habe bemerkt, das es nicht hilft, aber warum nicht?

                    Was genau meinst du mit ein Gruppenwechseln abfangen ?

                    Sowas ?

                    PHP-Code:
                    while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) {
                        
                    $row $page->returnHTMLCompatible($row);
                        if(
                    $row['name'] != $latestProducts[$x-1]) {
                                
                    $latestProducts[] = $row;
                        }
                        
                    $x++;

                    Pickel ? Übergewicht ? Depressionen ?
                    Brot, Kartoffeln und Milch sind Gift!
                    http://www.paleofood.de

                    Kommentar


                    • #25
                      - also was macht distinct? distinct filtert gleiche Zeilen, hier hilft nicht, da die 3. Spalte vom Ergebnis vom gleichen Artikel 4 verschiedene Werte hat.

                      - ja, aber x++ muss du noch in if aufnehmen

                      Kommentar


                      • #26
                        Habe das $x++; noch mit in den if Test gepackt. Es hat sich nix verändert.

                        Pickel ? Übergewicht ? Depressionen ?
                        Brot, Kartoffeln und Milch sind Gift!
                        http://www.paleofood.de

                        Kommentar


                        • #27
                          Original geschrieben von asp2php
                          distinct filtert gleiche Zeilen, hier hilft nicht, da die 3. Spalte vom Ergebnis vom gleichen Artikel 4 verschiedene Werte hat.

                          Also kann man DISTINCT bestimmt nicht auf einzelne Spalten anwenden ?
                          Pickel ? Übergewicht ? Depressionen ?
                          Brot, Kartoffeln und Milch sind Gift!
                          http://www.paleofood.de

                          Kommentar


                          • #28
                            Original geschrieben von antman
                            Habe das $x++; noch mit in den if Test gepackt. Es hat sich nix verändert.

                            mach mal so:
                            PHP-Code:
                            $x 1;
                            $
                            $latestProducts[0] = ""// wird nicht gebraucht, nur für den 1. Wertvergleich
                            while ($row=...) {
                              if (
                            $row['name']!=$$latestProducts[$x-1]) {
                                 
                            strRealResult[$x] = $row// wenn fertig, läuft DatenIndex von 1 bis x-1
                                 
                            $x++;
                              }

                            Kommentar


                            • #29
                              Original geschrieben von antman
                              Also kann man DISTINCT bestimmt nicht auf einzelne Spalten anwenden ?
                              nur wenn du eine einzige Spalte selektierst

                              Kommentar


                              • #30
                                PHP-Code:
                                $x 1;
                                $
                                $latestProducts[0] = ""// wird nicht gebraucht, nur für den 1. Wertvergleich
                                while ($row =& $res->fetchRow(DB_FETCHMODE_ASSOC)) {
                                    if (
                                $row['name']!= $$latestProducts[$x-1]) {
                                        
                                $strRealResult[$x] = $row// wenn fertig, läuft DatenIndex von 1 bis x-1
                                        
                                $x++;
                                    }

                                Nach einem print_r($strRealResult) habe ich immer noch das gleiche Ergebnis. 4 x das gleiche Produkt.
                                Zuletzt geändert von antman; 21.07.2004, 15:23.
                                Pickel ? Übergewicht ? Depressionen ?
                                Brot, Kartoffeln und Milch sind Gift!
                                http://www.paleofood.de

                                Kommentar

                                Lädt...
                                X