Creer un bouton qui execute des requetes SQL [Résolu/Fermé]

Signaler
Messages postés
318
Date d'inscription
lundi 28 juillet 2014
Statut
Membre
Dernière intervention
4 juin 2015
-
Messages postés
318
Date d'inscription
lundi 28 juillet 2014
Statut
Membre
Dernière intervention
4 juin 2015
-
salut a tous membre de CCM :p
je voudrais faire des boutons qui execute des requetes SQL
Pour que vous puissiez mieu comprendre ma question je vous donne un exemple
je veut creer une liste de personnages resident evil dans une table sql
maintenant je les affiche sur la page en php avec SELECT * FROM resi
la page devrait ressembler à cela
_Chris redfield
_Jill valentine
_Barry burton
_Rebecca chambers
_...

je voudrais lors de l'aparition de la liste ajouter des boutons qui permettent de modifier ou de supprimer les personnages a partir de la page
je ne connais pas le javascript, donc s'il faut du javascript est ce possible d'ecrire une fonction javascript qui execute une requete SQL lors d'un clique ?
si c'est le cas merci de me donner la fonction et de m'indiquer ou ajouter la requete SQL
sinon si vous connaissez d'autre methodes je suis prenant
je voudrais aussi mettre un bouton en png (un X rouge pour indiquer la suppression) est ce possible de le lier avec la fonction javascript ?
tout cela dans le but de creer un bon espace membre
merci a tous d'avance :)

3 réponses


Salut, je pense que c'est plus php qu'il te faut. Tu peux le faire en ajax pour plus de souplesse mais c'est pas obligé.

Tu fais ta requete sql et tu fetch dans une boucle ou tu affiche toutes les informations que tu souhaite. Et dans cette boucle tu en profite pour mettre l'image de la croix qui supprime le personnage dans un lien.

exemple :

<body>

		<?php
		foreach ($model -> getList() as $persos) {
			echo "<hr /><div><p>
			<a href='index.php?delete=" . htmlspecialchars($persos->id()) . "'><img alt='' src='./img/croix.png' /></a>";
			echo "<span>Nom : " . htmlspecialchars($persos -> nom()) . "</span><br />";
			echo "<span>Sexe : " . htmlspecialchars($persos -> sexe()) . "</span><br />";
			echo "<span>Force : " . htmlspecialchars($persos -> force()) . "</span><br /></p></div><hr />";
		}
		?>
	</body>



c'est ici : <a href='index.php?delete=" . htmlspecialchars($persos->id()) . "'><img alt='' src='./img/croix.png' /></a>

en fait tu met le lien du page php et tu passe en GET identifiant unique de ton personnage. Il ne restera plus qu'a supprimer depuis cette identifiant.

bonne soirée
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60769 internautes nous ont dit merci ce mois-ci

Messages postés
318
Date d'inscription
lundi 28 juillet 2014
Statut
Membre
Dernière intervention
4 juin 2015
28
bonjour lobotoFix
merci bcp pour votre aide mais désolé de vous decevoir je n'ai pas compris :$
j'ai essayé de mettre le code des balises du lien mais je reçoit des messages d'erreurs
pour vous aider à comprendre mon probleme voila le code php de la page
<?php
try
{
$bdd = new PDO ('mysql:host=localhost;dbname=test', 'root', '');
}
catch (Exception $e)
{
die ('erreur : ' . $e->getMessage());
}
$reponse = $bdd->query('SELECT * FROM perso');
while ($donnees = $reponse->fetch())
{
echo 'id = ' . $donnees['id'] . ', ' . $donnees['nom'] . ' ' . $donnees['prenom'] . '<br/>' ;

}

?>

que puis-je rajouter pour obtenir le bouton de supression ?
j'ai creer le bouton png (bouton.png sans sous-dossier)
la table sql contient id, nom, prenom ,...
merci lobotoFix
Salut, je vois que utilise PDO pour te connecter (c'est très bien car cela permet de faire des requetes préparée).

exemple index.php :

<body>
  <?php
  try {
   $bdd = new PDO('mysql:host=localhost;dbname=test, 'root', '');
  } catch (Exception $e) {
   die('erreur : ' . $e -> getMessage());
  }
  $reponse = $bdd -> query('SELECT * FROM perso ORDER BY nom ASC');
  while ($donnees = $reponse -> fetch()) {
   echo "<hr /><div><a href='delete.php?id=" . $donnees['id'] . "'><img alt='bouton suppression' src='bouton.png' style='float:right;' /></a><p>";
   echo "Nom : " . $donnees['nom'] . "<br />";
   echo "Prenom : " . $donnees['prenom'] . "<br />";
   echo "</p></div><hr />";
  }
  ?>
 </body>


et fichier de suppression delete.php

<?php
try {
   $bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
  } catch (Exception $e) {
   die('erreur : ' . $e -> getMessage());
  }
if (isset($_GET['id']) && !empty($_GET['id'])) {
 $id = $_GET['id'];
 $sql = "DELETE FROM perso WHERE id = :id";
 $q = array('id' => $id);
 $req = $bdd -> prepare($sql);
 $req -> execute($q);
 header('Location:index.php');
}
?>



voila, je te conseil d'utiliser les include et require un maximum...

En effet; lorsque tu aura 10 - 20 50 -100 fichiers tu sera content d'en modifier qu'un si besoin plutôt que tous.

Bonne journée
׺°"~'"°º×]|I{*------» LÖBÖTÖ «------*}I|[׺°"~'"°º×
Messages postés
318
Date d'inscription
lundi 28 juillet 2014
Statut
Membre
Dernière intervention
4 juin 2015
28
Salut lobotoFix
ton script est super il marche a merveille
pour les include et require je suis de ton avis j'en aurais besoin
merci infiniment :)
Messages postés
318
Date d'inscription
lundi 28 juillet 2014
Statut
Membre
Dernière intervention
4 juin 2015
28
Salut lobotoFix
le script marche super je l'utilise tout le temps
maisntenant j'ai besoin d'obtenir une reponse
quand on clique sur le bouton pour suprimer, le personnage est suprimé et ensuite avec header('Location:index.php') je suis redirigé vers la page pricipale
maintenant si c'est possible je souhaiterais etre redirigé avec la page principale avec un message qui dit "le personnage a bien été suprimé"
j'ai essaiyé en mettant des header('Location:index.php?reponse=...')
mais le seul resultat que j'ai c'est un message d'erreur
pouvez vous m'aider ?
merci
salut,

l'idée du avec header est bonne. Exemple :

header("Location: index.php?response=Votre bonhomme est bien supprimé !");



et dans ton fichier index.php

if(isset($_GET['response'])) { echo htmlspecialchars($_GET['response']); }


tu peux passer par des sessions si tu ne souhaite de message dans l'url
https://openclassrooms.com/fr/courses/918836-concevez-votre-site-web-avec-php-et-mysql/913348-variables-superglobales

bonne journée
׺°"~'"°º×]|I{*------» LÖBÖTÖ «------*}I|[׺°"~'"°º×
Messages postés
318
Date d'inscription
lundi 28 juillet 2014
Statut
Membre
Dernière intervention
4 juin 2015
28
yo,
oui le $_GET n'est pas tres pratique j'opte pour les sessions
thanks :)