IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Insertion de ligne non voulue et problème d'affichage suite à la valeur d'une checkbox. [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2015
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2015
    Messages : 68
    Points : 33
    Points
    33
    Par défaut Insertion de ligne non voulue et problème d'affichage suite à la valeur d'une checkbox.
    Bonjour,

    Je souhaite faire une checkbox suivi d'une validation par un bouton et l'envoie et l'insertion en BDD ou l'envoie et la modification en BDD.

    Le problème c'est qu'avec mon code, il y a une insertion de ligne en continue malgré que je veuille simplement modifie la valeur en BDD du checkbox en fonction qu'il soit coché ou non.
    Et j'ai également un problème sur l'affichage de la checkbox déjà coché lorsqu'en BDD la valeur est true.

    Je vous montre mon code. Le soucis est dans la partie Newsletter.

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    // ------------------------------ Abonnement newsletter ---------------
     
    if(isset($_POST['abonner']) && $_SESSION['utilisateur']['id_membre'] != 1)
    	{
    		$valeur_checkbox = $_POST['checkbox_news'];
     
    		$recup_abo = $mysqli->query("SELECT checkbox FROM newsletter WHERE id_membre=' " . $_SESSION['utilisateur']['id_membre'] . " ' ");
    		$recherche_abo = $recup_abo->fetch_assoc();
    		$bdd_abo = $recherche_abo['checkbox'];
     
    			if($valeur_checkbox == 'true'){
    				$modif_abo_bdd = executeRequete("UPDATE newsletter SET checkbox='$_POST[checkbox_news]' WHERE id_membre=' " . $_SESSION['utilisateur']['id_membre'] . " ' ");
    				executeRequete("REPLACE INTO newsletter (id_newsletter,id_membre,checkbox) VALUES ('',' ". $_SESSION['utilisateur']['id_membre'] ." ','$_POST[checkbox_news]')");
    			}
    			if($valeur_checkbox == 'false'){
    				$modif_abo_bdd = executeRequete("UPDATE newsletter SET checkbox='$_POST[checkbox_news]' WHERE id_membre=' " . $_SESSION['utilisateur']['id_membre'] . " ' ");
    			}
    	}

    La valeur de l'id_newsletter est vide car je veux qu'il s'auto incrémente. Mais ça doit poser problème pour la modification ( désabonnement ).

    Et la validation de celui-ci :

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    	<div id="newsletter">
    		<h2>S'abonner à la newsletter</h2>
    			<form method="POST" action="">
     
    				<label for="resaisir_mdp">Souhaitez-vous recevoir des informations sur les promotions et les nouveautés du site par mail ? </label>
    				<input type="checkbox" onchange="if(this.checked) this.value='true';else this.value='false';" value="false" name="checkbox_news">
     
    				<input type="submit" name="abonner" value="Valider">
    			</form> 		
    	</div>

    Je souhaite faire varier l'affichage de ce bouton. Si valeur = false => non coché, sinon la case sera déjà coché et pouvoir décoché cette case pour qu'en BDD la valeur change en false est que l'envoie de la newsletter ne se fasse pas.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Le problème c'est qu'avec mon code, il y a une insertion de ligne en continue malgré que je veuille simplement modifie la valeur en BDD du checkbox en fonction qu'il soit coché ou non.


    Je pense qu'il va falloir que tu expliques un peu mieux, parce que là, c'est assez incompréhensible.

    A part ça, ton fonctionnement n'est pas terrible.
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" onchange="if(this.checked) this.value='true';else this.value='false';" value="false" name="checkbox_news">
    Tu sembles oublier (ou ne pas savoir) que si la case n'est pas cochée, elle n'est pas transmise avec le formulaire, donc tes manips JavaScript, c'est joli, mais particulièrement inutile car tu ne peux jamais recevoir la valeur 'false' côté serveur.
    Le corollaire de ça, c'est qu'ensuite
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $valeur_checkbox = $_POST['checkbox_news'];
    provoquera une erreur (qu'à priori tu n'affiches pas ) si la case n'a pas été cochée.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2015
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2015
    Messages : 68
    Points : 33
    Points
    33
    Par défaut
    Y'a un tout qui ne fonctionne clairement pas ensemble, je le comprends.

    Mais étant vraiment novice dans le PHP et le JavaScript, je ne vois pas comment résoudre le problème.

    Je souhaite simplement que lorsque l'utilisateur coche la case, en BDD la valeur true s'affiche ce qui permettra par la suite d'envoyer à tous les utilisateur où cette valeur est true d'envoyer la newsletter.
    Et si le membre veut se désinscrire, la case sera déjà coché, il aura juste à la décoché et à valider pour qu'en BDD, cette valeur soit false et l'envoie de la newsletter à celui-ci impossible.

    Au départ j'étais parti sur un select avec des options oui et non mais c'est pas beau visuellement.

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Pour expliciter ce qu'a dit Bovino, une checkbox n'est envoyée que si elle est cochée. Donc plutot que de modifier la valeur avec un onchange et ensuite tester la valeur, il vaudrait tester directement si une valeur arrive ou pas :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" value="true" name="checkbox_news">
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if(!empty($_POST['checkbox_news'])){
    	$modif_abo_bdd = executeRequete("UPDATE newsletter SET checkbox='$_POST[checkbox_news]' WHERE id_membre=' " . $_SESSION['utilisateur']['id_membre'] . " ' ");
    	executeRequete("REPLACE INTO newsletter (id_newsletter,id_membre,checkbox) VALUES ('',' ". $_SESSION['utilisateur']['id_membre'] ." ','true')");
    } else {
    	$modif_abo_bdd = executeRequete("UPDATE newsletter SET checkbox='false' WHERE id_membre=' " . $_SESSION['utilisateur']['id_membre'] . " ' ");
    }
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2015
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2015
    Messages : 68
    Points : 33
    Points
    33
    Par défaut
    Donc avec ce code là, si la checkbox n'est pas coché, il enverra ' ' est donc passera dans le else ce qui lui donnera la valeur false est me permettra de désabonner le membre ?

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Perso, j'aurais plutôt vu un truc du style
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if(isset($_POST['checkbox_news'])){
    	$check = 'true';
    } else {
    	$check = 'false';
    }
    $modif_abo_bdd = executeRequete("UPDATE newsletter SET checkbox='$check' WHERE id_membre=' " . $_SESSION['utilisateur']['id_membre'] . " ' ");
    executeRequete("REPLACE INTO newsletter (id_newsletter,id_membre,checkbox) VALUES ('',' ". $_SESSION['utilisateur']['id_membre'] ." ','$check')");
    Parce que :
    • si la seule présence d'une valeur suffit à dire que la case a été cochée, inutile de présager que la valeur n'a pas été modifiée ;
    • inutile d'écrire 2 fois la même requête, ça facilitera d'éventuelles maintenances ;
    • si l'on peut se désinscrire de la newsletter, il doit aussi être possible de se réinscrire.

    EDIT :
    et en simplifiant encore un peu :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $check = isset($_POST['checkbox_news']) ? 'true' :  'false';  // ou $check = empty($_POST['checkbox_news']) ? 'false' :  'true';
    $modif_abo_bdd = executeRequete("UPDATE newsletter SET checkbox='$check' WHERE id_membre=' " . $_SESSION['utilisateur']['id_membre'] . " ' ");
    executeRequete("REPLACE INTO newsletter (id_newsletter,id_membre,checkbox) VALUES ('',' ". $_SESSION['utilisateur']['id_membre'] ." ','$check')");
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2015
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2015
    Messages : 68
    Points : 33
    Points
    33
    Par défaut
    Merci, je vais tester tout ça.

    EDIT:

    Ca fonctionne mais j'ai toujours ce problème d'ajout en BDD à chaque fois que l'utilisateur valide son choix.

    Nom : Sans titre.png
Affichages : 216
Taille : 81,3 Ko

    La condition de je dois mettre c'est un < 1 ou != 1 pour qu'il regarde si dans la BDD la ligne de l'id_membre est déjà présente et qu'il modifie cette ligne et n'en rajoute pas ?

  8. #8
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Je ne vois pas d'INSERT dans le code que tu as donné. C'est donc d'un autre morceau de ton script qu'il est question ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2015
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2015
    Messages : 68
    Points : 33
    Points
    33
    Par défaut
    Le REPLACE INTO jouant la fonction d'INSERT ou UPDATE je me suis dit qu'il suffirait

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Ton champ id_membre n'est pas une clé primaire ?
    Cela devrait et tu devras faire INSERT INTO ... ON DUPLICATE KEY UPDATE ...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  11. #11
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2015
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2015
    Messages : 68
    Points : 33
    Points
    33
    Par défaut
    Non mon id_membre est une clef étrangère.
    La clef primaire c'est l'id_newsletter dans cette table.

  12. #12
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Ca correspond à quoi id_newsletter ?
    Tu as plusieurs newsletters mais chaque newsletter ne peut être envoyée qu'à un seul membre ?
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  13. #13
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Citation Envoyé par Bovino Voir le message
    Ca correspond à quoi id_newsletter ?
    Vu la tête de la clé, je dirais un id auto-incrémenté...
    Ce ne serait pas plus simple d'avoir une colonne "newsletter" dans ta table des utilisateurs ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  14. #14
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Oui, c'est bien ce que je pensais aussi... je vois pas trop l'utilité de cette table...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  15. #15
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2015
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2015
    Messages : 68
    Points : 33
    Points
    33
    Par défaut
    C'est exact. A vrai dire c'est dans le cahier des charges qu'on nous a donné. Table newsletter avec clef primaire id_newsletter et clef étrangère id_membre.
    Je pense que ça ne dérangera pas si je modifie la table membre pour que ce soit plus simple à faire.

  16. #16
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    A moins de rater une information importante, ça n'a à priori aucun sens...
    Par exemple, dans ta table membre, tu as une clé primaire (enfin, j'espère ) id_membre parce que tu as plusieurs membres distincts, mais là, tu n'as (enfin, je suppose) qu'une seule newsletter et plusieurs membres peuvent s'y abonner, tu n'as pas plusieurs newsletters avec pour chacune un seul membre pouvant s'y abonner, donc la structure de la table ne correspond à rien...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  17. #17
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Dans certains cas, avoir une clé primaire auto-incrémentée qui sert de clé technique peut être utile lorsque ta table a une palanquée de colonnes et que la vraie clé fonctionnelle est une combinaison de plusieurs colonnes. Mais c'est à utiliser dans des cas limites (en combinaison avec un index d'unicité pour la clé fonctionnelle)

    Là, pour 2 colonnes...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  18. #18
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2015
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2015
    Messages : 68
    Points : 33
    Points
    33
    Par défaut
    C'est peut être moi qui n'est pas compris l'utilité de cette table.

    Mais ça serait 100 fois moins pénible à faire l'abonnement à la newsletter en mettant une colonne en plus dans la table membre.

    Je vais tenter cette technique là. Je vais demander à quoi sert cette table exactement.

    Merci =)

  19. #19
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 418
    Points
    91 418
    Billets dans le blog
    20
    Par défaut
    Je ne conteste pas, mais là, la contrainte d'unicité est clairement sur le champ id_membre.
    Du coup, la seule info pertinente est le champ checkbox et la sortir de la table membre et lui donner une valeur autre que booléenne me semble relever plus de l'erreur de conception qu'autre chose...

    Mais bon, il doit certainement y avoir des infos que l'on a pas qui justifient ce choix.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  20. #20
    Nouveau membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2015
    Messages
    68
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2015
    Messages : 68
    Points : 33
    Points
    33
    Par défaut
    J'ai une petite question, pas en rapport avec le sujet de la salle mais je ne veux pas flood le forum de mes sujets.

    Je souhaite alterner les couleurs des lignes pour que mon tableau soit lisible bien plus facilement.

    Les tutos que j'ai trouvé sont tous fait avec la boucle for et j'utilise que des foreach et des while...

    Donc est-il possible d'alterner la couleur des lignes sur ce code là ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
    	$resultat = executeRequete("SELECT * FROM produit");
    	echo "Nombre de produit(s) : " . $resultat->num_rows;
     
    	$nbcol = $resultat->field_count;
    	echo "<table style='border-color:red' border=10> <tr>";
    	for ($i=0; $i < $nbcol; $i++)
    	{    
    		$colonne = $resultat->fetch_field(); 
    		echo '<th>' . $colonne->name . '</th>';
    	}
    	echo "<th>Modification</th>";
    	echo "<th>Supression</th>";
    	echo "</tr>";
     
    	while ($ligne = $resultat->fetch_assoc())
      {  
    		echo '<tr>';
    		foreach ($ligne as $indice => $information)
    		{
    				echo "<td>" . $information . "</td>";
    		}
    		echo '<td><a href="?action=modification&id_produit=' . $ligne['id_produit'] .'"><img src="'. RACINE_SITE . 'photo/modif.png" alt="" title="Modifier la fiche du produit"></a></td>';
    		echo '<td><a href="?action=suppression&id_produit=' . $ligne['id_produit'] .'" OnClick="return(confirm(\'En êtes vous certain ?\'));"><img src="'. RACINE_SITE . 'photo/suppr.png" alt="" title="Supprimer ce produit"></a></td>';
    		echo '</tr>';
    	}
    	echo '</table>';

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Commande printf retour à la ligne non voulu
    Par Rithy666 dans le forum Programmation et administration système
    Réponses: 3
    Dernier message: 05/11/2010, 16h28
  2. Réponses: 8
    Dernier message: 30/06/2010, 14h06
  3. Réponses: 2
    Dernier message: 24/05/2006, 15h20
  4. retour a la ligne non voulu dans mes tableaux ????
    Par cedre22 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 01/03/2006, 15h48
  5. [MySQL] Problème d'initialisation de la valeur dans une table
    Par priazu dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 27/02/2006, 02h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo