0
votes

Affichage des images à l'aide de la boucle sur PHP

J'essaie d'afficher mes images dans A pour boucle dans la balise de formulaire à l'aide de PHP, mais cela ne semble pas fonctionner. J'ai aussi essayé de faire une déclaration de retour mais rien n'apparaît toujours. xxx


6 commentaires

Vous n'avez pas Tags sur votre code PHP. Vous écrivez deux fois l'extension JPG et vous appelez deux fois la fonction PHP Echo. Je pense que vous avez besoin d'ajouter Si vous souhaitez afficher une case à cocher dans votre formulaire.


Bonjour, mon ami. Votre extrait de code n'est pas valide, car vous ne terminez pas votre bloc PHP après la fonction. Est-ce votre vrai code?


Utilisez l'approche de Harish. Foreach vaut mieux que dans cette situation, car vous n'avez pas besoin d'une condition pour la boucle (plus simple), vous n'avez pas besoin d'utiliser pour la variable de comptoir.


@threeside Oui, je vais ajouter mes cases à cocher après que je puisse afficher mes images


@gview Soryy mon code est un peu en désordre. La matrice de données et la fonction appartiennent ensemble dans un fichier .php et les codes appartiennent à un autre fichier.


En fait, je me rétracte cela. Le problème évident est que votre fonction DisplayCheckboxes n'a aucun paramètre qui lui est transmis. Vous avez besoin de passer des données $ dans un paramètre. Mais encore une fois, ce n'est pas une préoccupation en utilisant la méthode que j'ai suggérée.


5 Réponses :


2
votes

Peut-être comme ceci: xxx


0 commentaires

1
votes
function displayCheckboxes($img_array){
  foreach($img_array as $img) {
    echo "<img src='".$img."'>'" . "<br>";
  }
}
andecho displayCheckboxes($data);There is several errors with your function :
- $data is not inside the function
- .jpg is already in the image name.

1 commentaires

Je vous ai donné +1 pour être le premier à voir le problème avec le code d'origine était le paramètre manquant. Avec cela, il n'y avait aucune raison de modifier son nom du paramètre de $ de données.



1
votes

Cela devrait fonctionner, appelez la fonction avec $ données

$data = array("images/architecture-57e8d34a48_640.jpg",
"images/gateway-arch-57e2d64548_640.jpg",
"images/horseshoe-bend-57e6d6434f_640.jpg",
"images/lake-irene-57e6d24a4d_640.jpg",
"images/silhouette-57e8d5444e_640.jpg");

/* Write your displayCheckboxes() function here */
displayCheckboxes($data);

function displayCheckboxes($data){
  for ($i=0; $i<count($data); $i++) {
  echo "<img src='".$data[$i]."'.jpg>'" . "<br>";
  }
}
?>


0 commentaires

1
votes
<?php

$data = array(
    "images/architecture-57e8d34a48_640.jpg",
    "images/gateway-arch-57e2d64548_640.jpg",
    "images/horseshoe-bend-57e6d6434f_640.jpg",
    "images/lake-irene-57e6d24a4d_640.jpg",
    "images/silhouette-57e8d5444e_640.jpg"
);

?>

<body>
    <main id ="main">
        <form id="pics" action="process.php" method="get">
            <label>Name: </label>
            <?php foreach($data as $image): ?>
                <img src="<?= $image; ?>"></br>
            <?php endforeach; ?>
        </form>
    </main>
</body>
This is an alternative way. Looks much cleaner and readable. And I actually don't think we need a function for printing HTML.I would say NEVER put HTML inside PHP echo unless it is compulsory. The reason I am stating this is if you put HTML inside PHP, the code becomes easily messy. It becomes hard to understand the logic unless you are the one who coded. Particularly, if you are working with some designers or in future, they will have a hard time making even little changes. Even I think using <?= than <?php echo is better. 

3 commentaires

Je suis d'accord avec l'utilisation de pourach. J'aime aussi l'utilisation de la syntaxe alternative PHP pour que la présentation soit séparée de la logique. C'est la même raison que les gens utilisent des classes de modèle comme Smarty, Twig et la lame.


@gview Je suis d'accord avec vous.


Merci @harishst. et @gview!



1
votes

Vous essayez de donner une extension ".jpg" des images que vous avez précédemment données dans le chemin des images dans le tableau "$ Data".

pour l'exemple: < BR> Nous allons prendre le premier élément du tableau $ données avec index = 0 "$ data [0]" (images / architecture-57e8d34a48_640.jpg):

en php ressemble à -> echo " ". "
"; , mais en html ressemble à ->

vous devez supprimer l'extension ". JPG " de votre écho à ressembler à: xxx


1 commentaires

Désolé, j'ai oublié de supprimer cette partie lorsque j'ai posté la question. Merci