JeuWeb - Crée ton jeu par navigateur
[Résolu] Déplacer un champ de la base de donnee via un formulaire - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu] Déplacer un champ de la base de donnee via un formulaire (/showthread.php?tid=1462)

Pages : 1 2 3


[Résolu] Déplacer un champ de la base de donnee via un formulaire - biboum - 06-08-2008

Bonjour à vous, il ne me semble pas avoir trouver ce que je veux dans les autres questions posé par les membres. Il se peut que cela puisse se faire de façon différente que comme je le recherche actuellement.

J'ai d'abord commencer par appeler des données de ma table dans un tableau . Tout le tableau est un formulaire qui affiche en boucle tout le contenu de la table. Chaque élement du champ affiché est en adéquation avec un "radiobutton". L'idée serait donc de permettre de creer une variable qui lors de la validation fait la requête de déplacer le pays (champ :"pays_dispo")sélectionner dans la base de donnée (champ : "pays_pris")
En gros, le tableau va afficher tous les pays disponible via sql, et avec le formulaire lors de la validation on fait transmutter le seul pays selectionner vers un autre champ sql "pays_pris". Ainsi ce pays-ci ne sera plus affiché lors de la réactualisation de la page vu qu'il ne sera plus appelé.

J'avais pensé à un Alter mais il semblerait que je ne le mette pas au bon endroit...

Auriez vous une idée, en sachant que le reste du code provient de dreamweaver donc le code est très lourd à lire. Mais je pourrais le modifier en conséquence sans soucis. Merci de votre aide d'avance.


RE: déplacer un champ de la base de donnée via un formulaire - biboum - 06-08-2008

Non tu as une liste de pays qui provient de la base de donnée. Ce sont les pays dispo. (nommé "pays dispo" dans sql") La page html me les affiche. L'utilisateur va selectionner l'un de ces pays via le formulaire. Et je veux que l'action qui se fasse soit de déplacer dans ma base de donnée le pays selectionner de "pays dispo" vers "pays pris". Donc oui il y a deux champs dans la même table dans le sql : "pays dispo" et "pays pris" mais la page html ne m'affiche que les pays dispo.

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
$insertSQL = sprintf("INSERT INTO pays (`pays pris`) VALUES (%s)",
GetSQLValueString($_POST['choixpays'], "text"));

mysql_select_db($database_membre, $membre);
$Result1 = mysql_query($insertSQL, $membre) or die(mysql_error());

$insertGoTo = "index.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $insertGoTo));
}

C'est la partie php du formulaire. Actuellement ca me crée une nouvelle ligne dans ma base sql...mais je n'arrive pas à voir ce qui crée cette ligne et donc où transformer la requête donc ...où mettre l'Update. J'avais essayer avant le "mysql_select_db(database_membre, $membre); Mais ca n'avait pas l'air d'être accepté.

Pour l'histoire du Alter, c'était une nouvelle voie vers laquelle je pensais me tourner vu que j'en avais essayer plein d'autre. Mais une refonte du code me semble nécéssaire.


RE: déplacer un champ de la base de donnée via un formulaire - biboum - 06-08-2008

Parce que je ne sais pas où la mettre Smile


RE: déplacer un champ de la base de donnée via un formulaire - biboum - 06-08-2008

Tu as raison, la structure ne semble pas adapté pour ce type de demande. Cela avait marché en bidouillant un peu le code pour faire l'identification de membre. Mais je vais recoder ça entierement dans un language plus conventionnellement "à la française" et moins "logiciel préformater".

Ca sera plus simple et je pourrais surement plus facilement y inclure ta conception. Même si je n'ai toujours pas compris le "faux-vrai", ca je peux l'inclure dans le code avec les if et while et {} mais je ne vois pas bien comment tu veux le mettre dans le tableau dynamique sans que l'utilisateur le vois. Si je fais tout ca en hidden, ca sera pareil, ca ne sera pas dynamique ...bref je patauge un peu j'avoue...


RE: déplacer un champ de la base de donnée via un formulaire - biboum - 06-08-2008

