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 :

Update Radio Mysql [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut Update Radio Mysql
    bonjour, j'ai un petit souci en php que je n'arrive pas a regler, je suis entrain de mettre en place une sortes de BBS, j'ai réussi a faire plusieurs grands modules et celui que j'essaye de mettre en place maintenant c'est le changement de secteur pour les citoyen désirant changer de secteur auquel ils sont situé, j'ai donc utilisé un bouton radio qui permet de choisir le secteur vers lequel le membre désirent déménager, aprés validation la page qui permet de récupérer les donnée marche trés bien, mais en même temps je souhaite faire un UPDATE, le probleme j'ai essaye avec plusieurs solution qui n'as pas marcher, car le UPDATE fonctionné le mot ARRAY s'afficher a la place du nom du secteur voilà mon 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
    <?php
     
     
    //Fichier necessaire
    include("sources/config.php");
     
    // Verifie si on peut se connecter a la base sql
    $connect=mysql_connect($host,$user,$pass) or die ("Impossible de se connecter");
    mysql_select_db($base, $connect) or die ("Impossible de selectionner la base de donnees");
     
     
     
     
    //Verifie si on s'est connecte a l'espace membre
    $connom=$HTTP_COOKIE_VARS["espace_login"];
    $conpass=$HTTP_COOKIE_VARS["espace_pass"];
    $result=mysql_query ("SELECT * FROM comptes WHERE nom='$connom'") or die ("Requete impossible");
    $autoconnect = mysql_num_rows($result);
    if ($autoconnect==0) {
    echo("<script language=\"javascript\">location=\"erreur.php\";</script>");}
    ?><?php 
    // vérifions que la variable a été transmise 
    $tabLangages = (isset($_POST['secteur']))?$_POST['secteur']:null; 
     
    $sql = "UPDATE comptes SET secteur='$tabLangages' WHERE nom='$connom'";
    	mysql_query($sql);
     
    echo "Déménagement Effectué, vous êtes maintenant sur :<br>"; 
    // bouclons sur le tableau qui a été transmis et affichons les valeurs sélectionnées 
    if (!empty($tabLangages)) { 
        foreach($tabLangages as $cle => $valeur) { 
            echo '<b>'.$valeur.'</b><br>'; 
        } 
    } 
    ?>

    Voilà je ne sais pas comment je peux faire pour que celui ci récupére les donnée

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Qui dit radio dit formulaire, non ??
    Par conséquent peux-tu mettre le code et le lancement de l'action stp ?

  3. #3
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    D'après moi, pour savoir quelle est la sélection de l'utilisateur, il faut la rechercher avec une boucle.
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $cnt=count(@$_POST['secteur']);
    if($cnt>0){
      for($x=0;$x<$cnt;$x++)
        if(isset($_POST['secteur'][$x])){
          echo 'Vous avez sélectionné le choix n°'.($x+1);
          break;
        }      
    }else echo 'Vous n\'avez rien sélectionné.';
    De retour parmis vous après 10 ans!!

  4. #4
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut
    Enfait le script entier et de faire la liste des Secteur disponible, le mebre valide un bouton radio, et clique sur déménager e là, il est envoyer vers la pagess secteur.php, qui fait le UPDATE dans la BDD : voir le code du formulaire :

    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
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
     <?php
     
    //Recupere le nombre de messages au total
    $result=mysql_query ("SELECT * FROM comptes where secteur='$noma' ORDER by nom") or die ("Requete impossible");
     
     
    //Nombre de messages recuperer dans $nbmess
    $nbmemb = mysql_num_rows($result);
     
     
     
    //Premiere Page
    if(!$start) {$start=0;}
     
    //Recupere le nombre de messages au total
    $result1=mysql_query ("SELECT * FROM secteur ORDER by nom LIMIT $start,$messpage") or die ("Requete impossible");
     
     
     
    //Affichage des membres
    while ($row = mysql_fetch_array($result1)) {
     
    $noma = $row["nom"];
    $description = $row["description"];
     
     
    //Date du jour
    $datejr= date("Y-m-d");
     
    //Date du jour
    $mjr= date("h");
     
    //Date version dd mm yyyy
    list($y,$m,$d) = explode("-",$datejr);
    $tiret= "/";
    $datejr = $d.$tiret.$m.$tiret.$y;
     
     
    echo("<table width=\"100%\" border=\"0\">\n<tr>\n<td>\n");
    echo("<div align=\"left\"><font face=\"<? echo $font; ?>\" size=\"$size\"> ");
    echo("</font> <font face=\"<? echo $font; ?>\" size=\"$size\" color=\"#FF0000\">$nbmessrec</font><br>\n");
    echo("<font face=\"<? echo $font; ?>\" size=\"$size\"></font></div>");
    echo("</td>\n</tr>\n</table><hr>");
    echo("<table width=\"100%\" border=\"0\">\n<tr>");
    echo("<td width=\"5%\"><span class=\"Style1\"><img src=\"images/msg_non_lu.gif\" width=\"26\" height=\"25\"></span></div></td>\n");
    echo("<td width=\"21%\" bgcolor=\"#DFE4EA\" class=\"Style1\">&nbsp;&nbsp;Nom du Secteur</td>\n");
    echo("<td width=\"21%\" bgcolor=\"#DFE4EA\" class=\"Style1\">&nbsp;&nbsp;Description</b></center></font></td>\n");
    echo("<td width=\"21%\" bgcolor=\"#DFE4EA\" class=\"Style1\">&nbsp;&nbsp;Nombre de membre</b></center></font></td>\n");
    echo("<td width=\"21%\" bgcolor=\"#DFE4EA\" class=\"Style1\">&nbsp;&nbsp;Changement de Secteur</b></center></font></td>\n");
     
     
    echo("<table width=\"100%\" border=\"0\" bgcolor=\"#FFFFFF\">\n<tr>");
    echo("<td width=\"5%\"><form name=\"formulaire1\" method=\"POST\" action=\"secteur.php\"></span></div></td>\n");
    echo("<td width=\"21%\" bgcolor=\"#DFE4EA\" class=\"Style1\">&nbsp;&nbsp;<center>$noma</center></font></td>\n");
    echo("<td width=\"21%\" bgcolor=\"#DFE4EA\" class=\"Style1\">&nbsp;&nbsp;<center>$description</center></font></td>\n");
    echo("<td width=\"21%\" bgcolor=\"#DFE4EA\" class=\"Style1\">&nbsp;&nbsp;<center>$nbmemb</center></a></font></td>\n");
    echo ("<td width=\"21%\" bgcolor=\"#DFE4EA\" class=\"Style1\">&nbsp;&nbsp;<center><input type=\"radio\" name=\"secteur[]\" value=\"$noma\"></center></a></font></td>");
    echo("</tr>\n</table>");
    }
    //Si il n'y a pas encore de message recu
    if ($nbmemb=="") {
    echo("<table width=\"100%\" border=\"0\" bgcolor=\"#FFFFFF\"><tr>");
    echo("<td><i>Aucun membre pour le moment</i></font>");
    echo("</td></tr></table>");}
     
    echo("<input type=\"submit\" name=\"submit\" class=\"txt_box\" value=\"Demenagement\"> 
    </form> ");
     
    //Barre de navigation (page précédente - page suivante)
    //Affichage ou non de l'url page precedente
    echo("<table width=\"100%\" border=\"0\" align=\"center\"><tr><td width=\"30%\">");
    if($start>0){
    echo("<a href=\"../listemembres.php?start=".($start-$messpage)."\"><font face=\"$font\" size=\"$size\">&lt;&lt; Pr&eacute;c&eacute;dente</font></a>");}
    if($nbmemb>0){
    echo("<div align=\"center\"><font face=\"$font\" size=\"$size\">Page ");
    echo ($start + $messpage)/$messpage;
    echo (" sur ");
    echo ceil($nbmemb/ $messpage);}
    echo("</font></div><p>");
    //Affichage ou non de l'url Page suivante
    if($nbmemb>$start+$messpage){
    echo("<p><a href=\"listemembres.php?start=".($start+$messpage)."\"><font face=\"$font\" size=\"$size\">Suivante &gt;&gt;</font></a></div>");}
    echo("\n\n");
    ?>

  5. #5
    Membre habitué
    Inscrit en
    Janvier 2007
    Messages
    437
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 437
    Points : 184
    Points
    184
    Par défaut
    Sujet résolu, j'ai un petit peu modifier le script, le formulaire puis la récupération : Comme vous le savez pour les checkbox ou les radios, pour d'abord sélectionné la valeur il faut sa :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="radio" name="secteur[]" value="lavaleur">

    Bah moi j'ai supprimé le []


    Puis dans la récuperation j'ai modifier le script ce qui donne :

    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
    <?php 
    // vérifions que la variable a été transmise 
    $tabLangages = (isset($_POST['secteur']))?$_POST['secteur']:null; 
     
     
    $sql = "UPDATE comptes SET secteur='$tabLangages' WHERE nom='$connom'";
    mysql_query($sql);
     
    echo "Déménagement Effectué, vous êtes maintenant sur :<br>"; 
     
     
    // bouclons sur le tableau qui a été transmis et affichons les valeurs sélectionnées 
    if (!empty($tabLangages)) { 
     
            echo '<b>'.$tabLangages.'</b><br>'; 
     
     
    } 
    ?>
    Il y avait un foreach qui me bloqué tout le script et aussi dans ce script avant modification, il faisait appel au numero clef de la valeur, j'ai donc supprimé la clef comme je en n'avais pas besoin, puis le foreach, j'ai donc réecri le script et cela fonctionne a merveille ^^

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

Discussions similaires

  1. [MySQL] update de mysql 3.24 vers 5.1
    Par maxIg dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 15/04/2010, 11h14
  2. [MySQL] UPDATE SET mysql avec clé, valeur d'un array
    Par noloop dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 18/01/2010, 11h10
  3. [MySQL] Explode et update par Mysql c'est possible ?
    Par booleanf dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/04/2009, 17h40
  4. [MySQL] Update Donnée mysql sans etre connecter
    Par toulousain3117 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 16/08/2007, 13h31
  5. problème update avec mysql
    Par opeo dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 23/03/2007, 11h30

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