0 votes

Développer une liste de liens à partir d'une requête

J'ai le code suivant, qui récupère un nom de fichier dans une table et crée un lien vers celui-ci. Ce que je veux faire, c'est faire en sorte que je puisse me référer à $filesList plus tard, et qu'il contienne un seul bloc de code html avec des liens vers autant de fichiers qu'il y a de fichiers.

Je pensais que l'ajout à la variable précédente serait le moyen le plus simple de le faire, mais cela produit en fait un code absurde : 0test.sh">test.sh

if ($getFiles = $con->prepare($filesQuery)) {
    $getFiles->bind_param("s", $pk);
    $getFiles->execute();
    $getFiles->bind_result($FILENAME);
    $files = array();

    while ($getFiles->fetch()) {
         $filename = array(
         'FILENAME' => $FILENAME,
          );
           $files[] = $filename;
        }
}
$filesList = '';
foreach ($files as $filenames)
    {

    $filesList = $filesList + '<p><a href="./files/'. $filenames['FILENAME'] .'">'. $filenames['FILENAME'] .'</a>' . "\n"; 
  };

Je suis sûr que je n'ai pas besoin d'avoir un tableau pour ce que je veux faire ?

1voto

Petrunov Points 471

Vous devez changer ce code en :

$filesList = '';
foreach ($files as $filenames)
{
    $filesList .= '<p><a href="./files/'. $filenames['FILENAME'] .'">'. $filenames['FILENAME'] ."</a></p>\n"; 
};

Est-ce que ça aide ? Vous ne pouvez pas concaténer avec + .

1voto

Kim L Points 2617

Une chose que je remarque immédiatement est que vous avez $filesList = $filesList + ... Utilisez un point et non un signe +.

Essayez ceci

$filesList = $filesList . "<p><a href=\"./files/{$filenames['FILENAME']}\">{$filenames['FILENAME']}</a>";

-1voto

Avez-vous essayé quelque chose comme ça ? (Code non testé, car je ne suis pas à la maison)

if ($getFiles = $con->prepare($filesQuery)) {
$getFiles->bind_param("s", $pk);
$getFiles->execute();
$getFiles->bind_result($FILENAME);
$files = array();

while ($getFiles->fetch()) {
   $filesList = $filesList + '<p><a href="./files/'. $FILENAME .'">'.   $FILENAME .'</a>' . "\n";    
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X