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

Langage PHP Discussion :

Problème avec des echo();


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 44
    Points : 35
    Points
    35
    Par défaut Problème avec des echo();
    Bonjour,

    J'ai un souci avec les echo qui font que le texte va pas la ou je le souhaiterais

    Le screen est en P.J

    Le code qui génère tout mes soucis ^^
    ---

    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
    $template_main .= '<table align="center">
    <tr>
    <th width="260" align="left" style="text-indent:5px;">'; echo $nom;
    $template_main .= '</th>
    <th>
    <table style="border:none;">
    <tr>
    <td width="100" align="right">
    <table class="main" bgcolor="#FFFFFF" border="0" cellspacing="1" cellpadding="0" width="100" height="10">
    <tr bgcolor="#000000">';
    echo '<td width="'.$valeur.'" bgcolor="'.$couleur.'"></td>';
    $template_main .= '<td width="0"></td>
    </tr>
    </table></td>
    <td width="45" align="center">';
    echo $valeur;
    $template_main .= '%</td>
    </tr>
     
    </table></th>
    <th width="150" align="center">';
    echo '<font color="'.$couleur.'">'.$statut.'</font>';
    $template_main .= '</th>
    </tr>
     
    </table>';
    D'avance, merci de votre aide
    Selmac594
    Images attachées Images attachées  

  2. #2
    Débutant
    Inscrit en
    Octobre 2007
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 256
    Points : 90
    Points
    90
    Par défaut
    $template_main .= '<table align="center">

    bonsoir
    je pense que tu doit faire
    $template_main = '<table align="center">'

    les variable en php se déclare $var=

    dans ton code tu fait $var.=
    tu veut dire quoi ?


    bon courage



  3. #3
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 44
    Points : 35
    Points
    35
    Par défaut
    En fait le moteur c'est Talesta et la fonction est données en $var .=

    mais ça ne résout pas mon problème

  4. #4
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 35
    Points : 35
    Points
    35
    Par défaut
    Salutations,

    alors déjà quand on dit $var .= c'est pour concaténer autrement ce n'est rien de plus qu'une affectation.

    Exemple :
    $var = 'Ce matin ';
    $var .= 'un lapin';
    echo $var;

    Ca affiche : "Ce matin un lapin"
    Sans le point ça n'aurait afficher que "un lapin".

    Bon ensuite le problème c'est que tu mets tout dans des variables mais tu n'affiches pas ces variables. De plus, tes echo placés entre ne risque pas de fonctionner à cause des balises <td></td>.
    En effet celles-ci doivent toujours être affichées entre les balises <tr></tr> (y en a d'autre mais on s'en fout dans ce cas) elles même situées entre les balises <table></table>.
    Comme tu n'as aucun echo $template_main; ça ne peut fonctionner.

    Voici donc la solution qui à mon avis devrait fonctionner :
    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
     
    $template_main .= '<table align="center">	
    <tr>
    <th width="260" align="left" style="text-indent:5px;">'.$nom.'</th>
    <th>
    <table style="border:none;">
    <tr>
    <td width="100" align="right">
    <table class="main" bgcolor="#FFFFFF" border="0" cellspacing="1" cellpadding="0" width="100" height="10">
    <tr bgcolor="#000000">
    <td width="'.$valeur.'" bgcolor="'.$couleur.'"></td>
    <td width="0"></td>
    </tr>
    </table></td>
    <td width="45" align="center">'.$valeur.'%</td>
    </tr>		 
    </table>
    </th>
    <th width="150" align="center">
    <font color="'.$couleur.'">'.$statut.'</font>
    </th>
    </tr> 
    </table>';
     
    echo $template_main;
    C'est pas vraiment très joli comme code m'enfin... le mieux aurait je pense été de séparer la partie HTML du PHP cela dit ptet que Talesta ne l'autorise pas. Si c'est le cas la solution que j'utilise généralement et de tout mettre dans des variables... ligne par ligne... M"enfin peut importe ce que je viens de te donner devrait fonctionner.

    Bon sinon une autre solution consiste à directement tout mettre dans le echo. Te suffit juste de remplacer le $template_main .= du départ.

    Voila voila, j'espère avoir pu t'aider.
    Là dessus amuses toi bien.

    Astemius

  5. #5
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 44
    Points : 35
    Points
    35
    Par défaut
    Effectivement ça fonctionne par contre, le dernier echo je l'ai enlevé sinon il m'affiche tout en double

    Merci

    Maintenant j'ai ceci comme problème :


  6. #6
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 35
    Points : 35
    Points
    35
    Par défaut
    Ok ok, heureux de l'apprendre. Je suppose que Talesta s'occupe d'afficher la variable $template_main plus tard en fait.

    Et comme avant ce $template_main ne contenait rien permettant d'afficher (les <td></td>), c'est jsute l'utilisation des echos qui foutait le bordel ;-)

    Bon beh, bonne programmation...

    EDIT
    ----------------
    Arf on a dû se croiser... bon par contre je ne vois pas bien où est le soucis... pourrais-tu préciser?

  7. #7
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 44
    Points : 35
    Points
    35
    Par défaut
    Le problème, viens de ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td width="'.$valeur.'" bgcolor="'.$couleur.'"></td>
    Image du problème en P.J
    Images attachées Images attachées  

  8. #8
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 35
    Points : 35
    Points
    35
    Par défaut
    Je dois être un petit peu lent ou alors c'est juste la fatigue parce que je ne vois toujours pas le problème avec les rectangles...

    S'ils t'ennuient le mieux est de tout simplement virer cette partie du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <td width="100" align="right">
    <table class="main" bgcolor="#FFFFFF" border="0" cellspacing="1" cellpadding="0" width="100" height="10">
    <tr bgcolor="#000000">
    <td width="'.$valeur.'" bgcolor="'.$couleur.'"></td>
    <td width="0"></td>
    </tr>
    </table>
    </td>
    Si c'est pas ça dis moi ce que tu voudrais à la place de ces fameux rectangles... où dis moi où tu souhaites les positionner...

  9. #9
    Nouveau membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    44
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 44
    Points : 35
    Points
    35
    Par défaut
    Non ils m'ennuient pas

    mais à 0% on devrait pas la voir la barre...

    logiquement ça devrais donner ça : avancement

    (C'est ma page d'avancement d'origine que j'ai faite (en partie) revue et corrigée par une amie ^^)

    Donc voila quoi

    Édit : Tout ce qu'essaie de faire c'est l'integrer dans une page du moteur de Talesta ^^

    Code C.S de la page : 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
    require_once("../include/extension.inc");
    if(!defined("PAS_DE_QUERY")){Define("PAS_DE_QUERY",1);}
    if(!defined("__titre.'.$phpExtJeu")){include('../include/titre.'.$phpExtJeu);}
    $titrepage = $avancement;
    if(!defined("__HEADER.PHP")){include('../include/header.'.$phpExtJeu);}
    $retour = mysql_query("SELECT * FROM avancement");
    while ($donnees = mysql_fetch_array($retour))
    {
    $statut = $donnees['statut'];
    $nom = $donnees['nom'];
    $valeur = $donnees['valeur'];
     
    if($statut == 'En projet')
    {
    $couleur = "#FFFF99";
    }
     
    if($statut == 'En cours')
    {
    $couleur = 'green';
    }
     
    if($statut == 'Abandonné')
    {
    $couleur = "#FF0000";
    }
     
    if($statut == 'Suspendu')
    {
    $couleur = "#FF9900";
    }
     
    if($statut == 'Alpha Test')
    {
    $couleur = "#CC99FF";
    }
     
    if($statut == 'Bêta Test')
    {
    $couleur = "#FF9999";
    }
     
    if($statut == 'Correction des bugs')
    {
    $couleur = "#9900FF";
    }
     
    if($statut == 'Correction des bugs en cours')
    {
    $couleur = "#99FFCC";
    }
     
    if($statut == 'Prochainement')
    {
    $couleur = "#990000";
    }
     
    if($statut == 'Terminé')
    {
    $couleur = "#0066CC";
    }
     
    $template_main .= '<table align="center">	
    <tr>
    <th width="260" align="left" style="text-indent:5px;">'.$nom.'</th>
    <th>
    <table style="border:none;">
    <tr>
    <td width="100" align="right">
    <table class="main" bgcolor="#FFFFFF" border="0" cellspacing="1" cellpadding="0" width="100" height="10">
    <tr bgcolor="#000000">
    <td width="'.$valeur.'" bgcolor="'.$couleur.'"></td>
    <td width="0"></td>
    </tr>
    </table></td>
    <td width="45" align="center">'.$valeur.'%</td>
    </tr>		 
    </table>
    </th>
    <th width="150" align="center">
    <font color="'.$couleur.'">'.$statut.'</font>
    </th>
    </tr> 
    </table>';
     }
    if(!defined("__MENU_SITE.PHP")){include('../main/menu_site.'.$phpExtJeu);}
    if(!defined("__FOOTER.PHP")){include('../include/footer.'.$phpExtJeu);}
    ?>

Discussions similaires

  1. Problème avec des transaction
    Par Oluha dans le forum ASP
    Réponses: 16
    Dernier message: 01/03/2005, 15h40
  2. Problème avec des composants non déclarés
    Par vbcasimir dans le forum Bases de données
    Réponses: 1
    Dernier message: 20/01/2005, 11h17
  3. Réponses: 5
    Dernier message: 19/08/2004, 11h11
  4. [STRUTS] Problème avec des ActionForm
    Par zarbydigital dans le forum Struts 1
    Réponses: 2
    Dernier message: 29/03/2004, 13h49
  5. Problèmes avec des vues
    Par dady dans le forum MFC
    Réponses: 22
    Dernier message: 09/01/2004, 16h26

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