begin process at 2012 05 29 00:06:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

POO

 > 

Classes & Objets

 > 

CodeIgniter


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

CodeIgniter

mercredi 18 février 2009 à 10:31:36 | CodeIgniter

nanoucity

Voilà actuellement je réalise une application pour mon stage et je dois la faire avec le fraamework CodeIgniter. Le problème avec la fonction suivante elle ne me renvoie pas là où il faut

Code :
function modif_fiche($id = -1)
{

// Si l'id n'est pas renseigné, on revient
if($id == -1)
{
header("Location: ".site_url("depart"));
return;
}
if(element("submit", $_POST, "") == "Reinitialiser")
{
header("Location: ".site_url("depart"));
return;
}

$this->load->library('validation');
$this->page['titre'] = "Modification fiche personnelle";
//$this->page['header'][]['ligne'] = '<script type="text/javascript" src="'.base_url().'web/js/ajax.js"></script>';

// On recharge la page formulaire.


// Règles de validation
$rules['bureau'] = "required|integer";
$rules['adresse'] = "max_length[100]";
$rules['telephone_perso'] = "max_length[50]";
$rules['telephone_portable'] = "max_length[50]";
$rules['telephone_imft'] = "numeric|max_length[4]";
$rules['appartenance'] = "required";
$rules['fonction'] = "required";
$rules['statut'] = "required";
$rules['date_depart'] = "required";
$this->validation->set_rules($rules);

// Nom des champs pour les messages d'erreur
$fields['bureau'] = 'bureau';
$fields['adresse'] = 'adresse personnelle';
$fields['telephone_perso'] = 'téléphone personnel';
$fields['telephone_portable'] = 'téléphone portable';
$fields['telephone_imft'] = 'téléphone de bureau';
$fields['appartenance'] = 'appartenance';
$fields['fonction'] = "fonction";
$fields['statut'] = "statut";
$fields['date_depart'] = "date départ";
$this->validation->set_fields($fields);

// Entre quoi on mettra les erreurs
$this->validation->set_error_delimiters('<div class="boite_erreur">', '</div>');

// Si les données sont valides
$this->data['message'] = "";
$modification = false;
if ($this->validation->run())
{
$modification = true;

// On modifie les informations
$this->db->query("INSERT INTO personnel_prolongation VALUES ('".$id."','".$_POST['adresse']."','".$this->chainenull(addslashes($_POST['telephone_perso']))."','".$this->chainenull(addslashes($_POST['telephone_portable']))."','".$this->chainenull(addslashes($_POST['telephone_imft']))."','".$_POST['personnel_fonction']."','".$_POST['personnel_appartenance']."','".$_POST['personnel_statut']."','".$_POST['bureau']."','".datefr_to_dateus($_POST['personnel_date_depart'])."')");

header("Location: ".site_url("depart/prolonger"));
return;

}

// Informations sur le compte
$query = $this->db->query("SELECT personnel.*, bureau_batiment FROM personnel, bureau WHERE personnel_bureau = bureau_id AND personnel_id = $id");
$ligne = $query->row_array();
$this->data = array_merge($this->data, $ligne);

/*
* Valeurs par défaut dans le formulaire
*/

// Si il y a eu des modification, ou si c'est le premier chargement du formulaire, on prend depuis la BDD
if($modification || !isset($_POST['batiment']))
{

$query = $this->db->query("select * FROM personnel_prolongation WHERE personnel_id = $id");
if($query->num_rows() == 0)
{
$query = $this->db->query("SELECT personnel.*, bureau_batiment FROM personnel, bureau WHERE personnel_bureau = bureau_id AND personnel_id = $id");
$ligne = $query->row_array();
$this->data = array_merge($this->data, $ligne);

$this->data['valeur_batiment'] = $this->data['bureau_batiment'];
$this->data['valeur_bureau'] = $this->data['personnel_bureau'];
$this->data['valeur_adresse'] = $this->data['personnel_adresse'];
$this->data['valeur_telephone_perso'] = $this->data['personnel_telephone_perso'];
$this->data['valeur_telephone_portable'] = $this->data['personnel_telephone_portable'];
$this->data['valeur_telephone_imft'] = $this->data['personnel_telephone_imft'];
$this->data['valeur_appartenance']= $this->data['personnel_appartenance'];
$this->data['valeur_fonction']=$this->data['personnel_fonction'];
$this->data['valeur_statut']=$this->data['personnel_statut'];
$this->data['valeur_date_depart']=$this->data['personnel_date_depart'];
}
else
{
$query = $this->db->query("SELECT personnel.*, bureau_batiment FROM personnel_prolongation, bureau WHERE personnel_bureau = bureau_id AND personnel_id = ".$id);
$ligne = $query->row_array();
$this->data = array_merge($this->data, $ligne);

$this->data['valeur_batiment'] = $this->data['bureau_batiment'];
$this->data['valeur_bureau'] = $this->data['personnel_bureau'];
$this->data['valeur_adresse'] = $this->data['personnel_adresse'];
$this->data['valeur_telephone_perso'] = $this->data['personnel_telephone_perso'];
$this->data['valeur_telephone_portable'] = $this->data['personnel_telephone_portable'];
$this->data['valeur_telephone_imft'] = $this->data['personnel_telephone_imft'];
$this->data['valeur_appartenance']= $this->data['personnel_appartenance'];
$this->data['valeur_fonction']=$this->data['personnel_fonction'];
$this->data['valeur_statut']=$this->data['personnel_statut'];
$this->data['valeur_date_depart']=$this->data['personnel_date_depart'];
}

}

// Sinon, si le formulaire a déjà été chargé
else
{
$this->data['valeur_batiment'] = $_POST['batiment'];
$this->data['valeur_bureau'] = $_POST['bureau'];
$this->data['valeur_adresse'] = $_POST['adresse'];
$this->data['valeur_telephone_perso'] = $_POST['telephone_perso'];
$this->data['valeur_telephone_portable'] = $_POST['telephone_portable'];
$this->data['valeur_telephone_imft'] = $_POST['telephone_imft'];
$this->data['appartenance_id']= $_POST['personnel_appartenance'];
$this->data['fonction_id']=$_POST['personnel_fonction'];
$this->data['statut_id']=$_POST['personnel_statut'];
$this->data['date_depart']=$_POST['personnel_date_depart'];
}


// On selectionne le bureau par défaut
$this->data['javascript_bureau'] = "<script>
new Ajax.Updater('blocBureaux', '".site_url("ajax/listebureau")."/".$this->data['valeur_batiment']."/".$this->data['valeur_bureau']."', { method: 'get' });
</script>";


// Liste des batiments
$query = $this->db->query("SELECT * FROM batiment ORDER BY batiment_libelle");
$i = 0;
foreach ($query->result() as $row)
{
$this->data['liste_batiment'][$i]['batiment_id'] = $row->batiment_id;
$this->data['liste_batiment'][$i]['batiment_libelle'] = $row->batiment_libelle;
$this->data['liste_batiment'][$i]['selected'] = ($row->batiment_id == $this->data['valeur_batiment']) ? ' selected="selected"' : '';
$i++;
}
// Liste des appartenances
$query = $this->db->query("SELECT * FROM appartenance ORDER BY appartenance_libelle");
$i = 0;
foreach ($query->result() as $row)
{
$this->data['liste_appartenance'][$i]['appartenance_id'] = $row->appartenance_id;
$this->data['liste_appartenance'][$i]['appartenance_libelle'] = $row->appartenance_libelle;
$this->data['liste_appartenance'][$i]['selected'] = ($row->appartenance_id == $this->data['valeur_appartenance']) ? ' selected="selected"' : '';
$i++;
}
// Liste des fonctions
$query = $this->db->query("SELECT * FROM fonction ORDER BY fonction_libelle");
$i = 0;
foreach ($query->result() as $row)
{
$this->data['liste_fonction'][$i]['fonction_id'] = $row->fonction_id;
$this->data['liste_fonction'][$i]['fonction_libelle'] = $row->fonction_libelle;
$this->data['liste_fonction'][$i]['selected'] = ($row->fonction_id == $this->data['valeur_fonction']) ? ' selected="selected"' : '';
$i++;
}

// Liste des statut
$query = $this->db->query("SELECT * FROM statut ORDER BY statut_libelle");
$i = 0;
foreach ($query->result() as $row)
{
$this->data['liste_statut'][$i]['statut_id'] = $row->statut_id;
$this->data['liste_statut'][$i]['statut_libelle'] = $row->statut_libelle;
$this->data['liste_statut'][$i]['selected'] = ($row->statut_id == $this->data['valeur_statut']) ? ' selected="selected"' : '';
$i++;
}
// On met la page courante dans le gabarit
$this->Inserer('depart/modif_fiche', $this->data);

// On affiche le gabarit entier.
$this->Afficher();
}

