Wie macht man das Sinnvoll?

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

  • Wie macht man das Sinnvoll?

    Hallo,

    ich weiß nicht genau wie ich das hier folgendes in PHP realisieren kann. Ist eigentlich eine grundsätzliche Frage.

    Zum Verständniss, ich will eine Hyperlinkverwaltung aufbauen, in der ich Links speichern kann und den Links bestimmten Kategorien zuordnen kann. Das ganze möchte ich über drei Tabellen realisieren.

    PHP-Code:
    links
    (lid,lname)
    (
    1,php-resource.de)
    (
    2,www.test.de)

    kategorie
    (kid,kategorie)
    (
    1,PHP)
    (
    2,Programmieren)

    zuordnung (Hier wird gespeichert welcher Link welche Kategorien erhält:
    (
    zid,lid,kid)
    (
    1,1,1)
    (
    2,1,2
    Das Eintragen der Datensätze ist kein Problem, das habe ich alles hinbekommen. Nur mit den späteren bearbeiten komme ich einfach nicht zurecht.

    Ich wollte es so machen das ich mir einmal zu einem Link alle zugeordneten Links anzeigen lasse (das geht auch) und daneben alle Kategorien die ich noch nicht dem Link zugeordnet habe. Ich habe aber keine SQL-Statement gefunden mit dem ich das rausfinden kann (welche Kategorie wurde dem Link noch nicht zugeordnet), siehe hier

    Jetzt stellt sich mir die Frage ob ich generell einen Denkfehler vom "Grundablauf" habe oder obs prinzipiell stimmt.

    Wie realisiert man so etwas richtig/professional.

    Ich hoffe mal ihr konntet mir folgen.

    Danke

  • #2
    es ist noch zu früh zum denken, aber hier mal der ansatz
    Code:
     
    " select * from kategorie kat
      left outer join zuordnung zu on kat.kid != zu.kid
      where zu.lid=$dieser_link
      group by a.kid
    "
    *grobe vermutung*
    h.a.n.d.
    Schmalle

    http://impressed.by
    http://blog.schmalenberger.it



    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
    ... nur ohne :-)

    Kommentar


    • #3
      Danke für die Antwort. Geht aber leider nicht. Ich bekomm dann alle DS angezeigt.

      Es muß doch eine Lösung für das Problem geben!

      Kommentar


      • #4
        Original geschrieben von White-Horse
        Es muß doch eine Lösung für das Problem geben!
        ich verstehe nicht so ganz, wo das problem liegt.
        Ich wollte es so machen das ich mir einmal zu einem Link alle zugeordneten Links anzeigen lasse (das geht auch) und daneben alle Kategorien die ich noch nicht dem Link zugeordnet habe. Ich habe aber keine SQL-Statement gefunden mit dem ich das rausfinden kann (welche Kategorie wurde dem Link noch nicht zugeordnet)
        mache eine abfrage, die alle kategorien, die es gibt, ausliest (bei eigener tabelle für die kategorien einfach alle datensätz auslesen, ansonsten mit group by arbeiten).

        zeige von diesen dann nur die jenigen an, die dem link noch nicht zugeordnet sind.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Original geschrieben von wahsaga
          mache eine abfrage, die alle kategorien, die es gibt, ausliest (bei eigener tabelle für die kategorien einfach alle datensätz auslesen, ansonsten mit group by arbeiten
          Es gibt eine Tabelle in der alle Kategorien stehen.

          SELECT * FROM lnk2_kat; //soweit klar! in der lnk2_kat stehen alle Kats drin.

          zeige von diesen dann nur die jenigen an, die dem link noch nicht zugeordnet sind.
          und wie?
          PHP-Code:
          SELECT lnk2_kat.* FROM lnk2_kat
          LEFT JOIN lnk2_lnk_kat ON lnk2_kat
          .kid!=lnk2_lnk_kat.kid
          where lnk2_lnk_kat
          .kid IS NULL 
          Das geht ja nicht, bin bis jetzt an der Abfrage gescheitert.

          Oh man, hoffentlich bringt noch jemand die Geduld auf mir zu antworten

          Kommentar


          • #6
            join mal andersrum
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Ging nicht. Die Abfrage wird ausgeführt aber es kommen keine Datensätze

              PHP-Code:
              SELECT k.kategorie 
              FROM lnk2_kat k
              LEFT  JOIN lnk2_lnk_kat z ON z
              .kid k.kid
              WHERE z
              .kid IS  NULL 
              Noch einmal kurz auf die Abfrage zurückzukommen. Diese zeigt mir alle Kategorien auf die nicht zugeordnet sind. Kann ich da keine WHERE Klausel einbauen, so nach dem Motto....

              LEFT JOIN lnk2_lnk_kat z WHERE lid='74' ON....

              Also es geht nicht, schon getestet.

              Ich glaube ich habe echt einen Denkfehler drin.

              Kommentar


              • #8
                ON k.kid=z.kid AND k.lid=42
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9


                  @mrhappiness
                  ICH DANKE DIR!!!

                  ES GEHT!!!

                  Du kannst dir garnicht vorstellen wie lange ich schon probiert habe das Problem zu lösen!!!!

                  jo, der Tag ist gerettet

                  Kommentar

                  Lädt...
                  X