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 :

Problème avec UPDATE


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    oim
    oim est déconnecté
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 118
    Par défaut Problème avec UPDATE
    Bonjour, j'essaye de faire une page qui permet de créer et gérer des catégories ; la création et la suppression fonctionnent mais je n'arrive pas pour la fonction "editcategorie" (modifier la catégorie). La table est composée de 3 champs : id - auteur_id - titre.
    Lorsque je clique sur valider pour que le changement se fasse, il n'y a aucun message d'erreur, la redirection fonctionne mais ca n'ecrit rien dans la table. Ce que je ne comprend pas c'est que dans "editcategorie" lorsque je met $tilte ca montre bien le titre mais si je met $id ou $auteur_id ca ne marque rien ; je pense que l'erreur doit être par là.
    C'est la premère fois que j'essaye de faire un script et je tourne en rond parce que je ne comprend pas ; si quelqu'un pouvait m'aider, merci !

    function categorie() {
    //DEBUT AJOUT DE CATEGORIE//
    global $ModPath, $ModStart, $NPDS_Prefix, $ThisFile, $cookie;
    opentable();
    $rowcolor=tablos();
    echo "<table width=\"60%\" align=\"center\"><tr align=\"center\">\n";
    echo "<form action=\"".$ThisFile."&subop=catcreer\" method=\"post\" name=\"catcreer\">";
    echo "<td class=\"TITRE\" colspan=\"3\">Ajouter une catégorie</td></tr>\n";
    echo "<tr><td width=\"10%\">Titre</td>\n";
    echo "<td width=\"70%\"><input type=\"text\" name=\"titre\" size=\"50\" /></td>\n";
    echo "<td width=\"70%\" align=\"center\"><input CLASS=\"BOUTON_STANDARD\" type=\"submit\" name=\"mettre a jour\" VALUE=\"Valider\" /></td></tr>\n";
    echo "</form></table>\n";
    closetable();
    //FIN AJOUT DE CATEGORIE//


    //DEBUT LISTE DE CATEGORIE//
    opentable();
    echo "<table width=\"top\" align=\"center\"><tr align=\"center\">\n";
    echo "<td class=\"TITRE\" colspan=\"3\">Gérer vos Catégories</td></tr>\n";;
    echo "<tr $rowcolor><td align=\"center\" width=\"30%\">Categorie</td>\n";
    echo "<td align=\"center\" width=\"10%\">Editer</td>\n";
    echo "<td align=\"center\" width=\"10%\">Supprimer</td></tr>\n";
    $query = mysql_query("SELECT * FROM ".$NPDS_Prefix."blog_cat WHERE auteur_id='$cookie[1]'");
    while ($row = mysql_fetch_row($query)) {
    echo "<tr><td width=\"30%\">$row[2]</td>\n";
    echo "<td align=\"center\" width=\"10%\"><a href=".$ThisFile."&subop=editcategorie&amp;titre=$row[2]><img src=modules/blogue/images/editer.gif></a></td>\n";
    echo "<td align=\"center\" width=\"10%\"><a href=".$ThisFile."&subop=supprimer&amp;id=$row[0]><img src=modules/blogue/images/delete.gif></a></td></tr>\n";
    }
    echo "<tr $rowcolor><td colspan=\"3\" align=\"center\"><input CLASS=\"BOUTON_STANDARD\" type=\"submit\" name=\"mettre a jour\" VALUE=\"Mettre à jour\" /></td></tr>\n";
    echo "</table>\n";
    closetable();
    //FIN LISTE DE CATEGORIE//
    }

    function editcategorie($id,$auteur_id,$titre) {
    //DEBUT EDITER CATEGORIE//
    global $ModPath, $ModStart, $NPDS_Prefix, $ThisFile, $cookie;
    opentable();
    $rowcolor=tablos();
    echo "<table width=\"60%\" align=\"center\"><tr align=\"center\">\n";
    echo "<form action=\"".$ThisFile."&subop=changetitre\" method=\"post\" name=\"changetitre\">";
    echo "<td class=\"TITRE\" colspan=\"3\">Modifier cette catégorie</td></tr>\n";
    echo "<tr><td width=\"20%\">Nom actuel-$id</td>\n";
    echo "<td width=\"80%\"><input type=\"text\" name=\"nom\" value=\"".$titre."\" disabled=\"true\" size=\"20\" /></td></tr>\n";
    echo "<tr><td width=\"20%\">newnom</td>\n";
    echo "<td width=\"80%\"><input type=\"text\" name=\"newnom\" value=\"".$newtitre."\" size=\"20\" /></td></tr>\n";
    echo "<tr $rowcolor><td colspan=\"3\" align=\"center\"><input CLASS=\"BOUTON_STANDARD\" type=\"submit\" name=\"mettre a jour\" VALUE=\"Valider\" /></td></tr>\n";
    echo "</form></table>\n";
    closetable();
    //FIN EDITER CATEGORIE//
    }

    switch($subop) {

    case "categorie" :
    categorie();
    break;

    case "editcategorie" :
    editcategorie($id,$auteur_id,$titre);
    break;

    case "changetitre" :
    $query="UPDATE blog_cat SET titre='".$newtitre."' WHERE id='".$id."' and auteur_id='".$cookie[1]."'";
    $succes=mysql_query($query) or die ("erreur : ".mysql_error());
    if ($succes)
    redirect_url("".$ThisRedo."&subop=categorie");
    break;

    case "supprimer" :
    $query="delete from blog_cat where id='$id'";
    $succes=mysql_query($query);
    if ($succes)
    redirect_url ("".$ThisRedo."&subop=categorie");
    break;

    case "catcreer" :
    $update = "INSERT INTO blog_cat VALUES ('$id', '".$cookie[1]."', '".$titre."')";
    mysql_query($update) or die(mysql_error());
    if ($update)
    redirect_url("".$ThisRedo."&subop=categorie");
    break;
    }

  2. #2
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Fais des "echo" de tes requêtes pour voir ce qui est réellement exécuté.

  3. #3
    oim
    oim est déconnecté
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 118
    Par défaut
    Slt, comment ca ?
    J'ai mis des echo dans les switch " if ($succes) {echo"réussie";} else {echo "erreur";};" : c'est ca ?
    Pour les 3 ca me marque réussie : créer - supprimer - modifier.

  4. #4
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    $requete = "SELECT * FROM ".$NPDS_Prefix."blog_cat WHERE auteur_id='$cookie[1]'";
    echo $requete;

    $query = mysql_query ($requete)
    ...

  5. #5
    Membre Expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Par défaut
    Citation Envoyé par oceane751
    $requete = "SELECT * FROM ".$NPDS_Prefix."blog_cat WHERE auteur_id='$cookie[1]'";
    echo $requete;

    $query = mysql_query ($requete)
    ...
    Voilà c'est ça, comme ça tu sais ce qui est vraiment exécuté...

  6. #6
    oim
    oim est déconnecté
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 118
    Par défaut
    J'ai rajouté dans la fonction editcategorie et tous s'affichent bien :
    $query = mysql_query("SELECT * FROM ".$NPDS_Prefix."blog_cat WHERE titre='$titre' AND auteur_id='$cookie[1]'");
    while ($row = mysql_fetch_row($query)) {
    Par contre ca n'ecrit toujours pas dans la table, dans la fonction editcategorie l'"ACTION" va chercher le switch changetitre :
    case "changetitre" :
    $query = "UPDATE blog_cat SET titre='".$titre."' WHERE id='".$id."'";
    $succes=mysql_query($query) or die ("erreur : ".mysql_error());
    if ($succes) {echo"réussie";} else {echo "erreur";};
    break;
    Par contre si j'enlève WHERE id='".$id."' sa vide tous les champs de la table !

  7. #7
    Membre éprouvé Avatar de oceane751
    Profil pro
    Intégrateur Web
    Inscrit en
    Novembre 2004
    Messages
    1 280
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Intégrateur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 280
    Par défaut
    $query = "UPDATE blog_cat SET titre='".$titre."' WHERE id='".$id."'";
    $succes=mysql_query($query) or die ("erreur : ".mysql_error());
    $bloup = mysql_affected_rows ();

Discussions similaires

  1. [RCP] Problème avec Update Manager
    Par Robiwan59 dans le forum Eclipse Platform
    Réponses: 6
    Dernier message: 07/03/2007, 16h23
  2. [Access2003] Problème avec UPDATE
    Par PhRey dans le forum Langage SQL
    Réponses: 12
    Dernier message: 15/01/2007, 15h22
  3. Problème avec "update" du code ASP
    Par ocean_prince11 dans le forum ASP
    Réponses: 14
    Dernier message: 24/11/2006, 18h56
  4. problème avec update dans h:datatable
    Par rarrou dans le forum JSF
    Réponses: 1
    Dernier message: 03/11/2006, 15h22
  5. problème avec update
    Par chingo dans le forum Requêtes
    Réponses: 7
    Dernier message: 14/10/2006, 23h16

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