Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre à l'essai
    Récupérer des donnés d'une bbd l'envoyer à une page et l' enregistrer dans une seconde bdd
    bonjour,
    je viens de débuter avec le mkframework et mon soucis est le suivant:
    j'ais crée 2 tables pour mon apps (table1 et table2);
    j'ais crée 2 module avec le mkfrmwork (module1 et module2);
    module 1 est page de recherche qui affiche une liste d'information contenue dans la table 1;
    module 2 est un formulaire pour remplir la table2;
    je veut recuperer les donnée de la table1 et l'enregistrer dans la table2.
    comment faire?

    merci d'avance pour votre reponse.

  2. #2
    Rédacteur

    Le mkframework utilise une architecture MVC: Model (données, base de données le plus souvent) Vue (la partie affichage html) et le C Controller, qui fait la liaison

    Un module c'est un Controlleur + ses Vues associés

    Donc si dans votre module 2 vous souhaitez enregitrer des elements de la table 1, vous pouvez en utilisant le fichier model_ correspondant

    Vous pouvez toujours poster le code de votre methode processSave en indiquant quel action exactement vous souhaitez faire sur la table2 et le lien avec table1
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  3. #3
    Membre à l'essai
    merci d'avoir répondu j'apporte plus de précision:
    voila mes deux table
    1.) aninscription:
    id(int),nom,prenom,matricule,niveau et filiere
    2.)aexamen
    id(int);matricule(int);note(int);fk_std_id(int);fk_fil_id(int);fk_niv_id(int) : (NB:respectivement fk_std_id=contient la clef primaire de la personne inscrite ds aninscription; fk_fil_id contient l' id de la filiere et fk_niv_id contient l'id du niveau. respectivement filiere et niveau sont des tables qui contient tous les deux 2 champs:id et name .
    donc le but de l'appli c'est de récupérer le nom de la personne inscrite et lui attribuer une note qui sera enregistre ds la table aexamen.
    pour cela j'ai créé un module CRUD integrale appele aninsription a partir du model model_aninscription et un autre module CRUD integrale appele aexamen apartir du model_aexamen de cette facon on peut insrire une personne grace au formulaire du module aninscription.
    mainent pour lui attribuer une note on doit faire une recherche de toutes les personnes inscrite dans une filiere et a un niveau(licence1,licence2....)
    alors j'ai cree un fichier search dans la vue du module aninscription et son controlleur dans le main.php . voici le code de la vue search.php :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
     
    <?php 
    $oForm=new plugin_form($this->oAninscription);
     
    ?>
    <form action="" method="POST" >
     
    <table class="tb_new">
     
     
    	<tr>
    		<th>filier</th>
    		<td name="fil"><?php echo $oForm->getSelect('filier',$this->tJoinmodel_afiliere);?></td>
    	</tr>
     
    	<tr>
    		<th>niveau</th>
    		<td name="niv"><?php echo $oForm->getSelect('niveau',$this->tJoinmodel_aniveau);?></td>
    	</tr>
     
     
    	<tr>
    		<th></th>
    		<td>
    			<p>
    				<input type="submit" value="rechercher" /> <a href="<?php echo $this->getLink('aninscription::list')?>">Annuler</a>
    			</p>
    		</td>
    	</tr>
    </table>
     
    <?php echo $oForm->getToken('token',$this->token)?>
     
    </form>
    <table class="tb_list">
    	<tr>
     
    		<th>nom</th>
     
    		<th>prenom</th>
     
    		<th>matricule</th>
     
    		<th>filier</th>
     
    		<th>niveau</th>
     
    		<th></th>
    	</tr>
    	<?php if($this->tAninscription)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
    		<?php foreach($this->tAninscription as $oAninscription)<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
    		<tr <?php echo plugin_tpl::alternate(array('','class="alt"'))?>>
     
    		<td><?php echo $oAninscription->nom ?></td>
     
    		<td><?php echo $oAninscription->prenom ?></td>
     
    		<td><?php echo $oAninscription->matricule ?></td>
     
    		<td><?php if(isset($this->tJoinmodel_afiliere[$oAninscription->filier])){ echo $this->tJoinmodel_afiliere[$oAninscription->filier];}else{ echo $oAninscription->filier ;}?></td>
     
    		<td><?php if(isset($this->tJoinmodel_aniveau[$oAninscription->niveau])){ echo $this->tJoinmodel_aniveau[$oAninscription->niveau];}else{ echo $oAninscription->niveau ;}?></td>
     
    			<td>
     
     
    <a href="<?php echo $this->getLink('aninscription::edit',array(
    										'id'=>$oAninscription->getId()
    									) 
    							)?>">Edit</a>
    | 
    <a href="<?php echo $this->getLink('aninscription::delete',array(
    										'id'=>$oAninscription->getId()
    									) 
    							)?>">Delete</a>
    | 
    <a href="<?php echo $this->getLink('aninscription::show',array(
    										'id'=>$oAninscription->getId()
    									) 
     
    							)?>">Show</a>
    <?//le lien suivant renvoit a aexamen::new pour ajouter une note a la personne?>
    | 
    <a href="<?php echo $this->getLink('aexamen::new,array(
    										'id'=>$oAninscription->getId()
    									) 
    							)?>">Note</a>
     
     
    			</td>
    		</tr>	
    		<?php endforeach;?>
    	<?php else<img src="images/smilies/icon_confused.gif" border="0" alt="" title=":?" class="inlineimg" />>
    		<tr>
    			<td colspan="6">Aucune ligne</td>
    		</tr>
    	<?php endif;?>
    </table>
     
    <p><a href="<?php echo $this->getLink('aninscription::new') ?>">New</a></p>

    voici le code du controlleur dans le main.php

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    public function _search(){
     
    	$tAninscription=model_aninscription::getInstance()->findByFiliereNiveau(_root::getParam('filier'),_root::getParam('niveau'));
     
    		$oAninscription=new row_aninscription;
     
    		$oView=new _view('aninscription::search');
    		$oView->oAninscription=$oAninscription;
    		$oView->tAninscription=$tAninscription;
    				$oView->tJoinmodel_afiliere=model_afiliere::getInstance()->getSelect();		$oView->tJoinmodel_aniveau=model_aniveau::getInstance()->getSelect();
     
     
    		$oPluginXsrf=new plugin_xsrf();
    		$oView->token=$oPluginXsrf->getToken();
     
     
    		$this->oLayout->add('main',$oView);
     
    	}

    et pour afficher la liste des personne inscrite en fonction des filiere de du niveau dans le fichier model_aninscription j'ai rajouter une fonction:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public function findByFiliereNiveau($uFil,$uNiv){
    		return $this->findMany('SELECT * FROM aninscription WHERE filier=? AND niveau=?',$uFil,$uNiv);
    	}

    jusque la tous va bien en fin presque car la galere est :comment recuperer les info de la page de recherche search.php (id de la personne,nom, prenom,filiere et matricule ) l'envoyer a la vue du module aexamen::new et dans la vue de aexamen new aficher le nom,prenom,filier et niveau ainsi qu'un champ note qui permet décrire la note de l'eleve et enfin enregistrer ses info dans la table aexamen.
    j'esper que j'ai ete le plus claire possible
    et l'en

  4. #4
    Rédacteur

    Je vous proposerai une réponse "clé en main" dans la soirée
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  5. #5
    Rédacteur

    Voila une application exemple qui devrait vous aider

    Ici, il y a un menu qui permet d'jaouter des filières,niveaux et une page inscription

    Celle-ci permet d'ajouter de nouvelle personne, et en cliquant sur le lien "show" d'ajouter/modifier des examens

    Vous avez egalement un filtre en amont permettant de filtrer les inscriptions par niveau et filière

    J'espère que cet exemple va vous servir

    note: pensez à modifier le fichier conf/connexion.ini.php qui a forcément les paramètres de ma base
    note2: je ne savais pas si c'était une faute de frappe dans votre commentaire, mais j'ai utilisé filiere avec un e, dans votre message c'était "filier" (sans e)
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  6. #6
    Membre à l'essai
    cool!!!!!! c geniale votre code sa regle parfaitement mon probleme .Au lieu d'ajouter un lien note pour ajouter une note on le fait directement dans show grace a un formulaire qui rempli la bbd aexamen.javais pas pensee a sa
    note: pour filier j'ai corriger le nom de mon champ en bbd en ajoutant le "e". j'ai aussi modifier le nom du champ matricule dans la bdd aexamen qui est en faite la matiere. j' ai cree aussi une couche model matiere et un module matiere pour pouvoir ajouter une matiere.

    vraiment merci beaucoup!!!!

    NB:je reviens avec un nouveau poste cette fois ci comment déplacer le selected="selected" de la fonction getSelect() en fonction du $Name, et $tValue de façons a le placer sur l'option de notre choix comme sa:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <select>
    <option>1</option>
    <option selected="selected">2</option>
    <option>3</option>
    </select>

    ou
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <select>
    <option>1</option>
    <option >2</option>
    <option selected="selected">3</option>
    </select>


    de cette facons pour ajouter une note d'examen en cliquant sur New,qu' au niveau du champ de formulaire filiere et niveau se trouvant dans la page d'ajout de note que la filiere et le niveau soit selectionner en fonction de la filiere et du niveau de la personne

    a tout de suite......

###raw>template_hook.ano_emploi###