wie liest und bedingt man Zeichenketten

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

  • wie liest und bedingt man Zeichenketten

    Hallo PHPler,

    habe folgendes Problem:

    zur Zeit habe ich folgendes Script:

    PHP-Code:
    <div id="naviblock1">
        <?php
        
    // aktuelle id
        
    $aktuelle_id = (isset($_GET['id']) ? $_GET['id'] : 0);
        
    $links = array(
            
    => 'Punkt5<br><br>',
            
    => 'Punkt6<br><br>',
            
    => 'Punkt7<br><br>',
               
    => 'Punk8<br><br>',
            
    // ...
            
    );

        foreach (
    $links as $link_id => $link_text) {
            echo 
    '<a ';
            if (
    $aktuelle_id == $link_id) {
                echo 
    'class="aktiv" ';
            }
            echo 
    'href="bauberatung.php?id=' $link_id '">' $link_text '</a>';
        }
        
    ?>
    </div>
    dieser bewirkt, das wenn einer dieser Punkte angeklickt wird (id= Punkt) wird dieser fett dargestellt (class="aktiv")

    jetzt habe ich aber bei punkt6 noch weitere unterpunkte welche in der Navigation nicht auftauchen die dann die id 601, 602, 603 haben

    wie kann ich das jetzt verknüpfen damit dann punkt 601 ,etc der "class=aktiv" zugeordnet wird?

    ich habe schon was haystack und substr gelesen, weis aber net wie ich das so hinkrieg wie es sein soll.

    gruß

    speeedy08

  • #2
    Irgendwo sind doch die Punkte gespeichert?
    Du musst das genauso Verknüpfen, wie das davor.

    Erklär mal die Struktur, wie werden die Unterpunkte aufgerufen?
    Für Rechtschreibfehler übernehme ich keine Haftung!

    Kommentar


    • #3
      naja es ist so der punkt 601 von der seite 6 aus aufgerufen wird.

      d.h. unter punkt 6 steht soviel text das es auf eine seite nicht passt (scrollen wird vermieden) dann ist es aber immer noch navigationspunkt 6 der markiert werden soll und zwar obwohl die seite=ID 601 aufgerufen ist.

      Kommentar


      • #4
        mit strpos schauen ob die 6 am Anfang steht, falls ja, dann Seite 6.
        Oder durch 100 teilen abrunden vergleichen.
        oder substr vergleichen
        Für Rechtschreibfehler übernehme ich keine Haftung!

        Kommentar


        • #5
          OffTopic:
          Sinnvolle URLs beschreiben übrigens die Inhalte, die hinter ihnen liegen - und bestehen nicht aus blossen blöden Nummern ...
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            ???

            wie klinke ich das aber in mein script rein ?

            und dann soll ja nicht Seite 6 aufgerufen sondern 601 nur der link von 6 aktiv bleiben.

            bin noch newbee im bereich php

            Kommentar


            • #7
              Original geschrieben von wahsaga
              OffTopic:
              Sinnvolle URLs beschreiben übrigens die Inhalte, die hinter ihnen liegen - und bestehen nicht aus blossen blöden Nummern ...
              wieso steht hier dann nicht der Betreff mit drin?

              postid=510977#post510977
              Für Rechtschreibfehler übernehme ich keine Haftung!

              Kommentar


              • #8
                Original geschrieben von Damian1984
                wieso steht hier dann nicht der Betreff mit drin?
                Bei so sinnvollen Betreffs, die hier viele wählen ...


                Aber es gibt auch Foren(-Systeme), die das anders machen.
                Und es war weniger auf Foren bezogen - die haben eine andere Stuktur, gute Durchsuchbarkeit, etc. - sondern mehr auf sonstige Seiten mit klar definierten Inhalten.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  ich versteh grad nicht worum es geht

                  Kommentar


                  • #10
                    ansich hast du recht, aber weißt du was der liebe Herr hier programmiert? Ich mag auch keine Zahlen

                    btw.

                    if id >= 600 then

                    id = floor (id/100)

                    end if
                    Das geht davon aus, das alle Links von 6 nen wert zwischen 600 und 699 haben
                    Jetzt musst du das nur noch in PHP umwandeln und an die richtige Stelle setzen
                    Für Rechtschreibfehler übernehme ich keine Haftung!

                    Kommentar


                    • #11
                      wie ? kann ich das in php reinbringen *bin newbee*

                      Kommentar


                      • #12
                        Ich auch

                        Hab fast alles von deinem Script abgeschrieben!!! Beispiele für ne If Anweisung gibt es jetzt wirklich zu Hauf!!! Wenn man zuviel in den Hintern gesteckt bekommt, dann wird er irgendwann zu breit
                        Für Rechtschreibfehler übernehme ich keine Haftung!

                        Kommentar


                        • #13
                          Hallo,

                          habe jetzt mal probiert selbst eine if-Then- Anweisung zu schreiben,
                          weis jetzt allerdings nicht ob es an der falschen stelle ist und ob das so richtig ist (warscheinlich nicht), da es ja sonst funktionieren würde.

                          PHP-Code:
                          <div id="naviblock1">
                              <?php
                              
                          // aktuelle id
                              
                          $aktuelle_id = (isset($_GET['id']) ? $_GET['id'] : 0);
                              
                          $links = array(
                                  
                          => 'Punkt5<br><br>',
                                          
                          => 'Punkt6<br><br>',
                                  
                          => 'Punkt7<br><br>',
                                     
                          => 'Punkt8<br><br>',
                                  
                          // ...
                                  
                          );

                              foreach (
                          $links as $link_id => $link_text) {
                                  echo 
                          '<a ';
                                        
                          $laenge strlen($str);
                                        
                          $laenge aktuelle_id;
                                        if (
                          $laenge 2) {
                                            
                          $laenge 100;
                                            
                          floor ($laenge);
                                      }
                                if (
                          $aktuelle_id == $laenge) {
                                      echo 
                          'class="aktiv" ';
                                  }
                                  echo 
                          'href="bauberatung.php?id=' $link_id '">' $link_text '</a>';
                              }
                              
                          ?>
                          </div>

                          Kommentar


                          • #14
                            PHP-Code:
                             if ($laenge 2) {
                                            
                            $laenge =   $laenge 100;
                                              
                            $laenge floor ($laenge);
                                        } 
                            Musst die Werte ja auch zuweisen.
                            Für Rechtschreibfehler übernehme ich keine Haftung!

                            Kommentar


                            • #15
                              funktioniert trotzdem nicht, jetzt zeigt er selbst bei der ursprungs id also 1stellig den punkt nicht "aktiv"

                              für weitere anregungen wäre ich sehr dankbar.

                              werde in der zwischenzeit einen vernünftigen phpeditor suchen.

                              Kommentar

                              Lädt...
                              X