IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

MkFramework Discussion :

Fonction count() ne fonctionne pas


Sujet :

MkFramework

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 162
    Points : 48
    Points
    48
    Par défaut Fonction count() ne fonctionne pas
    Bonjour a tous,

    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
    private function processSave(){
    		if(!_root::getRequest()->isPost() ){ //si ce n'est pas une requete POST on ne soumet pas
    		return null;
    		}
     
    		$oPluginXsrf = new plugin_xsrf();
    		if(!$oPluginXsrf->checkToken( _root::getParam('token') ) ){ //on verifie que le token est valide
    		return array('token' => $oPluginXsrf->getMessage() );
    		}
     
    		$iId = _root::getParam('id', null);
    		if($iId==null){
    		$oInscriptionespenf=new row_inscriptionespenf;
    		}else{
    		$oInscriptionespenf=model_inscriptionespenf::getInstance()->findById( _root::getParam('id',null) );
    		}
     
    		$tColumn = array('nomenf','prenom','datenaissance','ecole','classe','date','sieste');
    		foreach($tColumn as $sColumn){
    		$oInscriptionespenf->$sColumn=_root::getParam($sColumn,null);
    		}
     
    		$oInscriptionespenf->nmparentlg=_root::getAuth()->getAccount()->nomrplegal;
    		$oInscriptionespenf->pmparentlg=_root::getAuth()->getAccount()->prenomrplegal;
    		$oInscriptionespenf->id_accueil=_root::getAuth()->getAccount()->accueil;
     
    		$classe = array($oInscriptionespenf->classe);
     
    		if($classe == 1 && count($classe) <= 25 ){
     
    			$oInscriptionespenf->statue = 'Accepter';
    		}
    		else{
    			$oInscriptionespenf->statue = 'En Attente';
    		}
     
    		if($oInscriptionespenf->save()){
    		//une fois enregistre on redirige (vers la page liste)
    		_root::redirect('inscriptionespenf::list');
    		}else{
    		return $oInscriptionespenf->getListError();
    		}
    	}
    Ci dessus, vous trouverez ma fonction processSave.

    Mon probleme est le suivant : Je veux que quand j'enregistre mon formulaire, que le champs statue sois remplie (par "accepter" ou "en attente"). Le champs statue prendra "accepter" si il y a moins de 25 demande pour les classes de maternelle et "en attente" si il y a plus de 25 demande. Je n'arrive pas a compter les "1" pour maternelle dans la colonne classe et je ne trouve pas de solution.

    Le champs classe retourne grâce a un getselect du model classe "1" pour maternelle et "2" pour primaire

  2. #2
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Bonjour,
    Votre code ne peut pas fonctionner correctement, car vous faites un count d'un tableau d'un element que vous créez vous meme

    pouvez vous poster le code de votre formulaire pour comprendre ce que vous souhaitez compter
    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 du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 162
    Points : 48
    Points
    48
    Par défaut
    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
    <?php
    $oForm = new plugin_form($this->oInscriptionespenf);
    $oForm->setMessage($this->tMessage);
    ?>
     
    <form class="form-horizontal" action="" method="POST" >
     
    	<center><h2><u>Inscription pour les vacances scolaires</u><b><FONT size="4pt"></FONT></b></h2></center><br>
     
    	<div class="table-responsive">
    	<table class="table table-striped">
     
    	<tr>
     
    		<th><center>Nom des Enfants</center></th>
     
    		<th><center>Prenom</center></th>
     
    		<th><center>Date de Naissance</center></th>
     
    		<th><center>Ecole</center></th>
     
    		<th><center>Classe</center></th>
     
    		<th><center>Date</center></th>
     
    		<th><center>Font-ils la sieste ?</center></th>
     
    	</tr>
     
    	<td><center><div class="col-sm-10"><?php echo $oForm->getInputText('nomenf',array('class'=>'form-control')) ?></div></center></td>
    	<td><center><div class="col-sm-10"><?php echo $oForm->getInputText('prenom',array('class'=>'form-control')) ?></div></center></td>
    	<td><center><div class="col-sm-10" id="sandbox-container"><?php echo $oForm->getInputText('datenaissance',array('class'=>'form-control')) ?></div></center></td>
    	<td><center><div class="col-sm-50"><?php echo $oForm->getSelect('ecole',$this->tJoinmodel_espaceecoleenf,array('class'=>'form-control','id'=>'name')) ?></div></center></td>
    	<td><center><div class="col-sm-50"><?php echo $oForm->getSelect('classe',$this->tJoinmodel_classe,array('class'=>'form-control','id'=>'name')) ?></div></center></td>
     
    	<td><center><div class="col-sm-10" id="sandbox-container2"><?php echo $oForm->getInputText('date',array('class'=>'form-control')) ?></div></center></td>
     
    	<td><center><div class="col-lg-30">Oui <?php echo $oForm->getInputRadio('sieste','Oui',array('class'=>'form-check-input')) ?><br>
    									   Non <?php echo $oForm->getInputRadio('sieste','Non',array('class'=>'form-check-input')) ?>
    	</div></center></td>
     
    	</table>
    	</div>	
     
     
    	<?php echo $oForm->getToken('token', $this->token) ?>
     
    		<p><center><input type="submit" name="AjoutVa" class="btn btn-success" value="Ajouter un enfant" /> <a class="btn btn-danger" href="<?php echo $this->getLink('inscriptionespenf::list') ?>">Annuler</a></center></p>
     
    	</div>
    	<center>
    	<p style="color:red">
    	<?php $tMessageinscription=model_messageinscription::getInstance()->findAll(); ?>
    	<?php foreach($tMessageinscription as $oMessageinscription){ ?>
    	<?php echo $oMessageinscription->message2 ?>
    	<?php }	?>
    	</center>
     
    </form>
    Voici mon code et je souhaite compter le nombre de classe comme dit précédemment dans mon ancien message.

    J'ai vraiment besoin d'aide, je comprend pas trop ce qu'il faut faire.

  4. #4
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    En regardant votre formulaire, je ne comprends pas ce que dans votre formulaire vous souhaitez compter

    en effet, vous avez des champs texte (nom,prenom enfant, et 2 menu deroulant + le checkbox accepter..

    au final, c'est pas plutot en base de donnée qu'il faudrait compter ?

    il faudrait pour cela plutot faire une requete SQL qui fasse un count, et en fonction de ce resultat forcer votre status,,
    donc si sql, plutot dans la classe modèle
    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
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 162
    Points : 48
    Points
    48
    Par défaut
    Citation Envoyé par imikado Voir le message
    En regardant votre formulaire, je ne comprends pas ce que dans votre formulaire vous souhaitez compter

    en effet, vous avez des champs texte (nom,prenom enfant, et 2 menu deroulant + le checkbox accepter..

    au final, c'est pas plutot en base de donnée qu'il faudrait compter ?

    il faudrait pour cela plutot faire une requete SQL qui fasse un count, et en fonction de ce resultat forcer votre status,,
    donc si sql, plutot dans la classe modèle
    D'accord j'y avais pensé aussi mais pourrais-tu me donner un exemple avec le "modèle" et le "main" s'il te plait ?

  6. #6
    Rédacteur
    Avatar de imikado
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2006
    Messages
    5 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 239
    Points : 19 100
    Points
    19 100
    Billets dans le blog
    17
    Par défaut
    Dans votre répertoire model/ vous devez avoir une classe model/model_inscriptionespenf.php

    en l''editant vous verrez plusieurs méthodes avec vos requetes sql

    vous pouvez ajouter une methode findCountEcole..

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public function findCountMonBesoin(){
      $row=$this->findOneSimple(' select count(mon_champ) as total from ma requete where mes criterres');
     
      return $row->total
     
    }

    et dans votre methode processSave

    faites un simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $myCount=model_inscriptionespenf::getInstance()->findCountMonBesoin();
    Framework php sécurisé et simple à prendre en main avec générateur web http://mkframework.com/ (hebergé sur developpez.com)
    Mes cours/tutoriaux

  7. #7
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2017
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Dom-Tom

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2017
    Messages : 162
    Points : 48
    Points
    48
    Par défaut
    Merci beaucoup !

    J'ai résolue mon problème .

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/09/2006, 17h46
  2. [Mail] fonction mail qui fonctionne pas
    Par digger dans le forum Langage
    Réponses: 3
    Dernier message: 31/08/2006, 22h28
  3. fonction ridicule qui fonctionne pas sous firefox
    Par Isses dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 27/06/2006, 12h08
  4. fonction plpgsql qui fonctionne pas...
    Par Empty_body dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 15/01/2006, 18h22
  5. La fonction CurrentDb() ne fonctionne pas dans une requête
    Par Sébastien Le Goyet dans le forum Access
    Réponses: 8
    Dernier message: 24/11/2005, 17h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo