puck 0 Posté(e) le 25 septembre 2006 Partager Posté(e) le 25 septembre 2006 Bon alors, je suis entrain de coder un tableau administrateur avec modification de table et de champ automatique, jusque la tout va bien mais je dois aussi pouvoir modifier les entrés alors la je coince sur la requête de modification, mon code vous montrera d'avantage : Sachant qu'il n'y a aucune erreur dans les variable de sessions Pouvez vous m'aider ? Merci d'avance Lien à poster
PoP 0 Posté(e) le 25 septembre 2006 Partager Posté(e) le 25 septembre 2006 J'ai rien compris, c'est grave? Lien à poster
UniKorn 2 Posté(e) le 25 septembre 2006 Partager Posté(e) le 25 septembre 2006 Même sa signature est obscure ! Au moins, on n'a pas le droit aux login et pass apparents cette fois-ci. SET mysql_field_name($requete,$o)='".$mysql_field_name($requete, $o) Il n'y aurait pas comme une redondance là ?!? Edit> PoP, tu es venu pomper dans ma playlist, toi ! ^^ Lien à poster
nworr 0 Posté(e) le 25 septembre 2006 Partager Posté(e) le 25 septembre 2006 PoP > non, c'est normal .... J'ai l'impresion que tu es en train de faire un truc qui modifie la structure de ta base non ? mais à ce moment là je vois pas pourquoi tu veux modifier les données, elle n'ont pas bougé. Mais sinon le SET mysql_field_name($requete, $o)='".$mysql_field_name($requete, $o)."' est bizarre.Question : le session passe forcement par des cookies non ? Lien à poster
puck 0 Posté(e) le 26 septembre 2006 Auteur Partager Posté(e) le 26 septembre 2006 Bon alors un peu plus d'explications, je suis entrain de coder donc un tableau administratif sous cette forme la : (ce sont toutes les entrés alignées en dessous l'une de l'autre avec des boutons modification et suppression. Quand on clic sur les liens en haut de la page, on change de table et les entrés de cette table s'affiche donc.) Quand on clic sur edit ou tombe sur une page avec des champs de texte et un bouton submit. Sur cette page je déclare les Sessions ensuite le bouton submit nous envoi sur une page qui contient donc le code que je vous ai donné . Et la ligne d'erreur doit être sur cette ligne ci : mysql_query("UPDATE ".$_SESSION["nomtable"]." SET mysql_field_name($requete, $o)='".$mysql_field_name($requete, $o)."' WHERE id='".$_SESSION['idee']."'"); Qui est vraiment tordue . Edit: SET mysql_field_name($requete,$o)='".$mysql_field_name($requete, $o)."' Parce que les champs de texte ont comme nom "mysql_field_name($requete, $o)" tout comme les champs de ma table. Ce qui devrait ressembler à : SET nom='".$nom."' Lien à poster
UniKorn 2 Posté(e) le 26 septembre 2006 Partager Posté(e) le 26 septembre 2006 Parce que les champs de texte ont comme nom "mysql_field_name($requete, $o)" tout comme les champs de ma table. Ce qui devrait ressembler à : SET nom='".$nom."'/quote1159283382]Tu veux pas relire ta connerie ? 'nom' n'est pas '$nom', les champs de table ne sont pas dynamiques. Essaye de coder du C avec des noms de variables indéfinis ! alors du Mysql ... Lien à poster
puck 0 Posté(e) le 3 octobre 2006 Auteur Partager Posté(e) le 3 octobre 2006 Arff j'avais oublié un truc, mysql_query("UPDATE ".$_SESSION["nomtable"]." SET mysql_field_name($requete, $o)='".$_POST[$o]."' WHERE id='".$_SESSION["idee"]."'"); Sachant que les champs textes sont només par des numeros d'ou le "$_POST[$o]" Maintenant ça ne me met plus d'erreur mais ça ne modifie rien . Lien à poster
PoP 0 Posté(e) le 4 octobre 2006 Partager Posté(e) le 4 octobre 2006 puck, on comprend rien à ton code. On sait même pas ce que tu veux faire, rien. Lien à poster
puck 0 Posté(e) le 4 octobre 2006 Auteur Partager Posté(e) le 4 octobre 2006 puck, on comprend rien à ton code. On sait même pas ce que tu veux faire, rien. Bon, en "clair" je code un tableau administrateur avec plusieurs tables, dans ce tableau l'admin pourra modifier les données présentée en fonction de la table choisie (le nom des tables est affiché en haut de mon screenshot). L'admin clic sur un lien qui l'amène sur une page avec toutes les entrées répertoriées l'une en dessous de l'autre (cf: screenshot). Le problème: Pour modifier des entrés dans une table, on doit connaître exactement le nombre et le nom des champs de celle ci, c'est la raison pour laquelle je fais une boucle qui s'exécute en fonction du nombre de champs et qui modifie à chaque fois qu'un champ dont le nom est "mysql_field_name($requete, $o)" sachant que la variable $o me retourne a chaque fois le bon champ. <? session_start(); //connexion a la base mysql_connect("localhost", "", ""); mysql_select_db(""); //requete indispensable pour le retournement du nombre et du nom des champs $requete = mysql_query("SELECT * FROM ".$_SESSION["nomtable"]." WHERE id='".$_SESSION["idee"]."'"); //definition des variables pour les boucles $i=0; $o=0; //boucle executee tant que $i n'est pas = au nombre de champs while($i != mysql_num_fields($requete)){ //requete de modification de ma table (c'est ici qu'est le probleme) mysql_query("UPDATE ".$_SESSION["nomtable"]." SET mysql_field_name($requete, $o)='".$_POST[$o]."' WHERE id='".$_SESSION["idee"]."'"); $o++; $i++; } ?> Lien à poster
nworr 0 Posté(e) le 4 octobre 2006 Partager Posté(e) le 4 octobre 2006 id est toujours le nom de la clé ? Lien à poster
puck 0 Posté(e) le 4 octobre 2006 Auteur Partager Posté(e) le 4 octobre 2006 Oui, toujours. Lien à poster
puck 0 Posté(e) le 5 octobre 2006 Auteur Partager Posté(e) le 5 octobre 2006 J'ai trouvé , il n'y avait qu'a mettre "mysql_name_field" dans une variable et raporté cette variable dans la requete. Merci pour toutes vos réponses Lien à poster
PoP 0 Posté(e) le 5 octobre 2006 Partager Posté(e) le 5 octobre 2006 puck, je crois que tu es bien parti pour figurer un jour dans les pages du Daily WTF. D'ailleurs ta façon de faire me fait penser à ça. Lien à poster
Messages recommandés