UPDATE

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

19 juil. 2005, 14:58

c'est un peu le bazard là-dedans :roll:

pourquoi ces deux requêtes dans le fichier config.php ?
un fichier config ça ne contient normalement que des variables de configuration

à quoi servent-elles ?

et qu'est-ce que tu veux faire en gros, parceque tu transmets des données, tu en récupères d'autres...
exemple : tu récupères toujours dans ton fichier config.php $_GET['num'] alors que tu ne le transmet que pour form_update.php...

bref, y'a du nettoyage à faire ;)

Eléphant du PHP | 125 Messages

19 juil. 2005, 17:53

moi je serai d'avis qu'il change dans list_update.php "num" par "id" a la ligne ou il fait le lien puis dans sa page form_update.php il crée un champ caché qu'il nomme id et qui aura comme valeure $row_RecorId['id']

Code : Tout sélectionner

//dans list_update.php <?php echo "<a href='form_update.php?id=".$row_RecorMembers['id']."'".">".$row_RecorMembers['id']."</a>";?> //form_update.php <input name="id" type="hidden" id="id" value="<?php echo $row_RecorId['id']; ?>">
petit ou grand l'important c'est la référence

Eléphant du PHP | 258 Messages

19 juil. 2005, 20:59

c'est mieux mais...

mais dès que je modifie les données, ca a fait un enregistrement vide comme NULL

mais dès que je choisis un id à modifier, le fichier form_update.php n'affiche plus les données sotckées dans la base donc je peux pas savoir si les données sont correctes pour pouvoir être modifiées...

Cordialement
Cypher_PHP

Mammouth du PHP | 19672 Messages

20 juil. 2005, 08:32

Bon attends, il y a mélange des genres là :
le "LIKE" va être utilisé en recherche, le "=" en comparaison, donc ce devra être WHERE id = '". $id ."' et non WHERE id LIKE '". $id ."' puisque tu veux mettre à jour seulement cette ligne là et que ton "id" est clairement identifié. On utilise LIKE quand on cherche quelque chose qui correspond à la chaine envoyée en comparaison. On utilisera donc souvent quelque chose comme WHERE id LIKE '". $id ."%' ce qui veut dire "ou le champ id commence par la valeur du $id: si tu as donc $id = 12, tu auras donc en correspondance 12, mais aussi 120, 121, 122, 123, etc...
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 125 Messages

20 juil. 2005, 08:34

il faut que tu mettes le filtre "id" par rapport au parametre d'url "Id" avant ton RecorID comme ceci :
$tampon = "1";
if (isset($HTTP_GET_VARS['id'])) {
  $tampon = (get_magic_quotes_gpc()) ? $HTTP_GET_VARS['id'] : addslashes($HTTP_GET_VARS['id']);
}
//et le select de ton recorId doit se finir par WHERE id = '%s'", $tampon 
petit ou grand l'important c'est la référence

Mammouth du PHP | 19672 Messages

20 juil. 2005, 08:48

batti2b, merci de ta contribution, mais il serait bien de te mettre un petit peu à jour avant de donner des conseils : on utilise plus la formulation HTTP_GET_VARS ni HTTP_POST_VARS mais directement $_GET et $_POST, les anciennes formulation datant de PHP3, même si c'est ce qui sort des codes encore générés par DreamWeaver :mrgreen:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 125 Messages

20 juil. 2005, 09:00

tu as raison mais je débute et je n'ai pas eu le temps de me mettre a potacer serieusement le php :oops:
pour ma reponse comme je fait assé souvant ce genre de manip je lui ai dit comment faire :wink:
mais bon apres mon stage je me mettrai a etudier le php et comme ca je serai de bon conseil :wink:
PS pour mon stage on m'a forcé a faire du php mais apres avoir fréquenté ce forum ca me donne envie de continuer le php :D
petit ou grand l'important c'est la référence

Mammouth du PHP | 19672 Messages

20 juil. 2005, 09:05

Tu peux effectivement découvrir que le PHP est un langage de programmation à part entière. La version 5 de PHP n'a pas grand chose à envier à un autre langage comme Java par exemple. Ce n'est pas par hasard que des entreprises de taille plus qu'importante commencent à l'utiliser, y compris des banques. Va faire un petit tour sur le site de l'AFUP pour lire le livre blanc (version 2) sur le PHP, tu verras que c'est on ne peut plus sérieux malgré le fait qu les développeurs PHP soient encore trop souvent pris pour des petits codeurs du dimanche par les SSII qui préfèrent la notoriété du Java (et de ses usines à gaz)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 125 Messages

20 juil. 2005, 09:13

merci pour le lien vers les infos :wink:
petit ou grand l'important c'est la référence

Eléphant du PHP | 258 Messages

31 juil. 2005, 11:05

salut à tous

je tiens à apporter la solution finale qui sert à modifier les données mysql via un formulaire html

voici mes bouts de code:

fichier config.php
<?php
    $dbhost="sql.free.fr";
    $dblogin="xxxxxx";
    $dbpassword="xxxxxx";
    $dbname="xxxxxx";
	$dbtable='members';

$members=mysql_pconnect($dbhost,$dblogin,$dbpassword);mysql_selectdb($dbname);
mysql_select_db($dbname, $members);

