probleme programmation

probleme programmation - PHP - Programmation

Marsh Posté le 05-11-2005 à 14:07:59    

bonjour a tous
 
voila , ca fait un moment que je tourne en rond
 
voici mon probleme
 
j'ai creer une page d'authentification (inscription...)
pas de probleme
mes visiteurs obtienne donc un id
le site est bati
j'ai egalement creer une page pour voir chaque id (foto, fiche ,et autre info) style: voir.php?id=5
j'aimerais que ceux si puissent creer leur fiche ou profil ( car pour le moment , pour la fiche description ,c'est moi qui l'encodais direct sur ma base de donnee pour tester :) )
pour se faire , je pense a creer une page "edit.php" ( peu importe du nom ^^)
quii ajouterai a la base de donee le contenu ,(aucun probleme jusque la)
mais voila sur la table se crée a chaque fois un id different
donc , il y a un schmilblick , c'est pas possible de le faire de cette facon , ou alors il fait mettre une partie de code
donc mon probleme , j ai par exemple l'id 5 qui veut se decrire sur sa fiche , il va sur le lien et clique sur "envoyer" par exemple , et l' "id" de la fiche prend un id a la suite des autre creer sur la table donc aucun rapport avec son id propre (5)donc j'aimerai bien que SA fiche correspond a SON id et pas a un autre:)
 
j'essaye plusieur chose depuis maintenant 10jours mais je tourne en rond, si quelqun pourrai m'aider a se niveau , il serai super sympa ,
 
merci ,

Reply

Marsh Posté le 05-11-2005 à 14:07:59   

Reply

Marsh Posté le 05-11-2005 à 14:14:05    

au vu de ce que tu décris, je suppose que tu as crée une table avec un champs ID en auto_increment sous MySQL (toute facon j'ai rarement vu des personnes faire du PHP+Oracle ici :p)
 
regarde du côté de ta requête, si tu veux conserver l'ID tu dois modifier ta requête en conséquence

Reply

Marsh Posté le 05-11-2005 à 14:20:44    

oui
voila
 
j'ai une table user pour mes visiteur
et une autre table fiche
 
j'ai decidé de ne pas mettre sur la meme table et donc de ne pas rajouter un champs tel que 'fiche' , ai-je tors?
 
donc voila
j'ai ceci sur ma page "edit"
 
....
$fiche = $_POST['fiche'];
...
$sql = "INSERT INTO " . $table . "fiche VALUES('" . $fiche . "') ";
 
biensur ici c'est normal que l' "id fiche" ne sera pas le meme que l "id visiteur "  
donc j essaye plusieur chose  telque:
$sql = "INSERT INTO " . $table . "fiche ,id_fiche VALUES('" . $fiche . "','" . $id_fiche . "') "; en y mettant des $id_fiche=$id
 
bref ca ne tien plus debout, et la , je cherche quel requete serai la meilleure
 
j'espere que vous comprenez le blem:)
 

Reply

Marsh Posté le 05-11-2005 à 14:44:49    

rut a écrit :

oui
voila
 
j'ai une table user pour mes visiteur
et une autre table fiche
 
j'ai decidé de ne pas mettre sur la meme table et donc de ne pas rajouter un champs tel que 'fiche' , ai-je tors?
 
donc voila
j'ai ceci sur ma page "edit"
 
....
$fiche = $_POST['fiche'];
...
$sql = "INSERT INTO " . $table . "fiche VALUES('" . $fiche . "') ";
 
biensur ici c'est normal que l' "id fiche" ne sera pas le meme que l "id visiteur "  
donc j essaye plusieur chose  telque:
$sql = "INSERT INTO " . $table . "fiche ,id_fiche VALUES('" . $fiche . "','" . $id_fiche . "') "; en y mettant des $id_fiche=$id
 
bref ca ne tien plus debout, et la , je cherche quel requete serai la meilleure
 
j'espere que vous comprenez le blem:)


 
c'est un nouveau champ que tu as fait ?
parce que dans ce cas utilise UPDATES :

Code :
  1. $sql="UPDATE $table SET prenom='$prenom',desc='$desc' where id='$id'";


Message édité par 100top le 05-11-2005 à 14:45:08
Reply

Marsh Posté le 05-11-2005 à 14:51:34    

c'est a dire que j'ai deux tables
 
donc avec "edit.php" j'envoi une info(fiche) sur la base sur la table (fiche) (meme nom mais ce n'etai pas fait expres)
 
