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 :

[Tableaux] validation dans un echo ?


Sujet :

Langage PHP

  1. #1
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut [Tableaux] validation dans un echo ?
    soit 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
    15
    16
    17
    18
    19
    20
    21
     
    ....
    $req = $objCon->dbQuery($strScript);
    while($lig = mysql_fetch_array($req)){
    	echo'
    		<tr>
    			<td align="center" >
    				'.$lig['cieAssuranceNom'].'
    			</td>
    			<td align="center">
    				'.$lig['numDossierAssurance'].'
    			</td>
    			<td align="center">
    				'.$lig['responsabilite'].'
    			</td>
    			<td align="center">
    				'.$lig['souscription'].'
    			</td>
    		</tr>
    	';
    }
    lors de mon affichage disons que le numDossierAssurance n'est pas définit, il va passer droit...ne créera pas le td en fait, alors comme j'ai des borders=1 dans ma table ca fait une cellule vide.
    La solution est de faire une validation à voir si le numDossierAssurance est définit...comme je suis dans un affichage echo est ce que je peux faire ma validation directement en concatener le tout ou je dois fermer mon echo et repartir l'affichage après la validation?

    j'avais pensé a une validation de ce type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (!empty($lig['numDossierAssurance'])) ? $lig['numDossierAssurance'] : '&nbsp;';
    alors je peut insérer ce bout de code directement dans un echo?
    et aussi en terme d'élégence ya mieux?
    merci
    La perfection n'est pas un but, l'amélioration constante devrait l'être!
    La position des Développeurs de developpez avec les explications

  2. #2
    En attente de confirmation mail Avatar de gd_dev
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2003
    Messages : 79
    Points : 129
    Points
    129
    Par défaut
    Si vous ne l'utiliser pas plus bas dans le script, le plus simple c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    if(empty($lig['numDossierAssurance'])){
     $lig['numDossierAssurance'] = "&nbsp;";
    }
    ?>

  3. #3
    Membre du Club
    Inscrit en
    Février 2006
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 102
    Points : 68
    Points
    68
    Par défaut
    sinon tu ajoutes une propriété css à ton tableau, le forçant à afficher les cellules vides

  4. #4
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Citation Envoyé par gd_dev
    Si vous ne l'utiliser pas plus bas dans le script, le plus simple c'est

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    if(empty($lig['numDossierAssurance'])){
     $lig['numDossierAssurance'] = "&nbsp;";
    }
    ?>
    Oui je sais comment faire la validation
    ce que je me demandais c'est si je pouvais le mettre directement dans le echo de ma table lors de l'affichage des mes valeurs?
    Sinon je vais tester si mon champs est rempli et faire afficher par la suite la mais regardez ce que je veux faire...ce code ne fonctionne pas par contre..
    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
    $req = $objCon->dbQuery($strScript);
    while($lig = mysql_fetch_array($req)){
    	echo'
    		<tr>
    			<td align="center" >
    				'.$lig['cieAssuranceNom'].'
    			</td>
    			<td align="center">
    				'.(!empty($lig['numDossierAssurance'])) ? $lig['numDossierAssurance'] : '&nbsp;';
    .'			</td>
    			<td align="center">
    				'.$lig['responsabilite'].'
    			</td>
    			<td align="center">
    				'.$lig['souscription'].'
    			</td>
    		</tr>
    	';
    }
    c'était dans cette vague d'idée
    La perfection n'est pas un but, l'amélioration constante devrait l'être!
    La position des Développeurs de developpez avec les explications

  5. #5
    Membre habitué Avatar de daniel61
    Inscrit en
    Décembre 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 139
    Points : 169
    Points
    169
    Par défaut
    dans echo il faut des () sur l'instruction complète
    (!empty($lig['numDossierAssurance']) ? $lig['numDossierAssurance'] : '&nbsp;')
    et sans le ; au bout de préférence dans ce cas ci

  6. #6
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    Salut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    echo '
    <td align="center">
       '.(echo($res['kilometrage'] != '') ? $res['kilometrage'] : '&nbsp;').'
    </td>
    ';
    me donne
    Parse error: parse error, unexpected T_ECHO in C:\pages\feuilleDeTravail.php on line 348
    donc je ne crois pas qu'on puisse faire ca...
    La perfection n'est pas un but, l'amélioration constante devrait l'être!
    La position des Développeurs de developpez avec les explications

  7. #7
    Membre habitué Avatar de daniel61
    Inscrit en
    Décembre 2006
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 139
    Points : 169
    Points
    169
    Par défaut
    désolé d'avoir été imprécis.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    echo '
    <td align="center">
       '.(($res['kilometrage'] != '') ? $res['kilometrage'] : '&nbsp;').'
    </td>
    ';

  8. #8
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    echo '<td align="center">'.
    	$res['kilometrage'] != '' ? $res['kilometrage'] : '&nbsp;'.
    	'</td>';

  9. #9
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    merci beaucoup daniel61 en effet c'est logic d'enlevé le echo puisqu'on est déjà dans un echo

    julien.63...ta solution ne fonctionne pas

    merci pour le coup de main
    La perfection n'est pas un but, l'amélioration constante devrait l'être!
    La position des Développeurs de developpez avec les explications

  10. #10
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    euuh désolé d'insister (pour une paire de parenthèse c'est un peu du chipotage...), mais j'avais testé le code et je viens de retester...
    ça fonctionne chez moi.

  11. #11
    Membre éprouvé
    Avatar de ozzmax
    Inscrit en
    Novembre 2005
    Messages
    977
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Novembre 2005
    Messages : 977
    Points : 959
    Points
    959
    Par défaut
    salut
    ouais la pair de parenthèses, ben la première est pour le tout à concatener
    la 2e est pour la conditions (juste avant le ?)

    je teste pour toi pour etre certain de ce que j'avance...


    et ca ne me fait pas d'erreur en effet
    sauf que ca n'affiche rien dans mon tableau aucune ligne de retour de ma requete alors qu'avec les parenthèse sa fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    //fonctionne
    echo'
    <td align="center">
      '.(($res['kilometrage'] != '') ? $res['kilometrage'] : '&nbsp;').'
    </td>
    ';
     
    //Ne fonctionne pas
    echo'
    <td align="center">
      '.$res['kilometrage'] != '' ? $res['kilometrage'] : '&nbsp;'.'
    </td>
    ';
    c'est p-e etre car il essaie de concatener la variable $res['kilometrage'] directement et ensuite plante le script avec la lecture de '?'....
    La perfection n'est pas un but, l'amélioration constante devrait l'être!
    La position des Développeurs de developpez avec les explications

  12. #12
    Membre expérimenté Avatar de julien.63
    Profil pro
    balayeur
    Inscrit en
    Décembre 2005
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : balayeur

    Informations forums :
    Inscription : Décembre 2005
    Messages : 1 348
    Points : 1 311
    Points
    1 311
    Par défaut
    méa culpa !
    c'est p-e etre car il essaie de concatener la variable $res['kilometrage'] directement et ensuite plante le script avec la lecture de '?'...
    Effectivement, ça doit être ça, je retrouve la même erreur, j'avais du mal tester.

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

Discussions similaires

  1. [Tableaux] un echo dans un echo
    Par Ziltoid dans le forum Langage
    Réponses: 2
    Dernier message: 02/11/2007, 10h14
  2. [Tableaux] Utiliser une boucle for dans un echo
    Par maoboy dans le forum Langage
    Réponses: 7
    Dernier message: 18/06/2007, 13h55
  3. [Tableaux] If dans un echo
    Par jojo57 dans le forum Langage
    Réponses: 9
    Dernier message: 25/05/2007, 17h54
  4. [Tableaux] Code PHP dans un echo
    Par flOZ dans le forum Langage
    Réponses: 7
    Dernier message: 24/05/2006, 09h40
  5. [D7] Tableaux dynamiques dans un record
    Par bobby-b dans le forum Langage
    Réponses: 2
    Dernier message: 30/06/2004, 23h23

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