Valeur manquante dans la Table

LadyElla
Invité n'ayant pas de compte PHPfrance

14 janv. 2015, 17:31

Bonjour, pourriez-vous m'aider, voici une partie du code, je suis mélangé car je débute en php et il y a une partie du code qui n'est pas à moi donc peut-être que c'est ce qui fait un conflit.

Pour mieux comprendre, voici ce que l'explication de ce que le code est sensé faire:
Imposer une sélection de catégorie selon le cours dans lequel nous sommes et mettre la valeur du choix sélectionné dans la Table du cours car je devrai éventuellement récupérer cette valeur.

Si le id de la catégorie du cours est "30", ça doit imposer la sélection "Formation continue"
pour tous les autres id de catégorie de cours, ça doit imposer la sélection "Cours. Bacc - Etu/Sup." (dans le drop down de la catégorie)

La sélection de "Formation continue" equivaut à loption [13] dans le dropdown de sélection et devrait mettre cette valeur dans la colonne catégorie de la Table du cours
et la sélection de "Cours. Bacc - Etu/Sup." équivaut à l'option [16] dans le dropdown de sélection et devrait mettre cette valeur dans la colonne catégorie de la Table du cours.

L'imposition du choix de sélection fonctionne, si c'est un cours de la catégorie 30 c'est seulement "Formation continue" qui apparait dans le drop down et pour le reste c'est la sélection "Cours. Bacc - Etu/Sup.".

Cependant mon problème est le suivant :

Dans la Table des cours "Cours. Bacc - Etu/Sup." c'est bien 16 qui apparait dans la colonne catégorie de la Table du cours, la valeur est bien inscrite. Cependant lorsque c'est une "Formation continue" c'est écrit NULL dans la Table, comme s'il ne détecte pas que la valeur 13 qu'il devrait s'inscrire dans la Table.

J'ai besoin que la valeur soit reconnu dans le tableau car dans un autre module je vais devoir récupérer cette valeur, Si la valeur est 13 .... et pour la valeur 16... pour l'instant il ne reconnait que la valeur 16 puisque c'est la seule qui est inscrit dans la table.

Pourriez-vous m'aider, Pourquoi la valeur 13 n'apparait pas dans la table alors que la valeur 16 elle apparait.

      if (get_config('via', 'via_categories')) {
            $mform->addElement('header', 'categoriesheader', get_string('categoriesheader', 'via'));
            $via_categories = $DB->get_records('via_categories');
            $defaultcat = $DB->get_record('via_categories', array('isdefault' => 1));

            if ($defaultcat) {
                $catgeories = array($defaultcat->id_via => $defaultcat->name);
            }
			$catgeories = array();
            //$catgeories[0] = get_string('nocategories', 'via');
			
			if($via_categories){
				foreach($via_categories as $cat){
					if($defaultcat && $cat->id_via != $defaultcat->id_via){
						$catgeories[$cat->id_via] = $cat->name;
					}else{
						$catgeories[$cat->id_via] = $cat->name;
					}
				}
			}
			
			if (isset($_GET['course']))
			{
				$course = $DB->get_record("course", array("id"=>$_GET['course']));
			} 
			else if(isset($_GET['update']))
			{
				$course_module = $DB->get_record("course_modules", array("id"=>$_GET['update']));
				$course_id = $course_module->course;
			
				$course = $DB->get_record("course", array("id"=>$course_id));
			}

//choix des sélection de catégorie
			if ($course->category == 30) {
				$catgeories[13] = 'Formation continue';
			}
			else {
				$catgeories[16] = 'Cours - Bacc / Etu. Sup.';			  
			}	
			
			$mform->addElement('select', 'category', get_string('category', 'via'), $catgeories);
        }

if(isset($default_values['course']) && !isset($default_values['category'])){
			$course_category = $DB->get_record_sql("
					SELECT cat.id, cat.name
					FROM {course_categories} as cat
					LEFT JOIN {course} as course ON cat.id=course.category
					WHERE course.id=".$default_values['course']);
			if(substr_count(strtolower($course_category->name), "formation continue") > 0){
				
//On ne permet plus aux gens de modifier le champ catégorie Formation continue, on doit sélectionner cette catégorie pour l'activité 

//$via_cat = $DB->get_record("via_categories", array("name"=>"formation continue"));
//if(isset($via_cat)){
//$default_values['category'] = $via_cat->id_via;
//}
							
// ID via pour la catégorie "Formation continue"
				$default_values['category'] = 13;
			}else{
// ID via pour la catégorie "Cours - Bacc / Etu. Sup."
				$default_values['category'] = 16;
			}
		}

Merci beaucoup à l'avance.

ladyElla
Invité n'ayant pas de compte PHPfrance

14 janv. 2015, 20:10

Personne ne peut m'aider?! Me donner une piste ou un commentaire ?!? SVP