cette info est comme qui dirai logguer avec un id propre
 
 
la table de l'id du visiteur avec certaine autre infon'est pas la meme que la table "fiche"
 
 
si le visiteur qui a son id =9 , l'id de la fiche sera peut etre 4 , 5 ou 129 , c'est pour ca , que j aimerai trouver la solution pour  que la fiche corresponde au visiteur
 

Reply

Marsh Posté le 05-11-2005 à 14:57:18    

moi je ne comprends rien avec ces variables qui ont toutes les meme nom mais qui désignent toute des tables différentes

Reply

Marsh Posté le 05-11-2005 à 15:01:07    

J'ai deux tables , une page qui permet a l'utilisateur de se "decrire" , il faut que la fiche appartienne a se visiteur et pas a quelqun d'autre voila :)
 
si tu veux , j 'ai sur une table , l'info de l'utilisateur (mot de passe, login ,age etc)
et sur l'autre , ce sont les fiches :)

Reply

Marsh Posté le 05-11-2005 à 16:20:18    

merci de donner :
- les requêtes que tu passe avec des noms explicites (nommer des tables différentes dans la même variable $table sans nous donner les valeurs ca aide pas)
- de donner les structures de table, sinon on va inventer des requêtes farfelues
 
pourtant ca a pas l'air compliqué, il suffit d'insérer dans la seconde table l'ID de l'utilisateur, mais bon comme tu es avare en détails (options de la table ? base de données ? structure de la table ? requêtes passées ?) on va forcément répondre à côté de la plaque

Reply

Marsh Posté le 05-11-2005 à 18:39:44    

ma base : test
table: users et fiche
 
champs dans 'users' : id , user_name , password,age,sexe
champs dans 'fiche' : id_fiche , fiche
 
page 'voir.php' : $req = "SELECT id  , user_name   ". "FROM users WHERE id = ".$id;
 
page 'edit.php' (page pour envoyer les info de la fiche a la base 'test':
$sql = "INSERT INTO " . $table . "fiche ,id_fiche VALUES('" . $fiche . "','" . $id_fiche . "') ";
(quand $table=fiche)
 
voila , il manque des info?

Reply

Marsh Posté le 05-11-2005 à 18:58:14    

as-tu l'option auto-increment pour le champs "id_fiche" de la table fiche ? si c'est le cas, enlèves le
vérifie que $id_fiche possède bien le ID qu'il faut
je ne vois pas d'erreurs dans les requetes

Reply

Marsh Posté le 05-11-2005 à 18:58:14   

Reply

Marsh Posté le 05-11-2005 à 19:13:20    

auto-increment n'est plus "activer"
 
avec la requete :$sql = "INSERT INTO " . $table . "fiche ,id_fiche VALUES('" . $fiche . "','" . $id_fiche . "') ";
 
lorsque je teste , j'obtien ceci :
 
Notice: Undefined variable: id_fiche in c:\weblocal\test\edit.php on line 36
 
et naturelement , l'info de la fiche ne s'ajoute pas sur la base
 
lorsque je fais avec cette requete : $sql = "INSERT INTO " . $table . "(fiche) VALUES('" . $fiche . "') ";
 
cela marche , il y a bien memorisation dans la base mais avec id_fiche=0
si je met auto-increment , ca devien 1 puis 2 etc mais ca j'ai pas besoin de te le dire:)
 
 

Reply

Marsh Posté le 05-11-2005 à 22:14:54    

L'erreur que t'as est une erreur php. Tu utilise surement la variable $id_fiche sans lui avoir donné de valeur avant. Revoit le code php.
 
Pour les table, j'ai l'impression que tu as un problème de structure. Si tu veux pouvoir associer une fiche à son auteur tu dois peut-être ajouter un champ id_auteur dans la table fiche non ?  
 
champs dans 'users' : id_user , user_name , password,age,sexe (id_user en auto_incremente à la rigueur )
champs dans 'fiche' : id_fiche , fiche , id_user (id_fiche auto_incremente idem)


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed