Ankündigung

Einklappen
Keine Ankündigung bisher.

per php einen bestimmten Datensatz aus einer Datenbank lesen.

Einklappen

Neue Werbung 2019

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

  • per php einen bestimmten Datensatz aus einer Datenbank lesen.

    Hallo.

    Ich lese mit:
    Code:
    "(select kat from fragen_1 WHERE kat='$thema')
    UNION ALL
    (select kat from fragen_2 WHERE kat='$thema')";
    Aus zwei Tabellen "fragen" aus.
    Nun möchte ich auf der einen Seite

    show.php?type=question&number=1

    Den ersten Eintrag dieser Abfrage anzeigen, und bei

    show.php?type=question&number=2

    Den zweiten Eintrag dieser Abfrage, und so weiter.

    Ich hab allerdings keine Ahnung wie ich das machen soll, und per Google finde ich nichts. Bzw. wenn ich das Eingebe kommen Ergebnisse wo die WHERE Klausel erklärt wird, diese kenne ich aber.

    Ich hoffe ihr versteht was ich meine?

    MfG

  • #2
    Ich gehe mal davon aus, dass du weißt, wie du die Zahl aus dem Querystring in eine Variable kriegst.

    PHP-Code:
    "SELECT *
    FROM (
     (SELECT kat 
      FROM fragen_1
      WHERE kat='" 
    $thema "')
     UNION ALL
     (SELECT kat
      FROM fragen_2
      WHERE kat='" 
    $thema "')
    ) x
    LIMIT " 
    $number ", 1" 
    Übrigens ziemlich unschöne Konstruktion, zwei Tabellen zu vereinen, aber naja... Datenbankdesign ist halt nicht einfach, wenn man nichtmal richtig Strings escapen kann.

    Kommentar


    • #3
      Hallo! Danke schon mal, allerdings tritt noch ein Problem auf:
      Was muss ich tun wenn

      Every derived table must have its own alias
      kommt? Diese Fehlermeldung kommt nähmlich bei deiner Abfrage... :/

      Kommentar


      • #4
        Habs angepasst. Blöde Aliase immer...

        Kommentar


        • #5
          hey ich denk mal die Frage kommt jetzt doof, aber wie bringe ich die Abfrage dazu auszuführen?

          ich habe davor jetzt:
          PHP-Code:
          $db = new mysqli('localhost''user''pw''db'); 
          stehen, aber da tut er nichts.

          Danke schonmal!

          Kommentar


          • #6
            Ich hab dir nur die Abfrage gegeben. Das db->exec war nur, damit du das weißt. Die Abfrage ersetzt du einfach mit der, die du jetzt stehen hast. Kein bisschen Abstraktion vorhanden bei den Leuten heutzutage...

            Kommentar


            • #7
              hey sorry für meine dummheit, und fehlende Abstraktion

              Allerdings funktioniert es immer noch nicht ganz.

              PHP-Code:
              SELECT FROM ( (SELECT id FROM fragen_1 WHERE kat='Geometrie'UNION ALL (SELECT id FROM fragen_2 WHERE kat='Geometrie') )x LIMIT 1
              klappt, da liefert er mir die id der einen Frage aus der Tabelle fragen_2 aus.

              Allerdings beim zweiten dann:

              PHP-Code:
              SELECT FROM ( (SELECT id FROM fragen_1 WHERE kat='Geometrie'UNION ALL (SELECT id FROM fragen_2 WHERE kat='Geometrie') )x LIMIT 2
              gibt er nichts aus, dabei ist in fragen_1 noch eine Frage mit kat= Geometrie ...

              Ne idee?

              Liebe Grüße

              Kommentar

              Lädt...
              X