Tableau php
Fermé
versa
Messages postés
60
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
4 septembre 2009
-
11 août 2009 à 13:44
TiboleParano Messages postés 498 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 7 avril 2015 - 12 oct. 2009 à 10:18
TiboleParano Messages postés 498 Date d'inscription mardi 18 mars 2008 Statut Membre Dernière intervention 7 avril 2015 - 12 oct. 2009 à 10:18
A voir également:
- Tableau php
- Tableau croisé dynamique - Guide
- Tableau word - Guide
- Tableau ascii - Guide
- Trier tableau excel - Guide
- Easy php - Télécharger - Divers Web & Internet
66 réponses
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
11 août 2009 à 14:09
11 août 2009 à 14:09
Si je me trompe pas, la requete que tu cherches est :
après il existe peut être plus simple, et si tu veux compter uniquement les entrees de la premiere colonne de cette table, peut être que tu peut remplacer (*) par Nom_Colonne ou (Nom_Colonne)
$reponse = mysql_fetch_array(mysql_query("SELECT COUNT (*) AS compte FROM Nom_Table")) $reponse['compte'] = nombre d'entrees dans cette table
après il existe peut être plus simple, et si tu veux compter uniquement les entrees de la premiere colonne de cette table, peut être que tu peut remplacer (*) par Nom_Colonne ou (Nom_Colonne)
kij_82
Messages postés
4089
Date d'inscription
jeudi 7 avril 2005
Statut
Contributeur
Dernière intervention
30 septembre 2013
857
11 août 2009 à 13:59
11 août 2009 à 13:59
Bonjour,
Peux-tu expliquer à nouveau ton problème de manière claire, sans vouloir expliquer à tout va ;)
Ce que je voudrais savoir plus particulièrement c'est si tu affiche déjà un résultat de requête SQL sous forme de tableau et que tu souhaites affiché dans ce tableau le nombre de résultat que tu as affiché ? Si oui, tu voudrais savoir comment le faire sous forme SQL plutôt que PHP c'est ca ? (parce qu'en PHP, un simple compte que tu incrémente à chaque ligne de résultat traité suffit amplement pour le faire)
As-tu déjà codé quelque chose (si oui, post le entre les balises < code> et < /code> (sans les espaces bien sur)
Peux-tu expliquer à nouveau ton problème de manière claire, sans vouloir expliquer à tout va ;)
Ce que je voudrais savoir plus particulièrement c'est si tu affiche déjà un résultat de requête SQL sous forme de tableau et que tu souhaites affiché dans ce tableau le nombre de résultat que tu as affiché ? Si oui, tu voudrais savoir comment le faire sous forme SQL plutôt que PHP c'est ca ? (parce qu'en PHP, un simple compte que tu incrémente à chaque ligne de résultat traité suffit amplement pour le faire)
As-tu déjà codé quelque chose (si oui, post le entre les balises < code> et < /code> (sans les espaces bien sur)
versa
Messages postés
60
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
4 septembre 2009
11 août 2009 à 14:23
11 août 2009 à 14:23
ok mais ou je vais ecrire cette requete ds quelle page celle du tableau ou ds la colonne ? et ou exactement merci
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
11 août 2009 à 14:29
11 août 2009 à 14:29
N'importe ou dans ton code, sa doit être placé avant que tu utilise
Cela créé une cellule avec le nombre d'enregistramant, tu met ce code en début ou fin de tableau
$reponse['compte']qui contient un nombre, comme nimporte quelle variable en php, après si tu écris
echo '<td>'. $reponse['compte'] .'</td>';
Cela créé une cellule avec le nombre d'enregistramant, tu met ce code en début ou fin de tableau
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
versa
Messages postés
60
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
4 septembre 2009
12 août 2009 à 13:33
12 août 2009 à 13:33
slt a tous
voila mon code des 2 pages pour ca sera bien claire
page1 :
<form id="form1" name="form1" method="post" action="p2.php">
<label></label>
<p>
<label> </label>
<label></label>
</p>
Projet
<select name="lst">
<option valu="0">---Selectionner un sujet---</option>
<?php
$requete= mysql_query("select * from sujet");
while ($lng=mysql_fetch_row($requete)) {
echo '<option value="'.$lng[0].'">'.$lng[1].'</option>';
}
?>
</select>
<?php
mysql_close();
?>
<p>
<label>
nom projet
<input name="tx" type="text" id="tx" />
</label>
</p>
<p> </p>
<p>
<label>
<input type="submit" name="Submit" value="Envoyer" />
</label>
</p>
<p> </p>
</form>
page2:
<?php
mysql_connect("localhost", "root","");
mysql_select_db("test");
$requete=mysql_query("select nom from membre inner join sujet on membre.id_suj=sujet.id_suj where sujet.intitule like'".$_POST["tx"]."%'");
?>
<table width="361" height="137" border="1">
<tr>
<th scope="col">intitule</th>
<th scope="col">Nombre</th>
<th scope="col">Taux</th>
</tr>
<?php
while ($lign=mysql_fetch_array($requete))
{
?>
<tr>
<th scope="row"><?php echo $lign[0];?></th>
<th scope="row"> </th>
<th scope="row"> </th>
</tr>
<tr>
<th scope="row"> </th>
<th scope="row"> </th>
<th scope="row"> </th>
</tr>
</table>
<p>
<?php
}
mysql_close();
?>
</p>
<p> </p>
<p align="center"><a href="p1.php">Retour </a></p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
voila le sql que je vais utiliser :
"select nom ,count(sujet.intitule) as total from membre inner join sujet on membre.id_sjt=sujet.id_sjt where sujet.intitule like "sante" group by sujet.id_sjt"
mais je sais comment faire entere cette requete ds mon code.
et je vx afficher ds ce tableau la case nombre le nombre des intitule detectés ds la bd comme suite
intitule
Nombre
Taux
j'espere que ma question est assez claire j'attends tjrs votre aide,j'en suis vraiment besoin merci
voila mon code des 2 pages pour ca sera bien claire
page1 :
<form id="form1" name="form1" method="post" action="p2.php">
<label></label>
<p>
<label> </label>
<label></label>
</p>
Projet
<select name="lst">
<option valu="0">---Selectionner un sujet---</option>
<?php
$requete= mysql_query("select * from sujet");
while ($lng=mysql_fetch_row($requete)) {
echo '<option value="'.$lng[0].'">'.$lng[1].'</option>';
}
?>
</select>
<?php
mysql_close();
?>
<p>
<label>
nom projet
<input name="tx" type="text" id="tx" />
</label>
</p>
<p> </p>
<p>
<label>
<input type="submit" name="Submit" value="Envoyer" />
</label>
</p>
<p> </p>
</form>
page2:
<?php
mysql_connect("localhost", "root","");
mysql_select_db("test");
$requete=mysql_query("select nom from membre inner join sujet on membre.id_suj=sujet.id_suj where sujet.intitule like'".$_POST["tx"]."%'");
?>
<table width="361" height="137" border="1">
<tr>
<th scope="col">intitule</th>
<th scope="col">Nombre</th>
<th scope="col">Taux</th>
</tr>
<?php
while ($lign=mysql_fetch_array($requete))
{
?>
<tr>
<th scope="row"><?php echo $lign[0];?></th>
<th scope="row"> </th>
<th scope="row"> </th>
</tr>
<tr>
<th scope="row"> </th>
<th scope="row"> </th>
<th scope="row"> </th>
</tr>
</table>
<p>
<?php
}
mysql_close();
?>
</p>
<p> </p>
<p align="center"><a href="p1.php">Retour </a></p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
voila le sql que je vais utiliser :
"select nom ,count(sujet.intitule) as total from membre inner join sujet on membre.id_sjt=sujet.id_sjt where sujet.intitule like "sante" group by sujet.id_sjt"
mais je sais comment faire entere cette requete ds mon code.
et je vx afficher ds ce tableau la case nombre le nombre des intitule detectés ds la bd comme suite
intitule
Nombre
Taux
j'espere que ma question est assez claire j'attends tjrs votre aide,j'en suis vraiment besoin merci
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
12 août 2009 à 13:47
12 août 2009 à 13:47
je test ton code et jte dit quoi ;)
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
12 août 2009 à 13:58
12 août 2009 à 13:58
hophophop, tu utilise de l'orienté objet dans ta requete ? "from membre.id_suj=suj.id_suj " ?
c'est possible ?
c'est possible ?
versa
Messages postés
60
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
4 septembre 2009
12 août 2009 à 14:04
12 août 2009 à 14:04
j'ai tester la requete sur la bd et ca a fontionneé
j'ai le prob au niveau du code
j'ai le prob au niveau du code
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
12 août 2009 à 14:23
12 août 2009 à 14:23
donc la requete
"select nom ,count(sujet.intitule) as total from membre inner join sujet on membre.id_sjt=sujet.id_sjt where sujet.intitule like "sante" group by sujet.id_sjt"
te donne bien le nombre que tu voulais ? et pour le tableau j'ai du mal à comprendre sa forme,
est-ce
|INTITULE|NOMBRE|TAUX|
| dddd | 89 | 52% |
| aerg | 542 | 93% |
ou
|INTITULE| ddd | aerg |
|NOMBRE | 89 | 542 |
|TAUX | 52% | 93% |
?
"select nom ,count(sujet.intitule) as total from membre inner join sujet on membre.id_sjt=sujet.id_sjt where sujet.intitule like "sante" group by sujet.id_sjt"
te donne bien le nombre que tu voulais ? et pour le tableau j'ai du mal à comprendre sa forme,
est-ce
|INTITULE|NOMBRE|TAUX|
| dddd | 89 | 52% |
| aerg | 542 | 93% |
ou
|INTITULE| ddd | aerg |
|NOMBRE | 89 | 542 |
|TAUX | 52% | 93% |
?
versa
Messages postés
60
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
4 septembre 2009
12 août 2009 à 14:29
12 août 2009 à 14:29
oui la requete me donne le nombre et le tableau est comme ca
|INTITULE|NOMBRE|TAUX|
| dddd | 89 | 52% |
| aerg | 542 | 93% |
a savoir que le tx est le taux d'intitule par rapport au total prenons ton exemple 89/(89+542)
tu vois ce que je vx dire et merci pr ton tps
|INTITULE|NOMBRE|TAUX|
| dddd | 89 | 52% |
| aerg | 542 | 93% |
a savoir que le tx est le taux d'intitule par rapport au total prenons ton exemple 89/(89+542)
tu vois ce que je vx dire et merci pr ton tps
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
12 août 2009 à 15:09
12 août 2009 à 15:09
ok ok ok, jpense avoir compris, tu me diras si sa marche:
dis moi si c'est ce qu tu voulais, j'ai l'impresion que le nombre sera identique à chaque fois je pense pas que c'est ce que tu voulais
<?php mysql_connect("localhost", "root",""); mysql_select_db("test"); $requete=mysql_query("select nom from membre inner join sujet on membre.id_suj=sujet.id_suj where sujet.intitule like'".$_POST["tx"]."%'"); ?> <table> <tr> <td>Intitulé</td> <td>Nombre</td> <td>Taux</td> </tr> <?php while ($lign=mysql_fetch_array($requete)) { $nombre_o=mysql_query("select nom ,count(sujet.intitule) as total from membre inner join sujet on membre.id_sjt=sujet.id_sjt where sujet.intitule like "sante" group by sujet.id_sjt" ); $nombre = $nombre_o['total']; echo '<tr><td>'.$lign[0].'</td><td>'.$nombre.'</td><td>'.$_POST['tx'].'</td></tr>'; } ?> </table>
dis moi si c'est ce qu tu voulais, j'ai l'impresion que le nombre sera identique à chaque fois je pense pas que c'est ce que tu voulais
versa
Messages postés
60
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
4 septembre 2009
12 août 2009 à 15:51
12 août 2009 à 15:51
desolé mais ca n'a tjrs pas marché
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
12 août 2009 à 15:59
12 août 2009 à 15:59
hophophop jviens de comprendre ce qui pouvait etre mon erreur
c'est peut-être plus sa que tu voulais, je crois
<?php mysql_connect("localhost", "root",""); mysql_select_db("test"); $requete=mysql_query("select nom from membre inner join sujet on membre.id_suj=sujet.id_suj where sujet.intitule like'".$_POST["tx"]."%'"); ?> <table> <tr> <td>Intitulé</td> <td>Nombre</td> <td>Taux</td> </tr> <?php while ($lign=mysql_fetch_array($requete)) { $nombre_o=mysql_query("select nom ,count(sujet.intitule) as total from membre inner join sujet on membre.id_sjt=sujet.id_sjt where sujet.intitule like "sante" group by sujet.id_sjt" ); $nombre = $nombre_o['total']; echo '<tr><td>'.$lign[0].'</td><td>'.$lign[1].'</td><td>'.($lign[1]/$nombre).'%</td></tr>'; } ?> </table>
c'est peut-être plus sa que tu voulais, je crois
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
12 août 2009 à 16:00
12 août 2009 à 16:00
quand tu dis que sa n'as pas marché, sa a planté o usa fait rien (page_blanche) ?
c'est le code de la 2e page
c'est le code de la 2e page
versa
Messages postés
60
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
4 septembre 2009
12 août 2009 à 16:28
12 août 2009 à 16:28
il me doune erreur a cette ligne
echo '<tr><td>'.$lign[0].'</td><td>'.$lign[1].'</td><td>'.($lign[1]/$nombre).'%</td></tr>';
comme ca
Warning: Division by zero in C:\wamp\www\Test\p2.php on line 26
Non respect de la hauteur maximale( 1,20m) des po %
Warning: Division by zero in C:\wamp\www\Test\p2.php on line 26
echo '<tr><td>'.$lign[0].'</td><td>'.$lign[1].'</td><td>'.($lign[1]/$nombre).'%</td></tr>';
comme ca
Warning: Division by zero in C:\wamp\www\Test\p2.php on line 26
Non respect de la hauteur maximale( 1,20m) des po %
Warning: Division by zero in C:\wamp\www\Test\p2.php on line 26
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
12 août 2009 à 16:36
12 août 2009 à 16:36
ok donc vu l'erreur c'est que $nombre=0; ce qui veut dire qu'il y a peut-être une erreur lors de la requete sql qui donne le nombre: vérifie que je l'ai bien recopiée comme toi ds mon code, et vérifi que la requete te donne bien toujours le nombre que tu esperais
versa
Messages postés
60
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
4 septembre 2009
12 août 2009 à 17:04
12 août 2009 à 17:04
oui j'avais une erreur au niveau de group by je devrais mettre ceci
"select nom ,count(sujet.intitule) as total from membre inner join sujet on membre.id_sjt=sujet.id_sjt where sujet.intitule like "sante" group by nom"
mais ca donne tjrs la meme erreur
"select nom ,count(sujet.intitule) as total from membre inner join sujet on membre.id_sjt=sujet.id_sjt where sujet.intitule like "sante" group by nom"
mais ca donne tjrs la meme erreur
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
12 août 2009 à 17:10
12 août 2009 à 17:10
toujours "can't divide by 0" ?
met un ptit echo $nombre.'<br/>'; juste après qu'on ai défini $nombre pour voir quelle valeur il a (si il plante avant d'afficher, insère un alert de javascript comme je l'avais fait tout à l'heure
<script language="javascript>
alert('<?php echo $nombre;?>');
</script>
sur ce je quitte le taff, jreviens demain, bonne chance et bon cod@ge d'ici là ;)
met un ptit echo $nombre.'<br/>'; juste après qu'on ai défini $nombre pour voir quelle valeur il a (si il plante avant d'afficher, insère un alert de javascript comme je l'avais fait tout à l'heure
<script language="javascript>
alert('<?php echo $nombre;?>');
</script>
sur ce je quitte le taff, jreviens demain, bonne chance et bon cod@ge d'ici là ;)
versa
Messages postés
60
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
4 septembre 2009
13 août 2009 à 14:12
13 août 2009 à 14:12
bonjour, je sais mais la division c pour le taux mais pourquoi il ne compte pas les enregistrements?
versa
Messages postés
60
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
4 septembre 2009
17 août 2009 à 10:00
17 août 2009 à 10:00
bonjour,
j'ai arrivé enfin à afficher le nombre mais le problème qui se pose mnt c au niveau du total
je ne sais pas comment le calculer à l'interieur de la boucle.
j'ai arrivé enfin à afficher le nombre mais le problème qui se pose mnt c au niveau du total
je ne sais pas comment le calculer à l'interieur de la boucle.
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
61
24 août 2009 à 09:10
24 août 2009 à 09:10
re, j'était en congé, alors t'y est arrivé ?
versa
Messages postés
60
Date d'inscription
lundi 27 juillet 2009
Statut
Membre
Dernière intervention
4 septembre 2009
>
TiboleParano
Messages postés
498
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
7 avril 2015
24 août 2009 à 11:19
24 août 2009 à 11:19
bonjour ca va
oui j'ai reussi à compter le nbre d'enregistrement' mais il me reste un truc c la somme de ces nombres j'ai utilisé la fonction mysql_num_rows() mais elle me compte juste les lignes alors qu'il y a des lignes ou il y a 2 ou 3 enregitrement tu vois ce que je vx dire,alors si tu px bien m'aider sur ce truc j'en serai reconnaissente merci a plus...
oui j'ai reussi à compter le nbre d'enregistrement' mais il me reste un truc c la somme de ces nombres j'ai utilisé la fonction mysql_num_rows() mais elle me compte juste les lignes alors qu'il y a des lignes ou il y a 2 ou 3 enregitrement tu vois ce que je vx dire,alors si tu px bien m'aider sur ce truc j'en serai reconnaissente merci a plus...