updater un enregistrement à partir d'une liste déroulante

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : updater un enregistrement à partir d'une liste déroulante

par dediecas » 18 juil. 2005, 17:07

oui je comprends le problème c'est que je prends la suite de qq'un et le code php est rédigé comme des classes Java avec des fonctions et des constructeurs et je n'ai pas l'habitude de travailler comme ça.
voici ma fonction :
/*********************************************************
* Class: frm_affect_to_another_reporter
* Description: allow to re-affect bugs to another reporter
* @date: 12/07/2005
*********************************************************/
class frm_affect_to_another_reporter extends tpl_form {
// Nom de la classe
var $classname = "frm_affect_to_another_reporter";
// Type de l'action
var $type_action = "new";
// cible du script
var $script_target = "";
// ID de l'utilisateur
var $user_id = 0;
// Titre du formulaire
var $form_title = "";
// Tableau de valeurs
var $myvalues = array();

// Constructor
function frm_affect_to_another_reporter ($type_action, $auth) {
GLOBAL $PHP_SELF;
$this->type_action = $type_action;
$this->user_id = $auth->auth["uid"];

// If new, affect bugs to another reporter
if ($type_action == "new") {
$this->script_target = sprintf("$PHP_SELF?datatype=affect_to_another_reporter&action=update");
$this->form_title = "Re affect bugs to another reporter";
}

// If update, update the new registration/reporter as current reporter
if ($type_action == "update") {
$this->script_target =sprintf("PHP_SELF?datatype=affect_to_another_reporter&action=update");
$this->form_title = "Update new reporter";

// ici mon probleme
//connexion to the data base
$mydb = new DB_nextbug;
$query = sprintf("UPDATE bug
SET bug_reporter = %d
WHERE bug_reporter = ",$this->bug_reporter);
$mydb->query($query);
printf("<span class=txbbleu>New reporter %s updated</SPAN><BR><HR>");
}

}// end constructor

// Preparation des champs ==> construit les objets du formulaire
// Pas de parametre
function setup_fields() {
$DB_lst = new DB_nextbug;
// Construction de la boite de selection
$lst = $DB_lst->get_user_list();
$title = sprintf("Select the current reporter" );
$this->form_data->add_element(array(
"type" =>"select",
"name" =>"user_name",
"options" =>$lst,
"size" =>1 ));
$this->form_data->add_element(array(
"name" => "submit",
"type" => "image",
"src" => "image/submit.gif" ));
}//end of setup_fields
}// end class frm_affect_to_another_reporter

par raptor » 18 juil. 2005, 16:59

salut,

il faut donné un name=" a tes deux liste deroulantes.
chaque options des listes a l'identifiant de la personne comme value je suppose.

Ensuite, la requete c'est un "update table set personne='".$_POST["personne2"]."' where id_mission="'.$id'";

mais bon il est impossible de te donner une solution concrete et adapté a ton cas sans la structure de ta/tes tables et le code que tu as deja dans la page.

updater un enregistrement à partir d'une liste déroulante

par dediecas » 18 juil. 2005, 16:56

Bonjour à tous

Je galère sur mon code depuis un bon moment maintenant et je ne trouve toujours pas de solutions alors peut être que qq'un pourra m'aider ou m'éclairer.
en fait j'ai créer une fonction php qui permet de réaffecter une mission à une autre personne. je m'explique. Une personne est chargée d'une mission seulement quand celle ci part, il faut réaffecter cette mission à une autre personne. Pour cela, j'ai deux listes déroulantes avec le nom des personnes. Je dois donc sélectionner la personne actuelle d'abord puis ensuite je sélectionne la remplaçante. enfin quand je clique sur le bouton envoyer la base de données est mise à jour mais c'est là que je coince. je ne trouve pas la bonne requete sql
concretement ça donne:

remplacer la personne actuelle : Liste déroulante
par la nouvelle : liste déroulante
Bouton envoyer

je sais pas si c'est clair...