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
Bonjour,
j'ai créer un tableau et je vx créer une colonne qui permet d'afficher le nombre d'enregistrement qu'il y'a ds la 1ere colonne et qui se trouve d'ailleurs ds la bd c koi la requette que je dois utiliser et je vais la mettre ou? please help merci.

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
Si je me trompe pas, la requete que tu cherches est :
$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)
1
kij_82 Messages postés 4088 Date d'inscription jeudi 7 avril 2005 Statut Contributeur Dernière intervention 30 septembre 2013 857
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)
0
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
ok mais ou je vais ecrire cette requete ds quelle page celle du tableau ou ds la colonne ? et ou exactement merci
0
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
N'importe ou dans ton code, sa doit être placé avant que tu utilise
$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
0

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
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
0
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
je test ton code et jte dit quoi ;)
0
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
hophophop, tu utilise de l'orienté objet dans ta requete ? "from membre.id_suj=suj.id_suj " ?
c'est possible ?
0
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
j'ai tester la requete sur la bd et ca a fontionneé
j'ai le prob au niveau du code
0
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
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% |
?
0
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
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
0
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
ok ok ok, jpense avoir compris, tu me diras si sa marche:
<?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
0
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
desolé mais ca n'a tjrs pas marché
0
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
hophophop jviens de comprendre ce qui pouvait etre mon erreur
<?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
0
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
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
0
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
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
0
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
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
0
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
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
0
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
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à ;)
0
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
bonjour, je sais mais la division c pour le taux mais pourquoi il ne compte pas les enregistrements?
0
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
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.
0
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
re, j'était en congé, alors t'y est arrivé ?
0
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
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...
0