[Php] Un tableau administrateur compliqué

Un tableau administrateur compliqué [Php] - PHP - Programmation

Marsh Posté le 04-10-2006 à 20:20:27    

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.
 
 

Code :
  1. <?
  2. session_start();
  3. //connexion a la base
  4. mysql_connect("localhost", "", "" );
  5. mysql_select_db("" );
  6. //requete indispensable pour le retournement du nombre et du nom des champs
  7. $requete = mysql_query("SELECT * FROM ".$_SESSION["nomtable"]." WHERE id='".$_SESSION["idee"]."'" );
  8. //definition des variables pour les boucles
  9. $i=0;
  10. $o=0;
  11. //boucle executee tant que $i n'est pas = au nombre de champs
  12. while($i != mysql_num_fields($requete)){
  13. //requete de modification de ma table (c'est ici qu'est le probleme)
  14. mysql_query("UPDATE ".$_SESSION["nomtable"]." SET mysql_field_name($requete, $o)='".$_POST[$o]."'
  15. WHERE id='".$_SESSION["idee"]."'" );
  16. $o++;
  17. $i++;
  18. }
  19. ?>

Reply

Marsh Posté le 04-10-2006 à 20:20:27   

Reply

Marsh Posté le 05-10-2006 à 04:10:49    

heu, mysql_field_name, c'est une fonction de la base de donnée ou une fonction php? Vu que c'est une fonction php, elle n'a rien à faire dans le code de la requette : sort là de la chaine de caractére et ca ira mieux.
 
PS : Quand une requette ne marche pas, fait un echo de la requette (ou sauvegarde là dans un fichier si tu préfaires) et récupére le message d'erreur de mysql (s'il existe une fonction mysql_error, c'est pas pour rien)

Reply

Marsh Posté le 05-10-2006 à 18:27:30    

Merci bien ca marche juste eu besoin de mettre mysql_name_field dans une variable :)

Reply

Sujets relatifs:

Leave a Replay

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