$RecorMembers= mysql_query ("select * from $dbtable order by id desc");
$row_RecorMembers = mysql_fetch_assoc($RecorMembers);

$RecorId= mysql_query ("SELECT * FROM $dbtable where id='" . $_GET['num'] . "'");
$row_RecorId = mysql_fetch_assoc($RecorId);

//------ Chemin des images
define("image_path",'http://0540gbqu.free.fr/test/members/imgs/');

?>
fichier list_update.php:
<?php 
require_once('config.php');
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="cypher.css" rel="stylesheet" type="text/css">
</head>
<body>
<div align="center">
  <p class="text_titre">Administration</p>
  <p class="text_sstitre">Page de modification des membres</p>
</div>
<table border="0" align="center" cellpadding="0" cellspacing="0" class="header">
  <tr> 
    <td><a href="index.php">Accueil</a></td>
    <td><a href="form_add.php">- Ajout des membres</a></td>
    <td><a href="list_update.php">- Modification</a></td>
    <td><a href="list_delete.php">- Suppression</a></td>
    <td><a href="list.php">- Liste des membres</a></td>
    <td><a href="imgs/upload_imgs.php">- Upload d'une image</a></td>
  </tr>
</table>
<br>
<table width="75%" border="0" cellspacing="0" cellpadding="0">
  <tr> 
    <td colspan="4"> 
      <?php do {?>
    </td>
  </tr>
  <tr> 
    <td width="45%"><?php echo "<a href='form_update.php?num=".$row_RecorMembers['id']."'".">".$row_RecorMembers['id']."</a>";?></td>
    <td width="55%" class="text_list"><?php echo $row_RecorMembers['name'];?></td>
    <td width="55%" class="text_list"><?php echo $row_RecorMembers['prenom'];?></td>
    <td width="55%" class="text_list"><?php echo $row_RecorMembers['imgs'];?></td>
  </tr>
  <tr> 
    <td colspan="4"> 
      <?php } while ($row_RecorMembers = mysql_fetch_assoc($RecorMembers));?>
    </td>
  </tr>
</table>

</body>
</html>
fichier form_update.php:
<?php 
require_once('config.php');
?>
<html>
<link href="cypher.css" rel="stylesheet" type="text/css">

<body>
<div align="center">
  <p class="text_titre">Administration </p>
  <p class="text_sstitre">Page de modification</p>
</div>
<table border="0" align="center" cellpadding="0" cellspacing="0" class="header">
  <tr> 
    <td><a href="index.php">Accueil</a></td>
    <td><a href="form_add.php">- Ajout des membres</a></td>
    <td><a href="list_update.php">- Modification</a></td>
    <td><a href="list_delete.php">- Suppression</a></td>
    <td><a href="list.php">- Liste des membres</a></td>
    <td><a href="imgs/upload_imgs.php">- Upload d'une image</a></td>
  </tr>
</table>
<form method="POST" action="valide_update.php">
  <p>N&deg;: <?php echo $row_RecorId['id']; ?><br>
    Nom:<input type=text name="name"  value="<?php echo $row_RecorId['name'];?>"><br>
    Prénom: 
    <input type=text name="prenom" value="<?php echo $row_RecorId['prenom'];?>"><br>
	    Chemin:<input type=text name="imgs"  value="<?php echo $row_RecorId['imgs'];?>">
    <input type=hidden name="id" value="<?php echo $row_RecorId['id']; ?>">
    <br>
    <input type=submit value="Enregistrer">
  </p>
  </form>
</body>
</html>
fichier valid_update.php:
<?php 
require_once('config.php');
    
    // --- Récupération des données du formulaire
$id 		= $_POST['id'];
$name    = $_POST['name'];
$prenom = $_POST['prenom'];
$img   = $_POST['imgs'];

$RecorUpdate = mysql_query("UPDATE ".$dbtable." SET name='".$name."', prenom='".$prenom."', imgs='".$img."',   date=now() WHERE id LIKE '".$id."'") or die(mysql_error()); 
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="cypher.css" rel="stylesheet" type="text/css">
</head>
<body>
<p class="text_titre">Administration </p>
  
<p class="text_sstitre">Page de modification</p>

<table border="0" align="center" cellpadding="0" cellspacing="0" class="header">
  <tr> 
    <td><a href="index.php">Accueil</a></td>
    <td><a href="form_add.php">- Ajout des membres</a></td>
    <td><a href="list_update.php">- Modification</a></td>
    <td><a href="list_delete.php">- Suppression</a></td>
    <td><a href="list.php">- Liste des membres</a></td>
    <td><a href="imgs/upload_imgs.php">- Upload d'une image</a></td>
  </tr>
</table>
<p><br>
  Bravo vous avez modifi&eacute;:</p>
<table width="85%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td><?php echo $_POST['id'];?></td>
    <td><?php echo $_POST['date'];?></td>
    <td><?php echo $_POST['name'];?></td>
    <td><?php echo $_POST['prenom'];?></td>
    <td><?php echo $_POST['imgs'];?></td>
    <td><img src="<?php echo image_path . $_POST['imgs'];
?>" hspace="0" vspace="0" border="0"></td>
  </tr>
</table></body>
</html>

Merci à tous
Cordialement
Cypher_PHP