2010-08-04 11 views
0

Je fais une pause de Project Euler pour apprendre du PHP/HTML pour les coups de pied et les fous rires, et j'ai trouvé une page d'exercices simples. Donc, sur mon 'site', je veux avoir une liste ordonnée de liens vers les pages de chacun des exercices, mais j'ai décidé de le faire de manière dynamique plutôt que de coder en dur chaque article comme je fais l'exercice. Malheureusement, la page qui devrait contenir la liste ne s'affiche pas du tout!Mixer des listes ordonnées, des liens et des variables en PHP/HTML

En supposant que j'ai des fichiers sur mon système avec les noms "exawk # .php", quoi d'autre pourrait être faux avec ce code? Désolé si c'est bâclé ou horrible, c'est littéralement mon premier jour de programmation web.

<html> 
    <head> 

    <title> Awaken's Exercises </title> 

    </head> 

    <body> 

    <h1>This page contains "Awaken's Exercises" from 
    <a href="http://forums.digitalpoint.com/showthread.php?t=642480"> 
    this page</a>.</h1> 

    <ol> 
    <?php 
     $arex = glob("exawk*.php"); // $arex contains 
           //an array of matching files 
     $numex = 0; 
     $i = 0; 
     foreach($arex) 
     { 
     $numex++; 
     } 

     while($numex >= 0) 
     { 
     echo "<li><a href=" .$arex[$i]. 
      ">Problem #" .$numex. ".</a></li>"; 
     $numex--; 
     $i++; 
     } 

    ?> 
    </ol> 

    </body> 

</html> 

Répondre

1

Activer display_errors dans php.ini: foreach($arex) est une erreur de syntaxe (manquante .. as $varname).

Depuis la ligne de commande, vous pouvez le vérifier avec php -l /path/to/your/file.php.

En outre, cet exemple:

//an array of matching files 
    $numex = 0; 
    foreach($arex as $youdontdoanythingwiththis) 
    { 
    $numex++; 
    } 

Peut-être:

$numex = count($arex); 

mieux la chose:

while($numex >= 0) 
{ ...etc 

Peut-être:

$num = 1; 
foreach($arex as $file){ 
    echo '<li><a href="'.$file.'">Problem #'.$num.'</a></li>'; 
    $num++; 
} 
+0

Ahh, il y a une fonction de longueur pour les tableaux! Je le cherchais sous un nom différent. Je vous remercie! – Andy

Questions connexes