Requète UPDATE SQL boléen
Résolu
LaChaux78
Messages postés
583
Date d'inscription
Statut
Membre
Dernière intervention
-
LaChaux78 Messages postés 583 Date d'inscription Statut Membre Dernière intervention -
LaChaux78 Messages postés 583 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je souhaiterai modifier un boléen suite à une condition, je m'explique
Si une date existe et est different de null et est plus grand que la date du jour alors j'exécute ma requète UPDATE pour passer mon boléen à TRUE.
Par défault si une date existe $publier est à false. Le champ "inscrip" est de type DATE.
J'ai essayé de faire quelque chose mais je ne suis pas certains je ne voudrais pas semer le bazar dans ma BDD alors avant d'exécuter cette requète, je sollicite votre aide, merci.
Je souhaiterai modifier un boléen suite à une condition, je m'explique
Si une date existe et est different de null et est plus grand que la date du jour alors j'exécute ma requète UPDATE pour passer mon boléen à TRUE.
Par défault si une date existe $publier est à false. Le champ "inscrip" est de type DATE.
J'ai essayé de faire quelque chose mais je ne suis pas certains je ne voudrais pas semer le bazar dans ma BDD alors avant d'exécuter cette requète, je sollicite votre aide, merci.
$today = date("d/m/Y"); // Date du jour $idmanif = !empty($_REQUEST['idmanif']) ? $_REQUEST['idmanif'] : NULL; $publier = isset($_POST['publier']) ? $_POST['publier'] : '';//Case à cocher $inscrip = isset($_POST['inscrip']) ? dw2m($_POST['inscrip']) : '';//Date d'inscription if (isset($inscrip) AND ($inscrip != NULL) AND ($inscrip > $today)) { $sql = "UPDATE cdc_manifestations SET publier = TRUE WHERE idmanif = '$idmanif'"; $requete = $bdd->prepare($sql); $requete->execute(); }
A voir également:
- Requète UPDATE SQL boléen
- Windows update bloqué - Guide
- Winget update - Guide
- Asus live update - Télécharger - Utilitaires
- Wsus offline update - Télécharger - Systèmes d'exploitation
- Nettoyage windows update - Guide
5 réponses
Bonjour,
En fait je ne suis pas certain de la requète pour modifier le boléen afin de le passer à TRUE.
Merci
En fait je ne suis pas certain de la requète pour modifier le boléen afin de le passer à TRUE.
Merci
Donc la requête c'est UNIQUEMENT cette ligne de code
Le code PHP ne sert à rien dans ce cas...... (surtout que tu es dans le forum SQL .... seul le SQL nous interesse....)
De quel "type" est ton champ "publier" ? Un Bit ? Un tinyint ? un varchar ? autre ??
De préférence, un simple Tinyint suffit.
Et dans ce cas les valeurs seront 1 ou 0 (1 pour TRUE, 0 pour False )
UPDATE cdc_manifestations SET publier = TRUE WHERE idmanif = '$idmanif'
Le code PHP ne sert à rien dans ce cas...... (surtout que tu es dans le forum SQL .... seul le SQL nous interesse....)
De quel "type" est ton champ "publier" ? Un Bit ? Un tinyint ? un varchar ? autre ??
De préférence, un simple Tinyint suffit.
Et dans ce cas les valeurs seront 1 ou 0 (1 pour TRUE, 0 pour False )
Au passage, concernant ton code php puisque tu l'as posté ....
Où sont les blocs TRY/CATCH sensés entourés ta requête ?
Je t'invite à appliquer ceci : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
Où sont les blocs TRY/CATCH sensés entourés ta requête ?
Je t'invite à appliquer ceci : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs
mon champ publier est de type "tinyint" Par contre mon bloc TRY/CATCH est dans mon fichier init.php.Pourquoi tu dis que mon code PHP ne sert à rien?
Moi je voulais simplement qu'on me donne un avis sur ma requète, mais quand je mets le maximum d'infos on me dit ça sert à rien et quand je ne met pas tout on me dit de mettre tout son code, vous êtes un peu compliqué vous trouvé pas??
Moi je voulais simplement qu'on me donne un avis sur ma requète, mais quand je mets le maximum d'infos on me dit ça sert à rien et quand je ne met pas tout on me dit de mettre tout son code, vous êtes un peu compliqué vous trouvé pas??
Reprenons dans l'ordre :
Donc tu n'as pas lu le lien que je t'ai donné......
Il ne suffit pas d'en mettre un autour de la connexion.... il faut AUSSI en mettre AUTOUR de CHAQUE REQUETE.
Ensuite:
Par ce que ta question concerne UNIQUEMENT ta REQUETE SQL ... et que tu es dans le forum SQL.
Donc ... NUMERIQUE.
Tu n'y mets pas du TRUE/FALSE mais des nombres. En l'occurence ici, 1 ou 0.
De plus, lorsque tu as un doute sur une requête , tu commences par en faire un ECHO histoire de voir ce que ton code php retourne REELEMENT comme requête, puis tu la testes DIRECTEMENT dans ta BDD.
Encore un peu de lecture pour toi.
Cette fois j'espère que tu liras tout ....
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
.
mon bloc TRY/CATCH est dans mon fichier init.php
Donc tu n'as pas lu le lien que je t'ai donné......
Il ne suffit pas d'en mettre un autour de la connexion.... il faut AUSSI en mettre AUTOUR de CHAQUE REQUETE.
Ensuite:
Pourquoi tu dis que mon code PHP ne sert à rien?
Par ce que ta question concerne UNIQUEMENT ta REQUETE SQL ... et que tu es dans le forum SQL.
mon champ publier est de type "tinyint"
Donc ... NUMERIQUE.
Tu n'y mets pas du TRUE/FALSE mais des nombres. En l'occurence ici, 1 ou 0.
De plus, lorsque tu as un doute sur une requête , tu commences par en faire un ECHO histoire de voir ce que ton code php retourne REELEMENT comme requête, puis tu la testes DIRECTEMENT dans ta BDD.
Encore un peu de lecture pour toi.
Cette fois j'espère que tu liras tout ....
https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code
.
A propos de mon champ publier qui est de type "tinyint" lorsque je teste ma requète dans Phpmyadmin elle me retourne bien le résultat avec TRUE c'est à dire 1, alors que tu dit comme c'est un champs numérique il faut mettre 1, je n'ai pas bien compris je suppose.
UPDATE cdc_manifestations SET publier = TRUE WHERE idmanif = '521';
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question