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 qui ne met rien à jour [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre confirmé
    Avatar de Joe-La-Boule
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 219
    Points : 451
    Points
    451
    Par défaut UPDATE qui ne met rien à jour
    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
    <?php
    $recup_news= mysql_query("SELECT * FROM news WHERE id='".$_GET['id']."'");
    $thisnews=mysql_fetch_array($recup_news);
     
    $titreNews= $thisnews['titre'];
    $contenuNews= $thisnews['bbcode'];
     
    if(isset($_POST['valid']))
    {
     
    	if(isset($_POST['titreNews']) && isset($_POST['contenuNews']) && $_POST['titreNews']!=NULL && $_POST['contenuNews']!=NULL)
    	{
    		$titre=addslashes(htmlentities($_POST['titreNews']));
    		$news=$_POST['contenuNews'];
     
    		include("admin/news/bbcode.php");
    		$news_parse=bbcode_parse($news);
    		$news=htmlentities(addslashes($news));
    		mysql_query("UPDATE news SET titre='".$titre."', bbcode='".$news."', texte_news='".$news_parse."' WHERE id='".$_GET['id']."' ") or die(mysql_error());
     
    		?>
    			<center  class="gros_titre">Gestion des news</center><br />
    			<center>Votre news vient d'être éditée avec succés !<br />
    			Vous allez être redirigé...
    			</center>
    		<?php
    	}
     
    	else
    	{
    		?>
    				<center  class="gros_titre">Gestion des news</center><br />
    				<center>
    				Merci de renseigner intégralement tous les champs du formulaire !<br />
    				Vous allez être redirigé...
    				</center>
    		<?php
    	}
    }
     
     
    else
    {
    ?>
    	<center class="gros_titre">Gestion des news</center>
    	<center><br />
    		<form id="createNews" name="createNews" method="post" class="form" action="http://<?php echo $domain; ?>/index.php?p=adminNews&amp;id=<?php echo $donnees['id']; ?>&amp;do=modify">
    			<label>Titre :</label><br /><input value="<?php echo $titreNews; ?>" type="text" id="titreNews" name="titreNews"  style="text-align: center;" size="100" /><br /><br />
    			<?php include("admin/news/taskbar.php"); ?><br /><br />
    			<label>Contenu :</label><br /><textarea cols="100" id="contenuNews" name="contenuNews"><?php echo $contenuNews; ?></textarea><br /><br />
    			<input type="button" value="Effacer tout" onClick="contenuNews.value=''"/>&nbsp;&nbsp;<input type="submit" name="valid" value="Modifier" />&nbsp;&nbsp;<input type="button" value="Previsualiser" onClick="previsualisation();return(false);" name="prev" />
    			<br /><br /><br />
    			<div style="text-align: left" ><input name="auto" id="auto" type="checkbox" checked="checked" onClick="automatique()" /> <label for="auto">Prévisualisation automatique</label></div>
    		</form>
    		<br /><br />
    			<center class="news">
    				<center id="titrePrev" class="titre_news"></center>
    					<div id="prev" onClick="" class="contenu_news"></div>
    			</center>
    	</center>
    <?php
    }
     
    ?>
    Ce code est censé mettre à jour la table news en insérant d'une part, la news en bbcode, et d'autre la news sous forme html...et pourtant ce code ne met pas à jour la table donc j'ai cherché la moindre erreur sans succés et pour moi, ce code devrait faire ce qui est demandé non ?

    Peut-être n'ai-je pas vu quelque chose de capital ?
    merci d'avance

  2. #2
    Membre régulier Avatar de nimbus_77
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    109
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 109
    Points : 108
    Points
    108
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ?>
    			<center  class="gros_titre">Gestion des news</center><br />
    			<center>Votre news vient d'être éditée avec succés !<br />
    			Vous allez être redirigé...
    			</center>
    		<?php
    Pourquoi tu sors du php ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo "<center  class='gros_titre'>Gestion des news</center><br />";
    echo "<center>Votre news vient d'être éditée avec succés !<br />Vous allez être redirigé...";
    echo "</center>";
    et as tu tenté des echo $variable pour valider tes ebtrées ?

    nimbus 'qui ne sert pas à grand chose sur ce post' ........

  3. #3
    Membre confirmé
    Avatar de Joe-La-Boule
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 219
    Points : 451
    Points
    451
    Par défaut
    toutes les variables s'affichent bien oui...

  4. #4
    Membre confirmé
    Avatar de Joe-La-Boule
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 219
    Points : 451
    Points
    451
    Par défaut
    D'autre part, j'ai essayer de mettre la requête dans une variable mais rien n'y fait et là c'est franchement bizarre...

  5. #5
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 294
    Points : 333
    Points
    333
    Par défaut
    Salut,

    Tu peux deja faire un echo juste avant l'execution de te requete pour voir si tu rentre bien dans ta condition.

  6. #6
    Membre confirmé
    Avatar de Joe-La-Boule
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 219
    Points : 451
    Points
    451
    Par défaut
    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
     
    <?php
    $recup_news= mysql_query("SELECT * FROM news WHERE id='".$_GET['id']."'");
    $thisnews=mysql_fetch_array($recup_news);
     
    $titreNews= $thisnews['titre'];
    $contenuNews= $thisnews['bbcode'];
     
    if(isset($_POST['valid']))
    {
     
    	if(isset($_POST['titreNews']) && isset($_POST['contenuNews']) && $_POST['titreNews']!=NULL && $_POST['contenuNews']!=NULL)
    	{
    		$titre=addslashes(htmlentities($_POST['titreNews']));
    		$news=$_POST['contenuNews'];
     
    		include("admin/news/bbcode.php");
    		$news_parse=bbcode_parse($news);
    		$news=htmlentities(addslashes($news));
    		mysql_query("UPDATE news SET titre='".$titre."', bbcode='".$news."', texte_news='".$news_parse."' WHERE id='".$_GET['id']."' ") or die(mysql_error());
    		echo $news;
    		echo $news_parse;
    		echo $titre;
    		?>
    			<center  class="gros_titre">Gestion des news</center><br />
    			<center>Votre news vient d'être éditée avec succés !<br />
    			Vous allez être redirigé...
    			</center>
    		<?php
    	}
     
    	else
    	{
    		?>
    				<center  class="gros_titre">Gestion des news</center><br />
    				<center>
    				Merci de renseigner intégralement tous les champs du formulaire !<br />
    				Vous allez être redirigé...
    				</center>
    		<?php
    	}
    }
     
     
    else
    {
    ?>
    	<center class="gros_titre">Gestion des news</center>
    	<center><br />
    		<form id="createNews" name="createNews" method="post" class="form" action="http://<?php echo $domain; ?>/index.php?p=adminNews&amp;id=<?php echo $donnees['id']; ?>&amp;do=modify">
    			<label>Titre :</label><br /><input value="<?php echo $titreNews; ?>" type="text" id="titreNews" name="titreNews"  style="text-align: center;" size="100" /><br /><br />
    			<?php include("admin/news/taskbar.php"); ?><br /><br />
    			<label>Contenu :</label><br /><textarea cols="100" id="contenuNews" name="contenuNews"><?php echo $contenuNews; ?></textarea><br /><br />
    			<input type="button" value="Effacer tout" onClick="contenuNews.value=''"/>&nbsp;&nbsp;<input type="submit" name="valid" value="Modifier" />&nbsp;&nbsp;<input type="button" value="Previsualiser" onClick="previsualisation();return(false);" name="prev" />
    			<br /><br /><br />
    			<div style="text-align: left" ><input name="auto" id="auto" type="checkbox" checked="checked" onClick="automatique()" /> <label for="auto">Prévisualisation automatique</label></div>
    		</form>
    		<br /><br />
    			<center class="news">
    				<center id="titrePrev" class="titre_news"></center>
    					<div id="prev" onClick="" class="contenu_news"></div>
    			</center>
    	</center>
    <?php
    }
     
    ?>
    les variables s'affichent très bien donc j'entre dans la condition et le problème semble se trouver à la requête...
    Merci de m'apporter vos réponses ^^

  7. #7
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 27
    Points : 34
    Points
    34
    Par défaut
    Ta requete s'execute-t-elle correctement dans une console mysql ou dans phpmyadmin ?

  8. #8
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 294
    Points : 333
    Points
    333
    Par défaut
    Essaye en ecrivant ta requete plutot comme sa :

    mysql_query('UPDATE news SET titre="'.$titre.'", bbcode="'.$news.'", texte_news="'.$news_parse.'" WHERE id='.$_GET['id']);

  9. #9
    Membre confirmé
    Avatar de Joe-La-Boule
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 219
    Points : 451
    Points
    451
    Par défaut
    je n'ai accès à aucune console malheureusement pour raison personnelles (je vais pas étaler ma vie privée) et du coup je ne peut pas faire ceci...
    Pourtant je fait des concaténations correctes et le where ne présente pas de problème...
    De plus j'ai pas oublié le mysql_query donc la, je vois pas...

  10. #10
    Membre confirmé
    Avatar de Joe-La-Boule
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 219
    Points : 451
    Points
    451
    Par défaut
    Sebastien -> ça ne change rien malheureusement...j'avais déjà essayé cela auparavant...

  11. #11
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 27
    Points : 34
    Points
    34
    Par défaut
    Essaie de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "UPDATE news SET titre='".$titre."', bbcode='".$news."', texte_news='".$news_parse."' WHERE id='".$_GET['id']."' ";
    après ta requete et poste le résultat, dès fois qu'un élément nous saute aux yeux... (Avec des données que tu essaies d'insérer pour bien voir ce qu'il en fait si possible).

    Merci

  12. #12
    Membre éclairé
    Homme Profil pro
    Développeur
    Inscrit en
    Juin 2006
    Messages
    645
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur

    Informations forums :
    Inscription : Juin 2006
    Messages : 645
    Points : 709
    Points
    709
    Par défaut
    Fais quelque chose de la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $__query = 'UPDATE news SET titre="'.$titre.'", bbcode="'.$news.'", texte_news="'.$news_parse.'" WHERE id='.$_GET['id'];
    echo $__query;
    // mysql_query($__query);
    Ce qui m'intéresse, c'est le echo $__query : ça permet de savoir ce qui va être envoyé exactement à mysql_query.
    C'est souvent là qu'on se fait avoir (espace manquant, etc).

    EDIT: grillé

  13. #13
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2008
    Messages : 294
    Points : 333
    Points
    333
    Par défaut
    Et bien cela ne peut pas venir de beaucoup de chose:

    - soit tu rentres pas correctement dans ta condition, dans ce cas un echo de ta requete permettrai de savoir si oui ou non c'est le cas, et d'après ce que tu dis tu rentres bien dans ta condition.

    - soit ta requete sql n'est pas bonne (probleme de nom de champ, de nom de table ou de syntaxe dans ta requete) si tu ne peux pas accéder à la console, difficile de vérifier.

    - soit ta connection à la base de données ne se fait pas ou et mal faite, tu peux regarder de ce coter la.

    - soit tu n'as pas soumis le formulaire qui renvoie les données de tes POST, as tu bien préciser dans ton formulaire method="POST", tu peux aussi regarder de ce coter la

  14. #14
    Membre confirmé
    Avatar de Joe-La-Boule
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2006
    Messages
    219
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2006
    Messages : 219
    Points : 451
    Points
    451
    Par défaut
    Nud0 merci, ça m'a permis de trouver le problème qui était en fait le $données['id']; au lieu de $_GET['id'] et j'ai donc changé et c'est ok merci ^^

  15. #15
    Nouveau membre du Club
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    27
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 27
    Points : 34
    Points
    34
    Par défaut
    Dans la définition de ton formulaire, pour l'action de ton <form>, plutot que mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id=<?php echo $donnees['id']; ?
    Essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    id=<?php echo $_GET['id']; ?
    Car je ne vois pas ou est défini le tableau $donnees !

    EDIT: Ah ben on a eu l'idée en même temps !
    N'oublie pas de cliquer sur "résolu" !

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

Discussions similaires

  1. [A-03] UPDATE qui ne met pas à jour
    Par Milyshyn76 dans le forum VBA Access
    Réponses: 2
    Dernier message: 10/11/2008, 10h15
  2. [MySQL] update qui ne met pas à jour avec mysql
    Par wyllos dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 03/09/2008, 11h59
  3. [MySQL] un update qui ne met pas les champs à jour
    Par naazih dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 22/05/2008, 21h44
  4. Update Récalcitrante !! Ne met pas à jour !
    Par samlepiratepaddy dans le forum Access
    Réponses: 14
    Dernier message: 28/10/2005, 09h31
  5. un update qui ne met pas à jour
    Par dor_boucle dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/10/2005, 09h31

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