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

PHP & Base de données Discussion :

Pb affichage données dans tableau


Sujet :

PHP & Base de données

  1. #1
    Membre du Club Avatar de steve o'steen
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 65
    Points : 44
    Points
    44
    Par défaut Pb affichage données dans tableau
    j'ai un probléme pour afficher mes données je récup mes données depuis ma base là à priori pas de pb par contre aprés je n'arrive pas à les afficher dans un tableau

    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
     
    <?php
    //echo "ici se trouve la partie administration de l'intranet";
    $connec=mssql_connect("database", "usr", "mdp");
    $sel=mssql_select_db("RESSOURCE", $connec);
    $result="SELECT NOM PRENOM FROM USER_tbl";
    $req=mssql_query($result, $connec);
    $num_rows=mssql_num_rows($req);
    ?>
    <table border="1">
    <tr>
    	<td>
    		NOM
    	</td>
    	<td>
    		PRENOM
    	</td>
    </tr>
    <?php
            echo('<tr>');
            $i=1;
            while($data = mssql_fetch_assoc($req))
            {
          	    echo('<td>'.$data['NOM']'</td>''<td>'.$data['PRENOM']'</td>');
    		}
    		mssql_close();
          echo('</tr>');
    	?>
    </table>
    je pense que c'est ma boucle while qui a un probléme mais je n'arrive pas à l'identifier.
    95% des problémes informatiques se trouvent entre le clavier et la chaise
    pensez au

  2. #2
    Membre éclairé Avatar de nako
    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2003
    Messages
    577
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2003
    Messages : 577
    Points : 663
    Points
    663
    Par défaut
    Salut, tu devrait peut-être mettre tes balise <tr> et </tr> dans le while.

    Le mieux dans ce genre de situation, c'est de tester un tableau en dur.
    Une fois que tu as compris, tu regarde les infos générées par ta boucle, et tu fais tourner "a la main" (= sur papier) sur 2 ou 3 enregistrement et tu regardes ce que tu attends comme résultat.
    a+

  3. #3
    Membre du Club Avatar de steve o'steen
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 65
    Points : 44
    Points
    44
    Par défaut
    pas béte merci par contre il me mets un autre erreur qui est:
    unexpected T_CONSTANT_ENCAPSED_STRING dans la ligne de mon while!!
    je vois pas ce qui l'embete est-ce mes variables?
    sachant que je n'ait pas encore de données dans ma bd dois-je rajouter une gestion d'erreur?
    95% des problémes informatiques se trouvent entre le clavier et la chaise
    pensez au

  4. #4
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    t'as tout simplement oublié des . :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo('<td>'.$data['NOM'].'</td>''<td>'.$data['PRENOM'].'</td>');
    mais pourquoi tu cours?

  5. #5
    Membre éprouvé Avatar de macbook
    Inscrit en
    Février 2006
    Messages
    838
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 838
    Points : 1 009
    Points
    1 009
    Par défaut
    de toute façons cette méthode va trouver sa limite assez rapidement.

    [autopub]
    Afficher des données issues d’un SGBDR dans un tableau HTML
    [/autopub]

    Il s'agit d'une simple fonction qui se charge de faire le travail avec des paramètres utilisateur.

    N'joy.
    Consultant idéaliste.

  6. #6
    Membre du Club Avatar de steve o'steen
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 65
    Points : 44
    Points
    44
    Par défaut
    je n'aurais pas afficher + de 30 champs donc je pense qu'elle devrait suffire je vais néanmoins regardé ta fonction macbook et merci encore
    95% des problémes informatiques se trouvent entre le clavier et la chaise
    pensez au

  7. #7
    Membre du Club Avatar de steve o'steen
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 65
    Points : 44
    Points
    44
    Par défaut
    aprés avoir tester ta fonction et adapter celle là au fait que j'utilise mssql il me mets une erreur :
    invalid arguments supplied for foreach
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
           foreach ( $tab as $value )


    voici le code complet
    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
     
    <?php
     
    $connec=mssql_connect("server", "usr", "mdp");
    $sel=mssql_select_db("RESSOURCE", $connec);
    $sql = "
        SELECT NOM
        FROM USER_tbl
        " ;
        $result = mssql_query ( $sql, $connec) ;
     
    //<!-- -------------------------------------corps----------------------------------------------------- -->
     
    $html = '<table border="1" width="600" cellspacing="0" cellpadding="0" align="center">' ;
        $i = 0 ;
     
        while ( $row = mssql_fetch_assoc ( $result )  )
        {
            if ( $i == 0 )
            {
            $html .= '<tr>' ;
            }
     
        $html .= '<td width="300">' . htmlspecialchars ( $row['NOM'] ) . '</td>' ;
     
        $i++ ;
     
            if ( ( $i % 2 ) == 0 )
            {
            $html .= '</tr>' ;
            $i = 0 ;
            }
        }
     
        $html .= '</table>' ;
     
    //<!-- -------------------------------------corps----------------------------------------------------- -->
     
    function affiche_tab ( $tab , $nb )
        {
        $nb_var = count ( $tab ) ; // nombre d'occurence à afficher
        $nb_line = ceil ( count ( $tab ) / $nb ) ; // nombre de ligne que comportera le tableau HTML
        $nb_cell =  $nb_line * $nb - $nb_var ; // nombre de cellule "vide" à la fin du tableau HTML
        $width = ceil ( 100 / $nb ) ; // largeur des cellules en %
        $table_html = '<table border="1" width="600" cellspacing="0" cellpadding="0" align="center">' ; // A personnaliser
        $i = 0 ;
            foreach ( $tab as $value )
            {
                if ( $i == 0 ) // Début d'une ligne de tableau HTML
                {
                $table_html .= '<tr>' ;
                }
            $table_html .= '<td width="' . $width . '%">' . $value . '</td>' ;
            $i ++ ;
                if ( $i == $nb ) // Fin d'une ligne de tableau HTML
                {
                $table_html .= '</tr>' ;
                $i = 0 ;
                }
            }
        $end_table_html = '' ;
            if ( $nb_cell != 0 )// Ajout de cellule "vide" pour finir le tableau HTML
            {
            $i = 0 ;
                while ( $i <$nb_cell )
                {
                $end_table_html .= '<td>&nbsp;</td>' ;
                $i ++ ;
                }
            $end_table_html .= '</tr>' ;
            }
        $table_html .= $end_table_html . '</table>' ;
        return $table_html ;
        }
     
        $tab = array() ;
        while ( $row = mssql_fetch_assoc ( $result )  )
        {
        $tab[] = $row['name'] ;
        }
    //<!-- -------------------------------------corps----------------------------------------------------- -->
     
     echo affiche_tab ( $row , 2 ) ;
     
    //<!-- -------------------------------------corps----------------------------------------------------- -->
     
    ?>
    95% des problémes informatiques se trouvent entre le clavier et la chaise
    pensez au

Discussions similaires

  1. [PostgreSQL] Affichage de données dans tableau
    Par jessimvcrew dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 20/10/2014, 10h19
  2. Probleme affichage données dans un tableau
    Par spider_sup dans le forum NetBeans
    Réponses: 0
    Dernier message: 15/08/2008, 11h10
  3. [MySQL] Affichage données dans tableau html
    Par TwAzO dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 04/06/2008, 11h36
  4. Réponses: 3
    Dernier message: 01/06/2006, 19h45
  5. [SQL] Moteur de recherche problème affichage donnée dans select
    Par vincedjs dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 07/04/2006, 20h27

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