• Hallo,

    Meine DB (alles in einer Tabelle) enhält Projekte die nummeriert und zu Gruppen zugeordnet sind(z.B. Gruppe a enhält 3 Projekte mit der Nummer 1 bis 3, Gruppe b enhält 2 Projekte mit der Nummer 1 bis 2). Über die Adresszeile frage ich jeweils ein Projekt ab: abfrage.php?wahl_a=1 Das ergibt die Ausgabe vom Projekt Nr 1 der Gruppe a. Meine Abfrage PHP sieht folgendermaßen aus:


    Wie man sieht, wird je nach Eingabe von wahl_a oder wahl_b die Gruppe a oder b angespochen. Die Abfrage filtert die Datensätze nach den jeweiligen Gruppen heraus. Allerdings finde ich den wiederholten Code nicht so günstig. Gerade wenn man weitere Gruppen hinzufügt erhält man doppelten Code. Mir fällt aber leider keine bessere Variante ein. Könnt ihr helfen?

    Danke Sero

  • Möglichkeit: Nicht $_GET['wahl_a'], aber $_GET['wahl'] abfangen
    Möglichkeit:

    PHP
    $wahl = (isset($_GET['wahl_a'])) ? 'a' : ((isset($_GET['wahl_b'])) ? 'b' : 'c');
    /*
     * Dein restlicher Code
     * Aschließend in der Query
    */
    $query = '........ WHERE gruppe = \'.$wahl.'

    Natürlich ohne Gewähr


  • Link-Beispiel: xxxx.php?gruppe=a&nummer=1

  • Danke erstmal für euren Rat:

    @Bandit:

    im Code scheinen noch ein Paar Syntax Fehler zu stecken. Müsste die Zeile nicht so richtig sein:

    PHP
    if (isset($_GET['gruppe']) && isset($_GET['nummer']))



    In dieser Zeile

    PHP
    nummer = " . mysql_real_escape_string($_GET['nummer']);

    kommt diese Fehlermeldung

    Zitat

    Parse error: syntax error, unexpected ';' in C:\xampp\htdocs\myStaff\Datenbank-Test\abfrage.php on line 24

  • im Code scheinen noch ein Paar Syntax Fehler zu stecken.


    Die man aber auch gerne selber beseitigen kann. Ich teste ja nicht jeden Quellcode, den ich hier poste.

  • Hallo Leute,

    ich habe noch ein kleines Problem mit einer anderen Abfrage. Die unten gezeigte Funktion besteht aus 2 Abfragen. Soweit funktioniert es auch. Zusätzlich soll eine Nachricht ($filterMessage) angezeit werden. Allerdings möchte ich diese Nachricht als Variable ($filterMessage) ausgeben und nicht als echo, wie hier im Bsp. Habt ihr ne Idee? return $filterMessage; klappt nicht...

  • Zitat

    Allerdings möchte ich diese Nachricht als Variable ($filterMessage) ausgeben und nicht als echo, wie hier im Bsp. Habt ihr ne Idee? return $filterMessage; klappt nicht...


    :eek: Häää??? :eek:

  • also ich möchte lediglich eine Nachricht ausgeben, die in einer Variable verpackt sein soll, so dass ich diese an passender stelle in der html einbauen kann... ist das verständlicher :)

  • Sagen wir es mal so:

    Welchen Sinn macht return $result;?
    Welchen Sinn macht im else-Zweig die DB-Abfrage, wenn du sowieso nichts damit anfängst?
    Was funktioniert an return $filterMessage nicht?
    Und: $gruppe > '' bedeutet größer als nix!

  • du musst natürlich diese Funktion im Gesamtskript sehen, dann machen die oben genannten Sachen schon Sinn...zumindest funktioniert es:D. Aber das betrifft nicht meine Frage.
    Ich kann sehr wohl return $filterMessage; ausgeben aber mit return $result; funktioniert das nicht. Die Rückgabe von $result ist in meinem Skript bedingung, damit die funktion läuft!