Bouton qui change l'etat d'une place
Imen338
Messages postés
3
Statut
Membre
-
jordane45 Messages postés 40050 Statut Modérateur -
jordane45 Messages postés 40050 Statut Modérateur -
salut tout le mode j'ai utiliser ce code pour faire un bouton qui change l'etat d'une place qui est 'disponible' donc quand je cliquer sur le bouton reserver l'etat sera 'reservé' mais sa ne marche pas je sais pas pourquoi!! aide moi svp
le code html:
----------------------------------------------------------------------------------------------------------------
le code html:
----------------------------------------------------------------------------------------------------------------
<body>
<br/>
<h1>try2 : </h1>
<table>
<tr>
<td>id:</td>
<td></td>
</tr>
<?php while($m = $try2->fetch()) { ?>
<tr>
<td><?= $m['id'] ?></td>
<td><?php if($m['etat'] == 'disponible') { ?><a href="try2.php?type=try2&id=<?= $m['id'] ?>">reserver</a><?php } ?></td>
</tr>
<?php } ?>
</table>
<br/><br/>
</body>
-----------------------------------------------------------------------------------------------------------------
le code php:
----------------------------------------------------------------
<?php
$bdd = new PDO('mysql:host=127.0.0.1;dbname=parc;charset=utf8', 'root', '');
if(isset($_GET['type']) AND $_GET['type'] == 'try2') {
if(isset($_GET['etat']) AND !empty($_GET['etat'])) {
$etat =_GET['etat'];
$req = $bdd->prepare('UPDATE try2 SET etat == reserve WHERE id = ?;');
$req->execute(array($etat));
}
}
$try2 = $bdd->query('SELECT * FROM try2 ORDER BY id ASC');
?>
A voir également:
- Bouton qui change l'etat d'une place
- Change dns - Guide
- Remettre pc etat usine - Guide
- Bouton shift pc ✓ - Forum Jeux vidéo
- L'état actuel de votre sim ne requiert aucune activation ✓ - Forum Mobile
- Peut on aller en fosse avec une place assise - Forum Loisirs / Divertissements
2 réponses
Bonjour,
Plusieurs erreurs dans ton code php et dans ta requête SQL
Pour éviter cela, à l'avenir, merci de lire et d'appliquer le contenu de ces deux liens :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Voici ton code corrigé :
Plusieurs erreurs dans ton code php et dans ta requête SQL
Pour éviter cela, à l'avenir, merci de lire et d'appliquer le contenu de ces deux liens :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
Voici ton code corrigé :
<?php
//Affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
//connexion à la bdd
try{
$bdd = new PDO('mysql:host=127.0.0.1;dbname=parc;charset=utf8', 'root', '');
// Activation des erreurs PDO
$bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// mode de fetch par défaut : FETCH_ASSOC / FETCH_OBJ / FETCH_BOTH
$bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
} catch(PDOException $e) {
die('Erreur : ' . $e->getMessage());
}
//récupération PROPRE des variables AVANT de les utiliser
// nb: le !empty fait déjà un ISSET ... donc pas besoin de tester les deux !
$type = !empty($_GET['type']) ? $_GET['type']: NULL;
$etat = !empty($_GET['etat']) ? $_GET['etat']: NULL;
$id = !empty($_GET['id']) ? $_GET['id']: NULL;
if($type=='try2' && $etat && $id){
$sql = "UPDATE try2 SET etat = ? WHERE id = ?";
$datas = array($etat,$id);
try{
$req = $bdd->prepare($sql);
$req->execute($datas);
}catch(Exception $e){
echo "Erreur " . $e->getMessage();
}
}
$sql = "SELECT * FROM try2 ORDER BY id ASC";
try{
$req = $bdd->query($sql);
}catch(Exception $e){
echo "Erreur " . $e->getMessage();
}
de la base j'ai utilise ce code :
est ca fonctionne correctement mais j'ais pas compris ton code...
<?php
$bdd = new PDO('mysql:host=127.0.0.1;dbname=parc;charset=utf8', 'root', '');
if(isset($_GET['type']) AND $_GET['type'] == 'try') {
if(isset($_GET['confirme']) AND !empty($_GET['confirme'])) {
$confirme = (int) $_GET['confirme'];
$req = $bdd->prepare('UPDATE try SET confirme = 1 WHERE id = ?');
$req->execute(array($confirme));
}
if(isset($_GET['supprime']) AND !empty($_GET['supprime'])) {
$supprime = (int) $_GET['supprime'];
$req = $bdd->prepare('DELETE FROM try WHERE id = ?');
$req->execute(array($supprime));
}
}
?>
<body>
<br/>
<h1>liste des client : </h1>
<table>
<tr>
<td>id:</td>
<td>pseudo:</td>
<td></td>
<td></td>
</tr>
<?php while($m = $try->fetch()) { ?>
<tr>
<td><?= $m['id'] ?></td>
<td><?= $m['pseudo'] ?></td>
<td><?php if($m['confirme'] == 0) { ?> - <a href="try.php?type=try&confirme=<?= $m['id'] ?>">Confirmer</a><?php } ?></td>
<td><a href="try.php?type=try&supprime=<?= $m['id'] ?>">Supprimer</a></td>
</tr>
<?php } ?>
</table>
</body>
est ca fonctionne correctement mais j'ais pas compris ton code...
<?php
$bdd = new PDO('mysql:host=127.0.0.1;dbname=parc;charset=utf8', 'root', '');
if(isset($_GET['type']) AND $_GET['type'] == 'try') {
if(isset($_GET['confirme']) AND !empty($_GET['confirme'])) {
$confirme = (int) $_GET['confirme'];
$req = $bdd->prepare('UPDATE try SET confirme = 1 WHERE id = ?');
$req->execute(array($confirme));
}
if(isset($_GET['supprime']) AND !empty($_GET['supprime'])) {
$supprime = (int) $_GET['supprime'];
$req = $bdd->prepare('DELETE FROM try WHERE id = ?');
$req->execute(array($supprime));
}
}
?>
<body>
<br/>
<h1>liste des client : </h1>
<table>
<tr>
<td>id:</td>
<td>pseudo:</td>
<td></td>
<td></td>
</tr>
<?php while($m = $try->fetch()) { ?>
<tr>
<td><?= $m['id'] ?></td>
<td><?= $m['pseudo'] ?></td>
<td><?php if($m['confirme'] == 0) { ?> - <a href="try.php?type=try&confirme=<?= $m['id'] ?>">Confirmer</a><?php } ?></td>
<td><a href="try.php?type=try&supprime=<?= $m['id'] ?>">Supprimer</a></td>
</tr>
<?php } ?>
</table>
</body>