J'ai encore besoin de votre aides de vos conseils.
Je souhaite faire une liste pour choisir un avatar.
J'utilise l'architecture MVC.
Sur mon serveur j'ai un dossier avatar ou se trouve les images.
voici mon modele :
Code : Tout sélectionner
<?php
require_once(dirname(__FILE__).'/../Public/Utiles/database.php');
class ChoixAvatars
{
private $id;
private $url;
private $pdo;
// Methode magique pour hydraté l'objet
public function __construct($id = NULL, $url = NULL)
{
$this->id = $id;
$this->url = $url;
$this->pdo = Database::getInstance();
}
function __set($property, $value)
{
$this->$property = $value;
}
// Requête SQL pour récupérer les données de la table
public function voirAvatars()
{
$sql = 'SELECT * FROM avatars';
$req = $this->pdo->prepare($sql);
if ($req->execute()) {
$results = $req->fetchAll();
return $results;
} else {
echo 'Une erreur est survenue lors de l\'exécution de la requête.';
return false;
}
}
}Code : Tout sélectionner
<?php
require_once(dirname(__FILE__).'/../Public/Utiles/regex.php');
// Inclure le modele
require_once(dirname(__FILE__).'/../Modeles/ChoixAvatars.php');
//Démarrer une nouvelle session
session_start();
$code = trim(filter_input(INPUT_GET, 'code', FILTER_SANITIZE_NUMBER_INT));
// Appel de la méthode voirTable pour récupérer les données de la table
$choixAvatar = new ChoixAvatars();
$results = $choixAvatar->voirAvatars();
/// VOIR CONTROLE DES CHAMPS
//On verifie que le formulaire est envoyé
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$avatars = trim(filter_input(INPUT_POST, 'avatars', FILTER_SANITIZE_NUMBER_INT));
var_dump($avatars);
exit;
}
include(dirname(__FILE__).'/../Vues/connexionInscription.php');
Code : Tout sélectionner
<!-- Avatars -->
<div class="col-8 input-group mb-3">
<div class="input-group-text">
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-person-bounding-box" viewBox="0 0 16 16">
<path d="M1.5 1a.5.5 0 0 0-.5.5v3a.5.5 0 0 1-1 0v-3A1.5 1.5 0 0 1 1.5 0h3a.5.5 0 0 1 0 1h-3zM11 .5a.5.5 0 0 1 .5-.5h3A1.5 1.5 0 0 1 16 1.5v3a.5.5 0 0 1-1 0v-3a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 1-.5-.5zM.5 11a.5.5 0 0 1 .5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 1 0 1h-3A1.5 1.5 0 0 1 0 14.5v-3a.5.5 0 0 1 .5-.5zm15 0a.5.5 0 0 1 .5.5v3a1.5 1.5 0 0 1-1.5 1.5h-3a.5.5 0 0 1 0-1h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 1 .5-.5z"/>
<path d="M3 14s-1 0-1-1 1-4 6-4 6 3 6 4-1 1-1 1H3zm8-9a3 3 0 1 1-6 0 3 3 0 0 1 6 0z"/>
</svg>
</div>
<select class="form-control" id="avatars" name="avatars">
<option value="custom">Sélectionner un avatar (option)</option>
<?php
// Vérifier si les résultats sont un tableau d'objets
if (is_array($results)) {
// Boucle pour parcourir les résultats de la requête
foreach ($results as $result) {
// Utiliser l'URL de l'image comme valeur et comme texte de l'option
echo '<option value="' . $result->url . '" data-image="' . $result->url . '"><img src="' . $result->url . '" alt="Avatar" class="avatar-image"> ' . $result->url . '</option>';
}
}
?>
</select>
</div>
<!-- Fin avatars -->
<div class="avatar-select">
<span class="avatar-label">Sélectionner un avatar :</span>
<div class="avatar-dropdown">
<img class="avatar-image" src="/../Public/Avatars/1.png" alt="Avatar 1">
<img class="avatar-image" src="/../Public/Avatars/2.png" alt="Avatar 2">
<img class="avatar-image" src="/../Public/Avatars/3.png" alt="Avatar 3">
<img class="avatar-image" src="/../Public/Avatars/4.png" alt="Avatar 4">
<img class="avatar-image" src="/../Public/Avatars/5.png" alt="Avatar 5">
<img class="avatar-image" src="/../Public/Avatars/6.png" alt="Avatar 6">
<img class="avatar-image" src="/../Public/Avatars/7.png" alt="Avatar 7">
</div>
</div>Merci par avances pour vos conseils et votre aide.
Bon week end.
@+ Filou