PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Forum Général PHP » Valeur manquante dans ma table » 14-01-2015 17:15:16

LadyElla
Réponses : 0

Bonjour, pourriez-vous m'aider Svp!!!

Je suis mélangé car je débute en php et j’aurais besoin d'aide pour résoudre ce problème.

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 à savoir pourquoi la valeur 13 n'apparait pas dans la table alors que la valeur 16 elle apparait. C'est urgent sad Merci à l'avance pour votre aide!!

<?php
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;
                        }
                }
?>

Pied de page des forums

Propulsé par FluxBB