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 :

[Conception] Un switch bloque une instruction INSERT INTO


Sujet :

PHP & Base de données

  1. #1
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut [Conception] Un switch bloque une instruction INSERT INTO
    Bonjour,

    J'ai un drôle de problème : j'ai un switch et plus bas une requête d'insertion. Dès que j'enlève le switch ça fonctionne, mais si je le laisse, car j'en ai besoin, alors ça n'insère plus rien sans pour autant donner un message d'erreur.

    Voilà le code :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
     switch($discussion)
    {
    case 1 : 
    $categorie='L\'actualité'; 
    $urlCategorie='actualite';
     
    break;
     
    case 2 : 
    $categorie='Arts & Culture '; 
    $urlCategorie='arts-culture';
     
    break;
     
    case 3 : 
    $categorie='Formation';
    $urlCategorie='formation';
     
    break;
     
    case 4 : 
    $balise='Personnalités';
    $urlCategorie='personnalites';
     
     
    break;
     
    case 5 : 
    $categorie='Politique';
    $urlCategorie='politique';
     
     
    break;
     
    case 6 : 
    $categorie='Les relations humaines';
    $urlCategorie='relations-humaines';
     
     
    break;
     
    case 7 : 
    $categorie='Société';
    $urlCategorie='societe';
     
     
    break;
     
    case 8 : 
    $categorie='Spiritualité';
    $urlCategorie='spiritualite';
     
    break;
     
     
    case "9" : 
    $categorie='Nouveaux Membres';
    $urlCategorie='nouveaux-membres';
     
    break;
     
    case 10 : 
    $categorie='café';
    $urlCategorie='cafe';
     
    break;
    }
    $insert="INSERT INTO `forum` (`ip`,`categorie`,`codeCategorie`,`urlCategorie`,`idMembre`,`contenu`,`signature`,`date`,`pseudo`,`urlSite`,`titre`) 
    VALUES (
    '$ip','$categorie','$discussion','$urlCategorie','$idMembre','$contenu','$signature','$date','$pseudo','$urlSite','$titre'
    )";
    Le switch fonctionne bien ailleurs dans d'autres fichiers, mais ici il gène je ne comprend pas du tout pourquoi.
    De même la requête fonctionne bien si on enlève le switch.

    Merci pour votre aide.

  2. #2
    Membre régulier Avatar de vador972
    Profil pro
    Inscrit en
    Août 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 71
    Points : 81
    Points
    81
    Par défaut
    Bonjour,
    Peut-être que le problème vient du fait que une ou plusieurs variables n'est/ ne soient pas instanciée du fait du switch...

  3. #3
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Affiches tu ta requête avant de l'envoyer dans la base ?

  4. #4
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Salut
    Peut-être rien à voir, mais pourquoi affiches-tu la 9 entre quotes ?


  5. #5
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut
    Salut, merci de vos réponses

    Peut-être rien à voir, mais pourquoi affiches-tu la 9 entre quotes ?
    Bien vu, j'ai effectivement corrigé le truc, mais en effet, ça n'avait rien à voir...

    Peut-être que le problème vient du fait que une ou plusieurs variables n'est/ ne soient pas instanciée du fait du switch...
    Non ça ne se peut pas, j'ai bien vérifié, mais le $discussion se trouve bien au dessus.

    Pour guitou, non je ne l'affiche pas, mais comme je l'ai dit la requête fonctionne bien dès que je vire le switch.

  6. #6
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Points : 4 644
    Points
    4 644
    Par défaut
    Pour guitou, non je ne l'affiche pas, mais comme je l'ai dit la requête fonctionne bien dès que je vire le switch.
    affiche la quand meme pour voir si tout est ok, on sait jamais

  7. #7
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Je vois que dans ta requête, tu attribues entr'autres, la variable $discussion à ton champs codeCategorie.
    Peux-être serait-ce utile de rappeller la variable $discussion dans les différents éléments de ton switch ?

    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
    switch($discussion)
    {
    case 1 : 
    $categorie='L\'actualité'; 
    $urlCategorie='actualite';
    $discussion=’1’;
     
    break;
     
    case 2 : 
    $categorie='Arts & Culture '; 
    $urlCategorie='arts-culture';
    $discussion=’2’;
     
    break;
     
    etc.......

  8. #8
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut
    Bon j'ai rien compris donc j'y suis arrivé autrement : j'ai simplement récupéré les champs qui m'intéressent via des inputs hidden et je l'ai ai fait passé d'un formulaire à l'autre jusqu'à ce qu'ils soient inserrés dans la base.

    ça fonctionne bien comme ça.

    Merci pour vos réponses ! (j'approfondi pas trop les suggestions, l'important c'est que ça fonctionne pas vrai ? ;-) )

    **edit**
    Quoique la solution d'Alain m'intrigue, je ne vois pas trop l'utilité de reconfirmer $discussion dans le switch, surtout que je ne m'en sers plus après.

  9. #9
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    Citation Envoyé par JackBeauregard
    Quoi que la solution d'Alain m'intrigue, je ne vois pas trop l'utilité de reconfirmer $discussion dans le switch, surtout que je ne m'en sers plus après.
    Ben tu en as besoin dans ta requête non ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    
    
    $insert="INSERT INTO `forum` (`ip`,`categorie`,`codeCategorie`,`urlCategorie`,`idMembre`,`contenu`,`signature`,`date`,`pseudo`,`urlSite`,`titre`) 
    VALUES (
    '$ip','$categorie','$discussion','$urlCategorie','$idMembre','$contenu','$signature','$date','$pseudo','$urlSite','$titre'
    )";

  10. #10
    Inscrit
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    531
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 531
    Points : 282
    Points
    282
    Par défaut
    Oui en effet, mais pourquoi veux-tu que la valeur de $discussion change durant le switch ? C'est ça que je ne pige pas dans ton exemple.

  11. #11
    Membre éprouvé Avatar de alain31tl
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Novembre 2005
    Messages : 935
    Points : 1 019
    Points
    1 019
    Par défaut
    C'était une simple suggestion et en partant du principe que tu attribuais un codeCategorie différent à chaques entrées dans ta table.
    Soit $discussion = 1, ou2, ou 3 etc...
    Mais si tu as trouvé la solution, celà n'a plus dintérêt.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. caractère ' (keyascii=39) dans une instruction "INSERT INTO"
    Par melancolie dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 23/04/2011, 14h55
  2. Réponses: 6
    Dernier message: 26/01/2011, 10h38
  3. Récupérer l'id créer lorsd d'une requette insert into
    Par Death83 dans le forum Requêtes
    Réponses: 15
    Dernier message: 21/12/2005, 15h25
  4. petite aide sur une requete INSERT INTO
    Par bonneti dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/03/2005, 15h17
  5. Erreur lors d'une requete insert into.. select
    Par Mr N. dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 04/11/2004, 17h32

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