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

Bibliothèques et frameworks PHP Discussion :

[Smarty] Condition de modification avec Smarty


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 43
    Par défaut [Smarty] Condition de modification avec Smarty
    Bonjours,

    J'ai un gros probleme que je ne comprend pas.
    Je fait un site pour mon club de Rugby. Je demende à l'administrateur quel equipe vont en Phase Final avec des boutons radios. L'administrateur coche Oui ou Non.
    Quand j'ajoute dans ma base de donnee les reponse sa marche. Mais quand je modofie ses donnee sa ne marche pas.
    Pour dire s'il il doit l' afficher j'utilise le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    {foreach from=$phasef item="pf"}
       {if $pf->getType_equipe() eq 'Seniors 1' && $pf->getDecision() eq 'Oui'}
          <li class="sousMenu"><a href="#">Seniors 1</a></li>
       {/if}
       {if $pf->getType_equipe() eq "Seniors 2" && $pf->getDecision() eq "Oui"}
          <li class="sousMenu"><a href="#">Seniors 2</a></li>
       {/if}
       {if $pf->getType_equipe() eq "Juniors" && $pf->getDecision() eq "Oui"}
          <li class="sousMenu"><a href="#">Juniors</a></li>
       {/if}
       {if $pf->getType_equipe() eq "Cadets" && $pf->getDecision() eq "Oui"}
          <li class="sousMenu"><a href="#">Cadets</a></li>
       {/if}
     {/foreach}

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 43
    Par défaut
    En fait j'ai decouvert le probleme c'est que je n'arrive pas à entrer dans la condition IF. Je ne sais pas pourquoi? Quelqu'un peut m'aider s'il vous plait.

  3. #3
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Bonjour,

    les double-quotes autour de pf doivent être retirées.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Citation Envoyé par doc51 Voir le message
    En fait j'ai decouvert le probleme c'est que je n'arrive pas à entrer dans la condition IF. Je ne sais pas pourquoi? Quelqu'un peut m'aider s'il vous plait.
    Question débile : tes valeurs correspondent bien à au moins une des conditions ? Tu peux vérifier en affichant $pf->getType_equipe() et $pf->getDecision() ...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 43
    Par défaut
    Ca ne marche pas ?

  6. #6
    Membre Expert
    Avatar de eric.pommereau
    Homme Profil pro
    Ingénieur, pôle cartographie
    Inscrit en
    Décembre 2004
    Messages
    715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur, pôle cartographie
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2004
    Messages : 715
    Par défaut
    Tu as toujours le pb ?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 43
    Par défaut
    Oui, j'ai enlever les double quote est rien ne c'est produit ? Est que vous voulez plus de code ?

  8. #8
    Membre Expert
    Avatar de eric.pommereau
    Homme Profil pro
    Ingénieur, pôle cartographie
    Inscrit en
    Décembre 2004
    Messages
    715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur, pôle cartographie
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2004
    Messages : 715
    Par défaut
    oui ce serait bien.

    @+

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 43
    Par défaut
    Voici tout mon code.

    Le code complet pour afficher :
    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
    <li>
    	{foreach from=$finales item='phase_finals'}
    	{if $phase_finals->getDecision() == "Oui"}
    		<a href="#">Les Phases finals</a>
    	{/if}
    	{/foreach}
     
    	<ul>
     
    	{foreach from=$phasef item='pf'}
    	{if $pf->getType_equipe() eq 'Seniors 1' && $pf->getDecision() eq 'Oui'}
    		<li><a href="#">Seniors 1</a></li>
    	{/if}
            {if $pf->getType_equipe() eq "Seniors 2" && $pf->getDecision() eq "Oui"}
    	<li><a href="#">Seniors 2</a></li>
    	{/if}
    	{if $pf->getType_equipe() eq "Juniors" && $pf->getDecision() eq "Oui"}
    	<li><a href="#">Juniors</a></li>
    	{/if}
    	{if $pf->getType_equipe() eq "Cadets" && $pf->getDecision() eq "Oui"}
    	<li><a href="#">Cadets</a></li>
    	{/if}
    	{/foreach}
    	</ul>
    </li>
    le code pour selection les différente réponse :
    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
     
    {include file='en_Tete.tpl' title='Gestion des Phases finales' }
     
    <div id="conteneur">
     
    <form action = "../../index.php"  method="post" enctype="multipart/form-data">
     
    	<p>Est-ce-que les Seniors 1 vont en Phase Finale ?</p>
    	<br/>
    	<input type="radio" name="senior1" value="Oui">Oui</input>  <input type="radio" name="senior1" value="Non">Non</input>
    	<input type="hidden" name="seniors1" value="Seniors 1" />
     
    	<br/>
    	<br/>				
    	<p>Est-ce-que les Seniors 2 vont en Phase Finale ?</p>
    	<br/>
    	<input type="radio" name="senior2" value="Oui">Oui</input>  <input type="radio"  name="senior2" value="Non">Non</input>	
    	<input type="hidden" name="seniors2" value="Seniors 2" />
    	<br/>
    	<br/>	
    	<p>Est-ce-que les  Juniors vont en Phase Finale ?</p>
    	<br/>
    	<input type="radio" name="junior" value="Oui">Oui</input>  <input type="radio" name="junior" value="Non">Non</input>
    	<input type="hidden" name="juniors" value="Juniors" />
    	<br/>
    	<br/>	
    	<p>Est-ce-que les Cadet vont en Phase Finale ?</p>
    	<br/>
    	<input type="radio" name="cadet" value="Oui">Oui</input>  <input type="radio" name="cadet" value="Non">Non</input>
    	<input type="hidden" name="cadets" value="Cadets" />
    	<br/>
    	<br/>
     
    	{foreach from=$phase item = "phases"}
    		<input type="hidden" name="id_phase{$i++}" value="{$phases->getId_phasefinal()}" />
    	{/foreach}	
    	<input type="submit" name="ajouter_phasefinal" value="Envoyer" />
     
    </form>
     
    </div>
     
    {include file='footer.tpl'}
    le code qui ajoute les réponse dans la bdd :
    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
    <?php
     
             if(isset($_POST["ajouter_phasefinal"]))
    	{
    		if(isset($_POST["seniors1"])){
    			$decision = $_POST["senior1"];
    			$type_equipe = $_POST["seniors1"];
     
    			$phase = new Phase_final("",$type_equipe,$decision);
    			$gestionBDPhasefinal = new gestionBDPhasefinal();
     
    			$phase = $gestionBDPhasefinal->ajouterPhase_final($phase);
     
    		}
     
    		if(isset($_POST["seniors2"])){
    			$decision = $_POST["senior2"];
    			$type_equipe = $_POST["seniors2"];
     
    			$phase = new Phase_final("",$type_equipe,$decision);
    			$gestionBDPhasefinal = new gestionBDPhasefinal();
     
    			$phase = $gestionBDPhasefinal->ajouterPhase_final($phase);
    		}
     
    		if(isset($_POST["juniors"])){
    			$decision = $_POST["junior"];
    			$type_equipe = $_POST["juniors"];
     
    			$phase = new Phase_final("",$type_equipe,$decision);
    			$gestionBDPhasefinal = new gestionBDPhasefinal();
     
    			$phase = $gestionBDPhasefinal->ajouterPhase_final($phase);
    		}
     
    		if(isset($_POST["cadets"])){
    			$decision = $_POST["cadet"];
    			$type_equipe = $_POST["cadets"];
     
    			$phase = new Phase_final("",$type_equipe,$decision);
    			$gestionBDPhasefinal = new gestionBDPhasefinal();
     
    			$phase = $gestionBDPhasefinal->ajouterPhase_final($phase);
    		}
     
    	}
     
     
    ?>
    le code qui modifie la bdd :
    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
    <?php
     
    	if(isset($_POST['modifier']))
    	{
    		if(isset($_POST["seniors1"])){
    			$decision = $_POST["senior1"];
    			$type_equipe = $_POST["seniors1"];
    			$id =$_POST["id_phase0"];
     
    			$senior1 = new Phase_final($id,$type_equipe,$decision);
    			$gestionBDPhasefinal = new gestionBDPhasefinal();
     
    			$phase = $gestionBDPhasefinal->modifierPhase_final($senior1);
     
    		}
     
    		if(isset($_POST["seniors2"])){
    			$decision = $_POST["senior2"];
    			$type_equipe = $_POST["seniors2"];
    			$id =$_POST["id_phase1"];
     
    			$senior2 = new Phase_final($id,$type_equipe,$decision);
    			$gestionBDPhasefinal = new gestionBDPhasefinal();
     
    			$phase = $gestionBDPhasefinal->modifierPhase_final($senior2);
    		}
     
    		if(isset($_POST["juniors"])){
    			$decision = $_POST["junior"];
    			$type_equipe = $_POST["juniors"];
    			$id =$_POST["id_phase2"];
     
    			$juniors = new Phase_final($id,$type_equipe,$decision);
    			$gestionBDPhasefinal = new gestionBDPhasefinal();
     
    			$phase = $gestionBDPhasefinal->modifierPhase_final($juniors);
    		}
     
    		if(isset($_POST["cadets"])){
    			$decision = $_POST["cadet"];
    			$type_equipe = $_POST["cadets"];
    			$id =$_POST["id_phase3"];
     
    			$cadets = new Phase_final($id,$type_equipe,$decision);
    			$gestionBDPhasefinal = new gestionBDPhasefinal();
     
    			$phase = $gestionBDPhasefinal->modifierPhase_final($cadets);
    		}
     
    	}
    ?>
    le code qui appele la template :
    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
    $smarty = new monSmarty;
    	include("../../gestionBD_config.php");
     
    	$ma_phasef = $gestionBDPhasefinal->getAllPhase_final();
    	$i=0;
    	foreach($ma_phasef as $phase){
    		if ($phase->getDecision() != ""){
    			include("Modifier_Phasefinale.php");
    		}
    		else{ 
    			include("Ajouter_Phasefinale.php");
    		}		
    	}
    	$smarty->assign("i",$i);
    	$smarty->assign("phase",$ma_phasef);
    	include("../../assignSmarty.php");
    	$smarty->display("Phase_Final.tpl");
    les requete sql
    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
    <?php
     
        class GestionBDPhasefinal {
     
            protected $gestionBD;
     
            public function __construct() {
                $gestionBD = new GestionBD(TYPE_BASE, USER_BASE, PASSWD, HOST_BASE, BASE_DONNEE); //à modifier
                $this->gestionBD = $gestionBD;
            }
     
            public function getPhase_final($id_phasefinal) {
    		$req= "SELECT * FROM phase_final where id_phasef='$id_phasefinal'";
    		$res= $this->gestionBD->query($req);
    		if ($res->numRows()==1) {
    			$row= $res->fetchRow(MDB2_FETCHMODE_ASSOC);
    			$phases = new Phase_final($id_phasefinal, $row["type_equipe"], $row["decision"]);
    			return $phases;
    		}
    		return "";
            }
     
            public function getAllPhase_final() {
    		$req= "SELECT * FROM phase_final ORDER BY id_phasef";
    		$res= $this->gestionBD->query($req);
    		$phase = array();
    		while($row= $res->fetchRow(MDB2_FETCHMODE_ASSOC)) {
    		       $phase = new Phase_final($row["id_phasef"], $row["type_equipe"], $row["decision"]);
    		       $phases[$row["id_phasef"]] = $phase;
    		}
    		return $phases;
            }
     
    	 public function getDistinctPhase_final() {
    		$req= "SELECT DISTINCT decision FROM phase_final";
    		$res= $this->gestionBD->query($req);
    		$phase = array();
    		while($row= $res->fetchRow(MDB2_FETCHMODE_ASSOC)) {
    		      $phase = new Phase_final("", "", $row["decision"]);
    		      $phases[$row["decision"]] = $phase;
    	        }
    		return $phases;
            }
     
            public function ajouterPhase_final($phases) {
    		$type_equipe = $phases->getType_equipe();
    		$decision = $phases->getDecision();
    		$id = $phases->getId_phasefinal();
     
    		$sql= "INSERT INTO phase_final(type_equipe,decision) VALUES ('$type_equipe','$decision')";
    		$affected =$this->gestionBD->exec($sql);	
    		return $affected;
    	}
     
            public function modifierPhase_final($phases){
    		$type_equipe = $phases->getType_equipe();
    		$decision = $phases->getDecision();
    		$id = $phases->getId_phasefinal();
     
     
    		$retour = "UPDATE phase_final SET type_equipe='$type_equipe', decision='$decision ' WHERE id_phasef='$id'";
    		$res= $this->gestionBD->exec($retour);			
    	}
     
        }
    ?>

  10. #10
    Membre Expert
    Avatar de eric.pommereau
    Homme Profil pro
    Ingénieur, pôle cartographie
    Inscrit en
    Décembre 2004
    Messages
    715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur, pôle cartographie
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2004
    Messages : 715
    Par défaut
    Tu peux essayer ça et me dire ce que ça te donne ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    {foreach from=$phasef item='pf'}
        Equipe : {$pf->getType_equipe()} - Décision : {$pf->getDecision()}<br />
    {/foreach}

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 43
    Par défaut
    Ca donne ça :
    Equipe : Seniors 1 - Décision : Oui
    Equipe : Seniors 2 - Décision : Oui
    Equipe : Juniors - Décision : Oui
    Equipe : Cadets - Décision : Oui

  12. #12
    Membre Expert
    Avatar de eric.pommereau
    Homme Profil pro
    Ingénieur, pôle cartographie
    Inscrit en
    Décembre 2004
    Messages
    715
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur, pôle cartographie
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2004
    Messages : 715
    Par défaut
    Ben comme ça je vois pas trop... d'après le résultat ça devrait passer...

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    43
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 43
    Par défaut
    J'ai trouver mon probleme, je rajouter des espaces quand je modifier la BDD.

    Merci pour toute vos reponse

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

Discussions similaires

  1. condition si compatible avec date ?
    Par PC81 dans le forum Excel
    Réponses: 16
    Dernier message: 22/04/2008, 11h12
  2. [VBA] BO Conditions de requetes avec VBA
    Par hlecleve dans le forum SDK
    Réponses: 4
    Dernier message: 01/06/2007, 10h10
  3. [MySQL] Modification avec php
    Par stan30160 dans le forum PHP & Base de données
    Réponses: 27
    Dernier message: 02/03/2007, 16h29
  4. probleme prise en compte modification avec tomcat4.1
    Par faroun dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 03/05/2006, 20h41
  5. Gestion des modifs avec Form_BeforeUpdate
    Par Tchupacabra dans le forum Access
    Réponses: 3
    Dernier message: 04/01/2006, 20h32

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