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 :

[Template] Ma fonction s'affiche en premier


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre habitué Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 267
    Points : 164
    Points
    164
    Par défaut [Template] Ma fonction s'affiche en premier
    bonjour a tous !
    je debute dans les templates et j'ai un soucis que je n'arrive pas a comprendre :
    j'arrive a creer ma page realisations.php
    c'est une page qui m'affiche le sommaire des realisations :
    apperçu du titre, texte, le lien ... tout est ok
    répété X fois suivant le nombre de réa, ok !
    ensuite , j'ai une fonction pour faire "page suivante/precedente" :
    si , plus de 5 réa, on fait une page 2, 3 etc... ok

    le seule probleme, c'est que l'affichage de cette fonction se fait en premier sur ma page , alors que je la demande en bas de page !!
    et , second probleme, elle s'affiche meme si je ne la demande pas sur le .tpl !!??

    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
     
    $sq='SELECT  * FROM modules WHERE nom2 = "'.PAGE.'"'; 
     $quer=mysql_query($sq ) or die(mysql_error());  
     $assoc= mysql_fetch_assoc($quer); 
     $row=mysql_num_rows($quer);  
    $latable=$assoc['nom2'];
     
    $sq_actu='SELECT  * FROM '.$latable.' WHERE publier="1" '; // pour le sommaire et le comptage(page +/-)
    $quer_actu=mysql_query($sq_actu ) ; //or die(mysql_error())
    $nombre_total=mysql_num_rows($quer_actu); 	 
    $max_row_by_page=4;
    //$max_row_by_page2=$max_row_by_page-1;
    $link="realisations.php"; 
    $link2=""; 
    $border=2;	 
     
    if((!isset($_GET['begin'])) || (!is_numeric($_GET['begin']))) {//au debut si pas num 
    			$sq = "SELECT * FROM  $latable WHERE publier='1' ORDER BY id DESC";	} else {
    $sq = "SELECT * FROM $latable WHERE publier='1' ORDER BY id DESC LIMIT ".$_GET['begin'].",".$max_row_by_page."";	}
    $quer = mysql_query($sq, $conn) ;//or die('erreur:('.$sq.') '.mysql_error())
     $n=0; 
    while ( $assoc= mysql_fetch_assoc($quer)) {
    $sq_actu2='SELECT  * FROM '.$latable.' WHERE publier="1" ';//on recupere la position de id pour definir begin
     $quer_actu2=mysql_query($sq_actu2 ) or die(mysql_error());
     
    $numresult=0;
    while ($assoc_result2= mysql_fetch_assoc($quer_actu2)) 
    	{ 	if ($assoc_result2['id']==$assoc['id'])  break;		else {$numresult++; }      }//on a le numero de begin		
    /* 	if($assoc['vignette'] !="") 
    		{ $vign=$assoc['vignette']; 	
    		} 	else { $vign='';} */
     $template->assign_block_vars('module', array(
              'TXTBRUT'  => textebrut($assoc['description'], 200) ,
              'VIGNETTE'  => $assoc['vignette'],
              'TITRE'  => $assoc['titre'],
    		  'NUMRESULT' => $numresult ,
    		  'LATABLE' => $latable 
          ));			
    		$n++;
    		if ($n>$max_row_by_page-1){ break;}
     
    							}
    if ($nombre_total>0){
    $makeListLink=makeListLink($nombre_total,$max_row_by_page,$link,$link2,$border);
    $essai='aaaaaaaaaaa';
     }	 
     $template->assign_vars( array(
    		  'NBPAGES' => $makeListLink,
    		  'ESS' => $essai
          ));
    et le tpl :

    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
     
    <h3 align="center"> Nos réalisations </h3>
     
    <!-- BEGIN module -->
    <div style="margin:10px auto auto 20px;">	
    <img src="/img/images_fck/{module.VIGNETTE}" width="80" style="float:right;margin:-40px 20px auto auto;"/>
    <fieldset style="border:1px solid black;width:650px;">
    <legend style="border-left:1px solid black;border-right:1px solid black;margin-left:30px;" >
    <b>{module.TITRE}</b></legend>
    <div style="width:530px;">{module.TXTBRUT}</div>
    <span style="margin-left:150px;font-size:x-large;"> . . . </span>
    <a href="realisations_detail.php?begin={module.NUMRESULT}&tb={module.LATABLE}" class="grasnoir" >Lire la suite </a>
    </fieldset></div>
    <!-- END module -->
    {NBPAGES}<br>
    {ESS}
    j'ai mis un " {ESS}" pour etre sur que mon affichage soit en bas, et lui , il est bien en bas ...


    je n'y comprend donc rien et ça me rappelle que j'avais trouvé un soucis avec les fonctions :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    function machin() { aaaaaaa}
    echo 'bonjour'.machin();
    affichera : la fonction en premier et bonjour apres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function machin() { aaaaaaa}
    echo 'bonjour';
    echo machin();
    affichera : bonjour , et , ensuite, la fonction ....

    ...alors , je me demande si c'est basé sur le meme probleme ... ?

    un coup de main, siouplait !!
    merci d'avance

  2. #2
    Membre habitué Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 267
    Points : 164
    Points
    164
    Par défaut
    alors, je me reponds car ça va bien me poser des soucis :
    toutes mes fonctions me posent le meme probleme :
    elles se greffent en haut de page, meme si elles ne sont pas demandées a etre affichées sur le tpl .....

  3. #3
    Membre du Club
    Inscrit en
    Juin 2002
    Messages
    36
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 36
    Points : 42
    Points
    42
    Par défaut
    Bonjour

    Peux-tu poster ta fonction makeListLink, s'il te plaît ?

  4. #4
    Membre habitué Avatar de zugolin
    Homme Profil pro
    Inscrit en
    Octobre 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 267
    Points : 164
    Points
    164
    Par défaut
    salut et merci "Tittom".
    finalement, j'avais trouvé le problème et la solution;
    j'ai oublié de resoudre le post!
    la base du problème vient dans le fait de mettre des "echo" dans la fonction;
    il n'en faut pas !

    exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function machin($texte){
    echo $texte;
    }
    function machin2($texte){
    return $texte;
    }
    echo ' TEST1 => '.machin('salut machin').'<br>';
    echo ' TEST2 => '.machin2('salut machin2').'<br>';
    affichera :

    salut machin TEST1 =>
    TEST2 => salut machin2
    voila, je peux "résoluter", maintenant !

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

Discussions similaires

  1. afficher le premier mot d'une string
    Par czezko dans le forum Delphi
    Réponses: 4
    Dernier message: 02/04/2007, 15h28
  2. Réponses: 4
    Dernier message: 29/03/2007, 15h11
  3. Ma fonction qui affiche les mois débloque
    Par isa150183 dans le forum Langage
    Réponses: 4
    Dernier message: 19/10/2006, 20h05
  4. [C#][VS2005]afficher le premier Noeud d'un TreeView
    Par tchup dans le forum Windows Forms
    Réponses: 1
    Dernier message: 30/05/2006, 12h01
  5. Réponses: 9
    Dernier message: 17/02/2006, 11h04

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