Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & SQL-Server
PHP & SQL-Server Forum d'entraide sur SQL-Server avec PHP. Avant de poster -> FAQ SQL-Server
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 13/03/2006, 16h37   #1
Membre à l'essai
 
Avatar de steve o'steen
 
Inscription : janvier 2006
Messages : 61
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 61
Points : 24
Points : 24
Envoyer un message via MSN à steve o'steen
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 :
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.
steve o'steen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 13/03/2006, 17h02   #2
Membre chevronné
 
Avatar de nako
 
Ingénieur développement logiciels
Inscription : août 2003
Messages : 581
Détails du profil
Informations personnelles :
Localisation : France

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

Informations forums :
Inscription : août 2003
Messages : 581
Points : 635
Points : 635
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+
nako est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2006, 07h50   #3
Membre à l'essai
 
Avatar de steve o'steen
 
Inscription : janvier 2006
Messages : 61
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 61
Points : 24
Points : 24
Envoyer un message via MSN à steve o'steen
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?
steve o'steen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2006, 08h15   #4
Membre éprouvé
 
Avatar de gofono_bass
 
Inscription : décembre 2005
Messages : 385
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : décembre 2005
Messages : 385
Points : 409
Points : 409
t'as tout simplement oublié des . :
Code :
echo('<td>'.$data['NOM'].'</td>''<td>'.$data['PRENOM'].'</td>');
__________________
mais pourquoi tu cours?
gofono_bass est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2006, 08h23   #5
Membre émérite
 
Avatar de macbook
 
Inscription : février 2006
Messages : 840
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 840
Points : 924
Points : 924
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.
macbook est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2006, 09h10   #6
Membre à l'essai
 
Avatar de steve o'steen
 
Inscription : janvier 2006
Messages : 61
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 61
Points : 24
Points : 24
Envoyer un message via MSN à steve o'steen
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
steve o'steen est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2006, 09h29   #7
Membre à l'essai
 
Avatar de steve o'steen
 
Inscription : janvier 2006
Messages : 61
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 61
Points : 24
Points : 24
Envoyer un message via MSN à steve o'steen
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 :
1
2
 
       foreach ( $tab as $value )


voici le code complet
Code :
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----------------------------------------------------- -->
 
?>
steve o'steen est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h34.


 
 
 
 
Partenaires

Hébergement Web