lorsque je réinisialise, ou que je valide, l'application me renvoie sur l'URL:
depart/modif_fiche/{id}
hors c'est pas se que j'ai écris dans le code.

De plus je reprend un application déjà existante et j'aimerai savoir a quoi sert $id = -1 dans les paramètres de la fonction, $id je sais pourquoi mais c'ets le -1 qui me pose problème.. Merci d'avance
samedi 13 juin 2009 à 10:59:27 | Re : CodeIgniter

tabasco_nemesis

Salut.
C'est un peu tard, mais bon...
pour le $id=-1
En générale, c'est utilisé pour un $id n'existant pas dans le cas d'un champ ou d'une valeur obligatoirement NON NULL, pour dire que c'est non défini en quelque sorte.


Cette discussion est classée dans : valeur, data, bureau, personnel, id


Répondre à ce message

Sujets en rapport avec ce message

Requete avec 2 tables [ par pointcom ] PointComHelloJ'ai 2 tables (1appli et 1 data)appli (id_appli,nom, desc,...)data(id_data,id_appli,message, ...)Je souhaite compter combien de appli.id_ Affichage d'une requête mysql par rapport à l'ID [ par Tilix ] Bonjour, Je voudrais affichier une requete mysql par rapport à l'ID sans faire de répétition dans la page.Ex :if(isset($_GET['ID']) Php/formulaire, chagement d'affichage dans un select... [ par noSnoR ] Comment pourrions nous afficher dans un formulaire les données d'une table MySql ? Je sais faire pour les 'text' ou autre submit, mais ce qui me bloqu get(id) from MySQL ? [ par Linuss ] Bonjour à tous, Lorsque j'essai d'afficher un tuto (bah oui dans ce cas là c'est un tutoriel :) la page n'afficher rien du tout. En fait pour afficher problème de requete SQL avec ID aléatoire [ par djinko ] Bonsoir,Ayant chercher pendant des heures et des heures, je me tourne vers vous pour avoir une explication car franchement, je nage...J'ai crée un esp récupérer une valeur [ID] extraite de la bdd pour obtenir les infos [ par dieusurterre ] Je n'arrive pas à trouver comment faire pour que ma page ../fiche.php?ID=[valeur bdd] affiche les renseignement du rows de la bdd relatif à cet ID recuperation formulaire [ par lorgard ] bonjour a tousen premier lieu merci pour votre futur aidevoici mon code       <form method="post" id="m problem d'actualisation [ par lorgard ] bonjours a tous et merci pour votre aideje fais un script  tout bete avec 1 formulaire  qui contien 2 cases  nom et prixensuite l'utilisateur remplis pb de liste deroulante [ par EksTaZia ] bonjour a tous, j'ai une requete qui m'affiche tous les métiers présents dans ma base, dans une liste déroulante En faisant son choix de métier, t Mysql erreur, mais où ? [ par Tilix ] Bonjour,Je voudrais savoir où est l'erreur dans ceci :while($data = mysql_fetch_assoc($req))     {   if ('!'.$data['id'].'') { echo '(0)'; }    else {


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales