Aller au contenu

[PHP-Mysql] Un tableau administrateur compliqué


puck

Messages recommandés

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 :D

Pouvez vous m'aider ?

Merci d'avance :)

Lien à poster

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

Bon alors un peu plus d'explications, je suis entrain de coder donc un tableau administratif sous cette forme la :

scrrenshotmemembreik3.jpg

(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é :D.

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 :p .

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

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

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 :D.

Lien à poster

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
×
×
  • Créer...