Hummm...je suis désolé j'ai du mal m'exprimer...
Il faut que je puisse déplacer le pays sélectionner qui appartient à la table "pays dispo" vers la table "pays pris". Donc c'est à l'envoie du formulaire qu'il faudra dire la requête. Donc je ne peux pas dire faux-vrai, vu qu'il faudrait déjà que cela soit sélectionner...
Le fait que cela m'affiche que les pays dispo c'est bon, mais pas de déplacer une donnée d'une table à une autre...


RE: déplacer un champ de la base de donnée via un formulaire - biboum - 06-08-2008

Parce qu'il va s'agir d'un jeu où l'on devra choisir son pays...Donc deux personnes ne pourront pas avoir le même pays.
Si biboum à la France, jean-jacques ne pourra plus l'avoir.
C'est pour ca que la page du choix du pays (celle que je fais donc) affiche les pays qui sont encore dispo et qu'à la fin de ce choix (du formulaire) une requete doit demander a ce que le pays sélectionner aille dans une autre table, donc "pays pris".

Dans la base de donnée cela ne change en rien sa structure...c'est juste un Update j'imagine à mettre mais je ne sais pas comment accorder cet update avec le bouton submit.


RE: déplacer un champ de la base de donnée via un formulaire - biboum - 06-08-2008

Alors restons dans ton optique. (Même si je reviendrais une autre fois avec la même question vu que les formulaire c'est mon gros problème avec le submit...Confused)

Comment dois-je faire pour que la structure s'adapte et que je puisse afficher uniquement les pays à false. Pour cela il faut bien que quelque part ce soit dit que le pays est pris non ? Une variable ? Oui mais alors elle ne s'actualisera pas à chaque tentative, il faudra que je l'implante manuellement non ?


RE: déplacer un champ de la base de donnée via un formulaire - biboum - 06-08-2008

Je laisse le code plutot qui est déjà implanté après une refonte totale depuis tout à l'heure. Mais là je bloque à ce niveau là. Il y a l'endroit du Insert to qui je pense pourrait permettre un UPDATE - SET non ?

Je suis vraiment désolé mais ton histoire de true-false ca ne convient pas pour la suite...enfin pas comme c'est fait pour le moment. Et je ne vois vraiment pas comment l'implémenter, je ne comprend pas comment la variable sur ton code peut se dire que le pays devient pris sans l'inscrire quelque part dans la base de donnée...

Code :
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "pays coche")) {
  $insertSQL = sprintf("INSERT INTO pays (`pays pris`) VALUES (%s)",
                       GetSQLValueString($_POST['radiobutton'], "text"));

  mysql_select_db($database_membre, $membre);
  $Result1 = mysql_query($insertSQL, $membre) or die(mysql_error());

  $insertGoTo = "index.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}



RE: déplacer un champ de la base de donnée via un formulaire - biboum - 06-08-2008

...J'en ai marre Smile


Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in C:\wamp\www\www\Cosmopoeia\choixpays2.php on line 38

Je vais aller dormir un peu ca ira mieux demain je pense.
Code :
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "pays coche")) {
  $updateSQL = sprintf("UPDATE pays SET pays_pris = TRUE WHERE nom = GetSQLValueString($_POST['radiobutton']", "text"));

J'imagine que c'est une érreur toute bête, mais là c'est le dernier test de code que j'ai fait...d'après ce que tu me dis...j'avais set pays_pris = "pays coche" et ca me raffichait la page en revanche, le bouton submit ne marchait plus...^^

Bref c'est vraiment une partie du php que je ne comprend plus là. Pour le fixe on verra demain je vais stopper un peu pour ce soir je pense. Mais merci en tout cas.

Edit : tu parles que ca me raffichait la page ce n'était pas "pays coché" mais radiobutton que j'avais noter...désolé de l'erreur. Mais ca change pas grand chose.


RE: déplacer un champ de la base de donnée via un formulaire - biboum - 07-08-2008

Niet. Bon demain je reprendrais de Zero toute la fin du formulaire concernant le submit. Il y a trop de bidoulliage à l'intérieur et de code que je ne comprend même pas vu que c'est dreamweaver qui me l'inserais...

Je tenterais de faire ca manuellement pour le formulaire...Confused mais c'est bien là ou je bloque. Je n'arrive pas à lui faire correspondre le submit avec son action à faire d'où pourquoi j'utilisais dreamweaver pour ca...

Bref merci oxman mais ca n'a pas l'air de marcher, je crois que j'ai eut tous les messages d'erreurs de dispo^^