Creer un bouton qui execute des requetes SQL

Résolu/Fermé
Mouslim02 Messages postés 320 Date d'inscription lundi 28 juillet 2014 Statut Membre Dernière intervention 4 juin 2015 - 24 août 2014 à 19:39
Mouslim02 Messages postés 320 Date d'inscription lundi 28 juillet 2014 Statut Membre Dernière intervention 4 juin 2015 - 27 août 2014 à 13:28
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 :)
A voir également:

3 réponses

Utilisateur anonyme
24 août 2014 à 22:53
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
Mouslim02 Messages postés 320 Date d'inscription lundi 28 juillet 2014 Statut Membre Dernière intervention 4 juin 2015 11
25 août 2014 à 00:58
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
0
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|[׺°"~'"°º×
0
Mouslim02 Messages postés 320 Date d'inscription lundi 28 juillet 2014 Statut Membre Dernière intervention 4 juin 2015 11
25 août 2014 à 11:31
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 :)
0
Mouslim02 Messages postés 320 Date d'inscription lundi 28 juillet 2014 Statut Membre Dernière intervention 4 juin 2015 11
26 août 2014 à 23:12
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
0
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|[׺°"~'"°º×
0
Mouslim02 Messages postés 320 Date d'inscription lundi 28 juillet 2014 Statut Membre Dernière intervention 4 juin 2015 11
27 août 2014 à 13:28
yo,
oui le $_GET n'est pas tres pratique j'opte pour les sessions
thanks :)
0