Kleines Problem

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

  • Kleines Problem

    Hallo,

    Ich habe ein Problem mit meinem Clanwarscript. Wenn ich bei der Clanwarübersicht (?action=clanwars) auf "more" klicke, wobei dann die Details (?action=clanwars&details&id=$warid) angezeigt werden, werden die Details nicht einzelnt angezeigt, sondern mit unter der Clanwarübersicht.

    Hier nochmal der gekürzte Code davon:

    PHP-Code:
    <? 
        switch($action){
        case "clanwars":
          
             echo "Hier der Inhalt der Clanwarübersicht";

        case "details":

        if (!isset($details))
        {
        $query = "SELECT * FROM $war_tablename WHERE id='$warid'";

        $war_result=mysql_query($query) or die(mysql_error());

        while ($data = mysql_fetch_array($war_result)) {

             echo "Hier der Inhalt der Details des Clanwars";

                }
            }

        }

    ?>
    Nun meine Frage: Wie kann ich die Details des Clanwars einzelnt anzeigen lassen ?

  • #2
    Re: Kleines Problem

    damit
    ?action=clanwars&details&id=$warid
    übergibst du ja nicht mal, dass er action=details bearbeiten soll.

    also:
    ?action=details&id=$warid

    die abfrage if(!isset($details)) scheint kompletter unfug zu sein, raus damit.


    in den details-zweig läuft er bei dir bei action=clanwars zusätzlich noch rein, weil du das vorhergehende case nicht durch break; abgeschlossen hast.
    Zuletzt geändert von wahsaga; 24.03.2003, 17:32.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Ja, aber ich möchte, dass der Link immernoch "$action=clanwars&details&id=..." lautet.

      Kommentar


      • #4
        wenn du den link so haben willst, dann willst es eben ... nur so geht es nicht. dann pass halt den code an, wenn der link so bleiben soll.

        und jetzt kannst du deine frage konkretisieren
        PS: "Ja, aber ... " ist ein Widerspruch ansich

        vielleicht kannst du den code ja auch mit 'ner deagle überzeugen zu funktionieren

        Kommentar


        • #5
          Original geschrieben von jOhnny knOx
          Ja, aber ich möchte, dass der Link immernoch "$action=clanwars&details&id=..." lautet.
          der ist wahrscheinlich noch nicht mal syntaktisch korrekt (zum var-namen details erfolgt keine zuweisung), also wozu an dem unsinn festhalten?


          wenn schon, dann müsstest du es etwa so in der art machen:

          ?action=clanwars&subaction=details&id=...

          dann müsstet du, um nur die clanwars-oberseite anzuzeigen, abfragen, ob $action=="clanwars" ist und ob $subaction != "details" oder gar nicht erst gesetzt ist.

          für die details müsstest du dann $action=="clanwars" und $subaction == "details" haben.


          aber warum sollte man ein script mit einer so unlogischen verarbeitung aufbauen?

          da kriegst du nachher nur probleme mit, wenn du das mal erweitern willst. ich würde also abraten.

          EDIT:
          aber eigentlich wäre es doch ausreichend, zwei links mit einmal
          ?action=clanwars
          für die oberseite, und
          ?action=clanwars&id=666
          für eine detailseite zu benutzen...

          wenn eine id gesetzt ist, dann gibst du die zugehörige detailseite aus, keine id führt automatisch zur übersicht.

          Zuletzt geändert von wahsaga; 24.03.2003, 22:57.
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Original geschrieben von wahsaga

            EDIT:
            aber eigentlich wäre es doch ausreichend, zwei links mit einmal
            ?action=clanwars
            für die oberseite, und
            ?action=clanwars&id=666
            für eine detailseite zu benutzen...

            wenn eine id gesetzt ist, dann gibst du die zugehörige detailseite aus, keine id führt automatisch zur übersicht.

            [/B]
            Ja, das klingt doch gut, wie wäre denn nun der Code um das zu tun ? Ich hab es jetzt so probiert, funktioniert aber nicht:

            PHP-Code:
            <?
                                    
                if ($action == "clanwars") {

                     echo "Clanwarübersichtsinhalt";

                }
                elseif($action == "warid")
                {

                $query = "SELECT * FROM $war_tname WHERE warid='$warid'";

                $war_result=mysql_query($query) or die(mysql_error());

                while ($data = mysql_fetch_array($war_result)) 
                                {

                echo "Detailsinhalt"

                    }
                }

            ?>

            Kommentar


            • #7
              du prüfst doch nur 1 variable. wahsaga hatte doch geschrieben du sollst 2 variablen nehmen oder?
              Code:
              index.php?action=clanwars&id=35
              code (beispiel)
              PHP-Code:
              if ($_GET['action']=='clanwars' and isset($_GET['id']))
                  echo 
              'Clanwars: ID = '.$_GET['id'];
              else if (
              $_GET['action']=='clanwars')
                  echo 
              'Clanwars: Haupseite';
              else
                 echo 
              'Keine Clanwars'
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar


              • #8
                Ähm verstehe ich jetzt nicht so ganz wie das gemeint ist ...

                Kommentar


                • #9
                  himmelherrgottsackzefix

                  was verstehst du nich?

                  den beispiellink?
                  den code (der nur das prinzip veranschaulicht)?

                  für alles andere
                  Ich denke, also bin ich. - Einige sind trotzdem...

                  Kommentar


                  • #10
                    Naja, wie ich erwähnte "index.php?action=clanwars&id=$warid". So soll ja der Link sein. Nur den Beispielcode verstehe ich nicht so.

                    Kommentar


                    • #11
                      mal schauen, was verwende ich denn da so alles...

                      if: sollte bekannt sein

                      and: logische verknüpfung zweier ausdrücke, beide ausdrücke für sich müssen true ergeben, dammit der gesamte ausdruck true ergibt

                      isset: siehe manual

                      echo: hallo echo, hallo otto; sollte auch klar sein

                      ==: vergleichsoperator

                      $_GET: superglobales array in dem alle parameter und deren werte stehen, die du in der adressleiste übergeben hast (das, was du mit einem klick auf einen link machst)

                      wo genau hängts denn?
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        das mit dem $_GET verstehe ich nicht. Ich habe folgendes probiert:

                        PHP-Code:
                        if ($action==clanwars and isset($action[warid]))
                            echo 
                        'Clanwars: Details';
                        else if (
                        $action==clanwars)
                            echo 
                        'Clanwars: Haupseite';
                        else
                           echo 
                        'Keine Clanwars'
                        was leider nicht funktioniert...

                        Kommentar


                        • #13
                          warum veränderst du denn den code den ich geschrieben hab?
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            du meinst das $_GET soll bleiben ?

                            Kommentar


                            • #15
                              nein, du musst das $_GET durch einen supergeheimen wert ersetzen, den ich dir aber nicht verrate...


                              natürlich soll es drinbleiben!
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar

                              Lädt...
                              X