Bouton qui change l'etat d'une place
Imen338
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
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
- L'état actuel de votre sim ne requiert aucune activation ✓ - Forum Mobile
- Peut on aller en fosse avec une place assise - Forum Loisirs / Divertissements
- L'état actuel de votre carte sim ne requiert aucune activation - Forum Free mobile
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>