Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: For-Schleife - Zwei Variablen vergleichen

  1. #1
    Johannes M.
    Gast

    Unglücklich For-Schleife - Zwei Variablen vergleichen

    Hallo Zusammen,
    ich fasse mich mal kurz.

    Code:
    $menue_datei = "saved/menue.dat";
    $menue_dateicode = file($menue_datei);
    
    [ Tabelle-Anfang ]
    
    for($zaehler = "0"; $zaehler < count($menue_dateicode); $zaehler++){
     list($menuetitel, $menuepunkt, $menuelink) = explode("|", $menue_dateicode[$zaehler]);
     for($zaehler = "1"; $zaehler < count($menue_dateicode)-1; $zaehler++){
      list($menuetitel_, $menuepunkt_, $menuelink_) = explode("|", $menue_dateicode[$zaehler]);
    
      echo"<a href=\"$menuelink\">$menuepunkt</a>";
    
      if($menuetitel != $menuetitel_){
       [ Tabelle-Anfang ]
      }
     }
    }
    
    [ Tabelle-Ende ]
    So ... das ist mein PHP-Code. Jetzt zeig ich noch den Inhalt von "$menue_datei":

    Menue-Titel 1|Menue-Punkt 1|Menue-Link 1|
    Menue-Titel 1|Menue-Punkt 2|Menue-Link 2|
    Menue-Titel 1|Menue-Punkt 3|Menue-Link 3|
    Menue-Titel 2|Menue-Punkt 4|Menue-Link 4|
    Menue-Titel 2|Menue-Punkt 5|Menue-Link 5|
    Menue-Titel 3|Menue-Punkt 6|Menue-Link 6|
    Menue-Titel 3|Menue-Punkt 7|Menue-Link 7|
    Menue-Titel 3|Menue-Punkt 8|Menue-Link 8|

    Er soll eigt. es so wiedergeben:

    -- Menue-Titel 1

    - Menue-Punkt 1
    - Menue-Punkt 2
    - Menue-Punkt 3


    -- Menue-Titel 2

    - Menue-Punkt 4
    - Menue-Punkt 5


    -- Menue-Titel 3

    - Menue-Punkt 6
    - Menue-Punkt 7
    - Menue-Punkt 8

    Aber er gibt mir was komplett anders wieder.
    Ich verstehe nur nicht wieso er es tut.

    ich habe schon mein Script um geschrieben und in google geguckt,
    sagen wir es kurz ... ich brauche eure hilfe.

    Weiß einer was ich falsch gemacht habe ?
    Wenn ich eine Antwort bekomme, danke ich jetzt schon dafür

    mfg Johannes M.
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!

  2. #2
    Bandit
    Gast

    Standard AW: For-Schleife - Zwei Variablen vergleichen

    1. $zaehler ist doch eine Zahl, also $zaehler = 0 und nicht $zaehler = "0"
    2. Benutze in der zweiten for-Schleife einen anderen Variablennamen.

  3. #3
    Johannes M.
    Gast

    Standard AW: For-Schleife - Zwei Variablen vergleichen

    Hallo bandit600,
    danke erstmal für deine Antwort.

    Zu 1.

    Es ist schon klar das es eine Zahl ist, aber wenn ich mit " oder ohne " schreibe, es verändert sich nichts.

    Zu 2.

    Code:
      $menue_datei = "saved/menue.dat";
      $menue_dateicode = file($menue_datei);
      
      $menue_datei_ = "saved/menue.dat";
      $menue_dateicode_ = file($menue_datei_);
    
    echo"<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"176\">\n";
    
    for($zaehler = "0"; $zaehler < count($menue_dateicode); $zaehler++){
     list($menuetitel, $menuepunkt, $menuelink) = explode("|", $menue_dateicode[$zaehler]);
     for($zaehler_ = "1"; $zaehler_ < count($menue_dateicode_)-1; $zaehler_++){
      list($menuetitel_, $menuepunkt_, $menuelink_) = explode("|", $menue_dateicode_[$zaehler_]);
    
      echo" <tr>\n";
      echo"<td height=\"18\"><a href=\"".$menuelink."\">".$menuepunkt."</a></td>";
      echo" </tr>\n";
    
      if($menuetitel != $menuetitel_){
       echo"</table></td>\n";
       echo"<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"176\">\n";
      }
     }
    }
    
    echo"</table>\n";
    Ich habe es jetzt so ... aber es ist nicht besser.
    Oder meinst du vielleicht etwas anders ?

  4. #4
    Johannes M.
    Gast

    Standard

    Guten Morgen Leute,

    ich habe das Problem gelöst.

    Ich hab nur eine kleine Sache vergessen, was mir im diesen Zeitpunkt noch nicht ganz klar war.

    Der richtige Code:

    PHP-Code:

      $menue_datei 
    "saved/menue.dat"
      
    $menue_dateicode file($menue_datei); 
      
    $menue_dateicode_ file($menue_datei); 


    for(
    $zaehler "0"$zaehler "1"$zaehler++){ 
     list(
    $menuetitel$menuepunkt$menuelink) = explode("|"$menue_dateicode[$zaehler]); 
     echo
    "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"176\">\n"
     echo
    " <tr>\n"
     echo
    "<td height=\"20\"><b>".$menuetitel."</b></td>"
     echo
    " </tr>\n"


    echo
    "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"176\">\n"

    for(
    $zaehler "0"$zaehler "1"$zaehler++){ 
     list(
    $menuetitel$menuepunkt$menuelink) = explode("|"$menue_dateicode[$zaehler]); 
     for(
    $zaehler_ "1"$zaehler_ count($menue_dateicode_); $zaehler_++){ 
      list(
    $menuetitel_$menuepunkt_$menuelink_) = explode("|"$menue_dateicode_[$zaehler_]); 

      if(
    $menuetitel != $menuetitel_){ 
       echo
    "</table>\n"
       echo
    "<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"176\">\n"
       echo
    " <tr>\n"
       echo
    "<td height=\"20\"><b>".$menuetitel_."</b></td>"
       echo
    " </tr>\n"

       
    $menuetitel $menuetitel_// <= das hat gefehlt .... 
       // hier behauptet er ja dann, dass die beiden gleich wären 
       // Und oben, in der IF überprüft er es wieder, ob diese Behauptung stimmt 
      


      echo
    " <tr>\n"
      echo
    "<td height=\"18\"><a href=\"".$menuelink."\">".$menuepunkt."</a></td>"
      echo
    " </tr>\n"

     } 


    echo
    "</table>\n"
    Wo ich jetzt dieses sehe, geht mir echt ein Licht auf. Das hab ich einfach nur vergessen.
    Hab es aber noch gefunden.

    mfg Johannes M.

  5. #5
    Bandit
    Gast

    Standard AW: For-Schleife - Zwei Variablen vergleichen

    Zitat Zitat von Johannes M. Beitrag anzeigen
    Es ist schon klar das es eine Zahl ist, aber wenn ich mit " oder ohne " schreibe, es verändert sich nichts.
    Wenn du eine Zahl willst, dann schreibe eine Zahl und keinen String

    So sieht deine Datei aus?
    Menue-Titel 1|Menue-Punkt 1|Menue-Link 1|
    Menue-Titel 1|Menue-Punkt 2|Menue-Link 2|
    Menue-Titel 1|Menue-Punkt 3|Menue-Link 3|
    Menue-Titel 2|Menue-Punkt 4|Menue-Link 4|
    Menue-Titel 2|Menue-Punkt 5|Menue-Link 5|
    Menue-Titel 3|Menue-Punkt 6|Menue-Link 6|
    Menue-Titel 3|Menue-Punkt 7|Menue-Link 7|
    Menue-Titel 3|Menue-Punkt 8|Menue-Link 8|
    Das ist taktisch unklug aufgebaut!

  6. #6
    Johannes M.
    Gast

    Standard AW: For-Schleife - Zwei Variablen vergleichen

    So sieht deine Datei aus?

    Menue-Titel 1|Menue-Punkt 1|Menue-Link 1|
    Menue-Titel 1|Menue-Punkt 2|Menue-Link 2|
    Menue-Titel 1|Menue-Punkt 3|Menue-Link 3|
    Menue-Titel 2|Menue-Punkt 4|Menue-Link 4|
    Menue-Titel 2|Menue-Punkt 5|Menue-Link 5|
    Menue-Titel 3|Menue-Punkt 6|Menue-Link 6|
    Menue-Titel 3|Menue-Punkt 7|Menue-Link 7|
    Menue-Titel 3|Menue-Punkt 8|Menue-Link 8|

    Das ist taktisch unklug aufgebaut!
    Wie würdest du es denn machen ?

  7. #7
    Bandit
    Gast

    Standard AW: For-Schleife - Zwei Variablen vergleichen

    Entweder
    Code:
    Menue-Titel 1|Menue-Punkt 1|Menue-Link 1|Menue-Punkt 2|Menue-Link 2|Menue-Punkt 3|Menue-Link 3|
    oder gleich als PHP-Datei ablegen und includen
    PHP-Code:
    $menus = array(
                    array (
    'title' => "Menuetitel 1",
                           
    'submenu' => array ('Menu-Punkt' => 'Menu-Link',
                                               
    'Menu-Punkt' => 'Menu-Link',
                                               
    'Menu-Punkt' => 'Menu-Link')
                          ),
                          
                    array (
    'title' => "Menuetitel 2",
                           
    'submenu' => array ('Menu-Punkt' => 'Menu-Link',
                                               
    'Menu-Punkt' => 'Menu-Link',
                                               
    'Menu-Punkt' => 'Menu-Link')
                          ),
                          
                    array (
    'title' => "Menuetitel 3",
                           
    'submenu' => array ('Menu-Punkt' => 'Menu-Link',
                                               
    'Menu-Punkt' => 'Menu-Link',
                                               
    'Menu-Punkt' => 'Menu-Link')
                          )
                 ); 
    Ausgabe:
    PHP-Code:
    foreach ($menus as $menu)
    {
        echo 
    $menu['title'] . "<br>\n";
          
        foreach (
    $menu['submenu'] as $submenu => $link)
        {
           echo 
    "<a href='$link'>$submenu</a><br>\n";
        }

    Geändert von bandit600 (18.02.2009 um 12:13 Uhr)

  8. #8
    Johannes M
    Gast

    Standard AW: For-Schleife - Zwei Variablen vergleichen

    Oh...

    Das ist mir etwas zu aufwendig.
    Ist meine Methode nicht etwas einfacher ?

    So muss man nur alles in deine datei schreiben und fertig.

    mfg Johannes M.

  9. #9
    Bandit
    Gast

    Standard AW: For-Schleife - Zwei Variablen vergleichen

    Zitat Zitat von Johannes M Beitrag anzeigen
    Das ist mir etwas zu aufwendig.
    Was ist daran aufwändig?
    Zitat Zitat von Johannes M Beitrag anzeigen
    Ist meine Methode nicht etwas einfacher ?
    Nö, aber was heißt schon einfacher?
    Zitat Zitat von Johannes M Beitrag anzeigen
    So muss man nur alles in deine datei schreiben und fertig.
    Du hast doch jetzt auch zwei Dateien. Die menue.dat und das Script. Bei mir ist es jetzt menu.php. die ich per include in das Script einbinde. Und der Scriptteil zur Ausgabe ist deutlich lesbarer als dein Gewurschtel.

  10. #10
    Johannes M
    Gast

    Standard AW: For-Schleife - Zwei Variablen vergleichen

    Hi bandit600,
    danke nochmal für deine schnelle Antwort.

    Also wegen dem zwei Methoden:

    Also mir ist meine Methode einfacher und für mich unaufwendiger.
    Es kann ja sein, dass deine Methode für dich einfacher ist.


    Gibt es noch einen anderen unterschied auser die Methode, vielleicht die Sicherheit vor Hacker ?

Ähnliche Themen

  1. zwei pages zum vergleichen
    Von synaptic im Forum Eure Homepages und Foren - Vorstellung und Bewertungen
    Antworten: 6
    Letzter Beitrag: 11.07.2007, 12:06
  2. Wie kann ich zwei Daten vergleichen?
    Von neko im Forum Computer - Internet Forum
    Antworten: 3
    Letzter Beitrag: 29.09.2006, 16:19
  3. zwei Passwörter vergleichen (eins in MD5)
    Von Knüps im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 7
    Letzter Beitrag: 28.09.2006, 17:30
  4. PHP: Variablen übergeben oder globale Variablen
    Von Philip im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 1
    Letzter Beitrag: 15.04.2006, 22:38
  5. variablen vergleichen
    Von Steffi im Forum PHP Forum - Apache - CGI - Perl - JavaScript und Co.
    Antworten: 3
    Letzter Beitrag: 27.11.2005, 13:40

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •