8797 sujets

Développement web côté serveur, CMS

Bonjour, je suis tout nouveau et un débutant.

J'ai commencé en faisan un site tout simple en php, maintenant j'aimerais l'améliorer en ajoutant un menu administration pour simplifier les modifications de mon site.

J'ai tout remis en local avec le logiciel AppServ, et je me suis attaquer aux news.

Ma base = stwn, table = news, colonnes = id, auteur, titre, date et texte_news

L'affichage aucun problème, l'ajout d'une nouvelle news pareil, mais je bloque sur la modification Smiley bawling .

Alors j'ai chercher sur le net pour facilité et je bloque quand même.

j'ai une page change_news.php

<html>
  <head>
    <title>modification de news</title>
  </head>
<body>
  <?php
    //connection au serveur:
    include '../config.php';
  
    //sélection de la base de données:
    $db = mysql_select_db( "stnw" ) ;
  
    //requête SQL:
    $sql = "SELECT *
	      FROM news
	      ORDER BY id" ;
  
    //exécution de la requête:
    $requete = mysql_query( $sql, $base ) ;
  
    //affichage des données:
    while( $result = mysql_fetch_object( $requete ) )
    {
       echo("<div align=\"center\">".$result->id." ".$result->auteur." ".$result->titre." ".$result->date." ".$result->texte_news." <a href=\"change_news2.php?idPersonne=".$result->id_personne."\">modifier</a><br>\n") ;
    }
  ?>
</body>
</html>


change_news2.php
<html>
  <head>
    <title>modification de données en PHP :: partie2</title>
  </head>
<body>
  <?php
  //connection au serveur:
  include '../config.php';
  
  //sélection de la base de données:
  $db = mysql_select_db( "stnw" ) ;
  
  //récupération de la variable d'URL,
  //qui va nous permettre de savoir quel enregistrement modifier
  $id  = $_GET["idPersonne"] ;
  
  //requête SQL:
  $sql = "SELECT *
            FROM news
	    WHERE id_personne = ".$id ;
	    
  //exécution de la requête:
  $requete = mysql_query( $sql, $base ) ;
  
  //affichage des données:
  if( $result = mysql_fetch_object( $requete ) )
  {
  ?>

<form name="insertion" action="change_news3.php" method="POST">
  <input type="hidden" name="id" value="<?php echo($id) ;?>">
  <table border="0" align="center" cellspacing="2" cellpadding="2">
    <tr align="center">
      <td>nom</td>
      <td><input type="text" name="auteur" value="<?php echo($result->auteur) ;?>"></td>
    </tr>
    <tr align="center">
      <td>prenom</td>
      <td><input type="text" name="titre" value="<?php echo($result->titre) ;?>"></td>
    </tr>
    <tr align="center">
      <td>adresse</td>
      <td><input type="text" name="date" value="<?php echo($result->date) ;?>"></td>
    </tr>
    <tr align="center">
      <td>code postal</td>
      <td><input type="text" name="news" value="<?php echo($result->texte_news) ;?>"></td>
    </tr>
    <tr align="center">
      <td colspan="2"><input type="submit" value="modifier"></td>
    </tr>
  </table>
</form>
  <?php
  }//fin if 
  ?>
</body>
</html>

et change_news3.php
<?php
  //connection au serveur
  include '../config.php';
 
  //sélection de la base de données:
  $db  = mysql_select_db( "stnw" ) ;
 
  //récupération des valeurs des champs:
  //Auteur:
  $nom     = $_POST["auteur"] ;
  //Titre:
  $prenom = $_POST["titre"] ;
  //Date:
  $adresse = $_POST["date"] ;
  //Texte de la news:
  $cp        = $_POST["news"] ;
  
  //récupération de l'identifiant de la personne:
  $id         = $_POST["id"] ;
  
  //création de la requête SQL:
  $sql = "UPDATE personnes
            SET nom         = '$auteur', 
	          prenom     = '$titre',
		  adresse    = '$date',
		  cp           = '$texte_news',
           WHERE id_personne = '$id' " ;
  
  //exécution de la requête SQL:
  $requete = mysql_query($sql, $base) or die( mysql_error() ) ;
 
  
  //affichage des résultats, pour savoir si la modification a marchée:
  if($requete)
  {
    echo("La modification à été correctement effectuée") ;
  }
  else
  {
    echo("La modification à échouée") ;
  }
?>


tout s'affiche bien dans "change_news.php" mais quand je clic sur modifier, j'obtiens une erreur :

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\tnw\admin\change_news2.php on line 26

Si quelqu'un aurais le temps et la patience de m'aider svp, ce serais vraiment sympa.

Un très grand merci d'avance.

Cordialement
Modifié par Stross (15 Jul 2008 - 12:53)
Tu as probablement une erreur dans ta requête SQL. Utilise mysql_error pour obtenir le message d'erreur.
Bonjour,

Merci beaucoup de votre réponse.

Je vais essayer de faire ce que je peux.

J'ai réussi Smiley biggrin .

ERREUR MYSQL numéro: 1064
Type de cette erreur: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 3


Maintenant je sais ou chercher, un grand merci.

Cordialement.
Modifié par Stross (15 Jul 2008 - 11:45)