update qui peut me faire gagner du temps

anna70
Invité n'ayant pas de compte PHPfrance

11 févr. 2006, 21:14

Bonjour à tous,

je suis en train de refaire ma base de données tout en récupérant l'ancienne .

voila ce que je voudrai faire :

dans la table annonce, il y'a le champ id qui est renseigné , j'ai ajouté à la fin de cette table un champ que j'ai appelé id_p .

ce que je voudrai faire c'est un update sur id_p en lui le renseignant avec la valeur de id de son champs .

Voici le morceau de code que j'ai fais mais je coince depuis des heures, tout ce que le script d'en dessous fait c'est c'est renseigner tout les id_p de la table avec la l' id du premier champ, comment vous vous l'auriez fait merci d'avance ( je commence à avoir mal aux yeux et à la tête :cry: ) :

Code : Tout sélectionner

<?php require ("param.php"); @ $db = mysql_pconnect ("$dv_host","$dv_login","$dv_pass"); if (!$db) { echo "Erreur : pas de connection à la base reéssayer plus tard!!!"; exit; } mysql_select_db("$dv_base",$db); $que="select*from annonce"; $resul=mysql_query($que); $num_result = mysql_num_rows($resul); if ($resul) { $ques="select id from annonce"; $resuls=mysql_query($ques); $num_results = mysql_num_rows($resuls); $row=mysql_fetch_array($resuls); $id = "$row[id]"; if ($num_results) { for($i=1;$i<=$num_result;$i++) { $que="UPDATE annonce set id_p ='$id'"; $resul=mysql_query($que); } } } ?>

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

11 févr. 2006, 21:31

Salut, tu peux le faire en une seule requete:
$que="UPDATE annonce set id_p = id";
$resul=mysql_query($que);
tout simplement, parcontre quel est l'utilité d'avoir deux champ didentiques dans la meme table ? :-k

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

anna70
Invité n'ayant pas de compte PHPfrance

11 févr. 2006, 21:46

merci de ta reponse,

heu tu crois vraiment que ça marche comme ça, sachant qu'il y'a 400 champs et le faite de mettre cette requete ça va me mettre id dans id_p de chaque champs ??? :roll: .

anna70
Invité n'ayant pas de compte PHPfrance

11 févr. 2006, 21:49

Salut, tu peux le faire en une seule requete:
$que="UPDATE annonce set id_p = id";
$resul=mysql_query($que);
tout simplement, parcontre quel est l'utilité d'avoir deux champ didentiques dans la meme table ? :-k
merde ça marche , merci tu me sauve ma soirée .

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

11 févr. 2006, 21:59

éh bien oui que ça marche :lol:

est-ce un secret l'utilité de cette mise à jour ? parceque ce n'est pas vraiment optimisé d'ajouter un champ qui se répete dans une table

mais ce qu'on peut faire c'est de demander à un Modo de placer le sujet en [Résolu], pense a t'inscrire pour la prochaine fois :wink:

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

anna70
Invité n'ayant pas de compte PHPfrance

12 févr. 2006, 01:25

merci truc de ton aide :lol: .

en ce qui concerne la repetition c'est à cause que j'ai divisé une table en deux et que chacune garde le meme id et que dans une des deux table je repete le champs pour la liaison entre eux .

Oups , j'espere que je me suis fais comprendre .
a+