im Datenbank Feld zählen

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

  • im Datenbank Feld zählen

    Mal n anderes Problem.
    Hab hier nichts gefunden.

    Ich hab 2 Datenbank Felder und muss wahrscheinlich mit count oder ähnlichem die Zeilen zählen.
    Aber nicht nur das...
    Das hab ich schon versucht, und hat geklappt...

    Problematik:
    Aus einem Feld werden Daten rausgeholt, die ich anhand
    der Zeilenanzahl abgleiche und aus dem anderen Feld genau diese Werte hole. (eine Tabelle, 2 Felder)
    Es sind sozusagen 2 Sprachen aber das ist ja weniger interessant.
    Die Daten sind mit <br> - also \n getrennt.

    Hier ist nicht num_rows gefragt
    Hat jemand einen Anstoß?
    Vielen Dank!

  • #2
    Versuchs doch mal im MySQL Forum und nich in PHP ?
    gruss Chris

    [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

    Kommentar


    • #3
      Super Antwort, aber mache ich..wobei es aber 100%ig in Php gelöst werden muss. Zumindest in Mysql UND Php...

      Kommentar


      • #4
        im Datenbank Feld zählen

        Mal n anderes Problem.
        Hab hier nichts gefunden.

        Ich hab 2 Datenbank Felder und muss wahrscheinlich mit count oder ähnlichem die Zeilen zählen.
        Aber nicht nur das...
        Das hab ich schon versucht, und hat geklappt...

        Problematik:
        Aus einem Feld werden Daten rausgeholt, die ich anhand
        der Zeilenanzahl abgleiche und aus dem anderen Feld genau diese Werte hole. (eine Tabelle, 2 Felder)
        Es sind sozusagen 2 Sprachen aber das ist ja weniger interessant.
        Die Daten sind mit <br> - also \n getrennt.

        Hier ist nicht num_rows gefragt
        Hat jemand einen Anstoß?
        Vielen Dank!

        Kommentar


        • #5
          Hä? Bin ich der einzige, der das nicht kapiert?
          Gib uns doch mal deine Tabellendefinition und ein Beispiel, was rauskommen soll.

          Kommentar


          • #6
            Tabelle:


            <<Feld1>>
            wort1
            wort2
            wort3
            wort4
            wort5

            <<Feld2>>
            xwort1
            xwort2
            xwort3
            xwort4
            xwort5

            Also wenn ich aus Feld 1 ein oder mehrere wörter raushole,
            dann muss ich im Feld2 die Zeilen zählen und das gleiche (also an der gleichen Stelle) rausholen...
            Besser?
            Sorry...

            Kommentar


            • #7
              Nö. Wieso mußt du denn Zeilen zählen?
              Wenn du Feld1 = wort1 selektierst, steckt im gleichen Tupel (gleiche Zeile) xwort1 schon mit drin. Mußt es dir nur mit ausgeben lassen.

              SELECT * FROM tabelle WHERE Feld1 = 'wort1'

              Kommentar


              • #8
                Mhm...glaub ich drück mich doof aus...
                Ich holte es ja nicht gleichzeitig raus, sondern hab die Ergebnisse von Spalte eins vorliegen und danach brauche ich die gleichen von Spalte 2.
                Also die an gleicher Stelle.
                Hab es mir so gedacht, (Therorie ist schön, Praxis wäre besser)
                dass ich die irgendwie zähle an welcher stelle die stehen...
                Wenn ich mehrere datensätze pro Spalte hätte also für jedes Wort eine, wäre es ja nicht schwer...

                Bsp: Ergebnis wäre
                Feld1
                wort3
                wort4

                Danach brauch ich auch das gleiche in Grün.
                Feld2
                xwort3
                xwort4


                ...nun muss sich onemorenerd wieder mit mir rumschlagen.
                Du hast es nicht leicht


                EDIT:
                Vielleicht nochmal genauer:
                Hab 2 Sprachen und in diesen Feldern stehen die Begriffe drin.
                Also bei deutsch Fahrrad und genau da bei Englisch bike.
                Und wenn jemand Fahrrad wählt an z.B. 10. Stelle
                muss die englische 10. Stelle ausgegeben werden können.
                Das wäre dann bike.
                Es ist/war auch nicht möglich für jedes Wort einen Datensatz zu füllen, sonst hätte ich id's etc. und das wäre kein Post wert.
                Vielleicht jetzt besser??

                Zuletzt geändert von webguru; 30.06.2005, 21:07.

                Kommentar


                • #9
                  Ich hab mich ehrlich angestrengt, aber dein Problem hab ich nicht verstanden... möglicherweise gehts ja anderen ähnlich

                  Kommentar


                  • #10
                    der oscar für die unfähigkeit sich auszudrücken geht definitiv an...

                    schuss ins blaue: du möchtest gern dieses "etwas" mit explode() in ein array zerschlagen und anschließend die anzahl der elemente mit count() ermitteln?

                    Kommentar


                    • #11
                      Ich hab die Ergebnisse von Spalte eins vorliegen und danach brauche ich die gleichen von Spalte 2.
                      Also die an gleicher Stelle.
                      Hab es mir so gedacht,
                      dass ich die irgendwie zähle an welcher stelle die stehen...
                      Wenn ich mehrere datensätze pro Spalte hätte also für jedes Wort eine, wäre es ja nicht schwer...

                      Bsp: Ergebnis wäre
                      Feld1
                      wort3
                      wort4

                      Danach brauch ich auch das gleiche in Grün.
                      Feld2
                      xwort3
                      xwort4



                      Vielleicht nochmal genauer:
                      Hab 2 Sprachen und in diesen Feldern stehen die Begriffe drin.
                      Also bei deutsch Fahrrad und genau da bei Englisch bike.
                      Und wenn jemand Fahrrad wählt an z.B. 10. Stelle
                      muss die englische 10. Stelle ausgegeben werden können.
                      Das wäre dann bike.
                      Es ist/war auch nicht möglich für jedes Wort einen Datensatz zu füllen, sonst hätte ich id's etc. und das wäre kein Post wert.
                      Vielleicht jetzt besser??



                      @penizillin cooler Spruch mit dem Oscar

                      Kommentar


                      • #12
                        ich würde dir empfehlen, die datenstrukturen zu verändern, bevor du dir jetzt da eine lösung zusammenquälst.
                        Die Zeit hat ihre Kinder längst gefressen

                        Kommentar


                        • #13
                          Das ist doch mal ne erwachsene Antwort!
                          Wir überlegen das schon aber so muss das auch doch gehen?!
                          Aber du verstehst die Problematik?!!

                          Problem ist wegen der Struktur das wir eine Oberkategorie haben, und dazu die Unterkategorien.
                          In den Unterkategorien sind oft mehr als 50 Wörter...
                          (untereinander durch \n getrennt)
                          Da würde was zusammen kommen in der Datenbank...

                          Bsp:

                          <Mutter>Feld
                          -Sohn
                          -Tochter
                          usw.
                          (So haben wir es.)

                          anders müsste man:
                          <Mutter>Feld
                          -Sohn

                          <Mutter>Feld
                          -Tochter
                          usw.

                          Zuletzt geändert von webguru; 30.06.2005, 21:40.

                          Kommentar


                          • #14
                            Jap, jetzt habe ich es begriffen.

                            Wenn ich du wäre, würde ich entweder beide Tabellen zusammenführen, oder jeder eine Spalte ID spendieren, so daß bike die ID 10 hat, wenn Fahrrad die ID 10 hat und umgekehrt.

                            Aber ich habe auch deinen anderen Thread dazu gelesen. (Warum eigentlich noch einen aufgemacht? @mods: merge?)
                            Du scheinst die DB nicht ändern zu können oder dürfen.

                            Wenn ich jetzt immernoch du wäre, würde ich (mich ärgern und) bei jedem Wort, das ich aus einer der Tabellen hole, dessen "Zeile" speichern.

                            Problem:
                            Du erzeugst die Zeilennummer ja erst durch deine Anfrage.
                            Beispiel:
                            SELECT * FROM tab WHERE wort='bike' => bike ist Zeile 1
                            SELECT * FROM tab => bike kann irgendeine Zeile sein
                            Lösung:
                            nur SELECT * ... verwenden, Rest mit PHP machen
                            Effekt:
                            Pech, wenn sich eine der Tabellen ändert, denn mit SELECT * ... kommen die Tupel o.B.d.A. in der Reihenfolge, wie sie auf Platte liegen.
                            Fazit:
                            Tabellen ändern(!) oder Wörter so ändern, dass sie die Zeilennummer enthalten ('wort' => '10$wort', 'bike' => '10$bike'), immer SELECT * ... und jedes Wort mit explode() ...

                            Kommentar


                            • #15
                              Doch doch ich kann die DB ändern, was wir bereits tun.
                              Danke an Alle.

                              @onemorenerd: Sorry wegen dem Doppelthread, hatte es erst in PHP und dann sollte ich es in Mysql probieren, war nur (guter?) Rat von einem Forum Member...
                              Kann ich irgendwie was löschen? Will hier ja nicht rumsauen, tut mir sehr Leid!

                              Kommentar

                              Lädt...
                              X