Tableau php

versa Messages postés 60 Date d'inscription   Statut Membre Dernière intervention   -  
TiboleParano Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   -
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.
A voir également:

66 réponses

TiboleParano Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   61
 
tu as initialisé $total=0; ?
est-ce que $req est bon ? (c'est pas la chaine de la requete, mais bien la requete appliquée stockée ?)
y as-til bien un <table> tout au début ? (oui c'est tout con mais bon ...)
et ensuite je te conseil un ptit truc pour tester les valeurs successives (perso j'aime bien voir ce qui se passe à l'interieur de la boucle, comment elle se déroule)
donc pour sa, rajout $test=''; tout au début, avant le tableau, et ensuit tu emplace ta boucle par :
while ($li=mysql_fetch_array($req)) 
{ 
?> 

<tr> 
   <th height="35" scope="row"><?php echo $li[0];?></th> 
   <th scope="row"><?php echo $li[1];?> </th> 
   <th scope="row"><?php echo ($li[1]/ $total);?></th> 
</tr> 
<?php 
$test .= 'valeur: '.$li[1].'     total :'.$total.'<br/>';
$total+=$li[1]; 
} 

et à la fin du code un ptit echo $test; et tu me copie les valeurs affichées, si et surtout si il y en a assez (s'il n'écrit qu'une ligne, c'est qu'il n'a lu qu'une ligne de ta BDD)
au fait, il t'affiche le tableau, toujours avec les bonnes valeurs ?
0
versa Messages postés 60 Date d'inscription   Statut Membre Dernière intervention  
 
t'es tjrs la?
0
versa Messages postés 60 Date d'inscription   Statut Membre Dernière intervention  
 
voici le tableau qui m'est affiché avec des valeurs correctes mais peuvent etre plusieurs valeurs

Intitule | Nombre | Taux
Gestion documentaire | 1 |
Non respect de la hauteur | |
maximale( 1,20m) des po | 1 |
|-----------------------
Total | 2 |



et voici mon code:

<body>
<?php
mysql_connect("localhost", "root","");
mysql_select_db("intra_qualite");

$req=mysql_query("select nc.intitule,count(nc.intitule) as total from nc inner join projet on nc.id_pjt=projet.id_pjt where projet.intitule like '".$_POST["combo"]."%' and etat='".$_POST["slt2"]."' group by nc.intitule");
$total=0;
$test='';
?>
<table width="470" height="107" border="1">
<tr>
<th width="179" height="27" scope="col">Intitule</th>
<th width="65" scope="col">Nombre</th>
<th width="65" scope="col">Taux</th>
</tr>
<?php

while ($li=mysql_fetch_array($req))
{
?>

<tr>
<th height="35" scope="row"><?php echo $li[0];?></th>
<th scope="row"><?php echo $li[1];?> </th>
<th scope="row"> </th>
</tr>
<?php
$test .= 'valeur: '.$li[1].' total :'.$total.'<br/>';
$total+=$li[1];

}
mysql_close();
?>
<tr>
<th height="35" scope="row">Total</th>
<th scope="row"><?php echo $total;?></th>
<th scope="row"> </th>
</tr>
</table>


alors comment calculer le tx apres avoir fait le total, et puisque il y a plusieurs enregistrement il me faut je crois une autre boucle ,mais je ne sais pas comment la créer.?!!!
0
TiboleParano Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   61
 
pour l'instant jsuis la, jsuisque environ 5H, attend jregard et je lis ...
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
TiboleParano Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   61
 
jcomprend toujours pas ton histoire de taux ?
explique chaque colonne de ta bdd, quel est le but de chaque info ? je ne comprend pas grand chose, ou plutot je ne vois pas l'objectif du site ... aide moi :)
0
versa Messages postés 60 Date d'inscription   Statut Membre Dernière intervention  
 
ok je vais essayer le plus que possible,

c un site intranet d'une sté on veux afficher dans un tableau des actions pour lesquelles j'ai crée une requete les extrait de la bdd. puis ce tableau s'affiche comme suite :

intitule | nombre| taux
| |


et voici ma requete:
$req=mysql_query("select nc.intitule,count(nc.intitule) as total from nc inner join projet on nc.id_pjt=projet.id_pjt where projet.intitule like '".$_POST["combo"]."%' group by nc.intitule");

intitule de l'action ,nombre: de l'action , taux : c est la division du nombre sur le total des nombres pour savoir le taux de l'action par raport à la totalité des actions .
j'éspere que ca été un peu claire.
j'attend ta reponse.
0
TiboleParano Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   61
 
arf si sa y est ...

$total = somme des $nombre
$taux[i] = $nombre[i]/$total

donc, et je comprend quand tu dis qu'il faudrait "ue autre boucle" : avant de créer le tableau il nous faut connaitre $total, il nous faut faitre la somme des $nombres avant de créer le tableau
mais il y a mieux qu'une boucle :) une fonction sql nous donne la somme :)
$SUPER= mysql_query('SELECT SUM(count) AS resultat FROM table');
=> ceci fait la somme de toutes les cases de la colonne 'count' de la table 'table' et le stock dans $SUPER['resultat']

mais jme rapelle avoir vu que ta syntaxe sql est bizarre, je ne sais comment est organisé ta BDD, mais sa semble bien complexe et je pense (franchement) pas que la formul d'avant marchera, donc sinon tu recopies ceci:
(en fait je copie 2 fois la mm boucle de toute à l'heure, la première calcul le total, la 2e affiche la tableau
$req=mysql_query("select nc.intitule,count(nc.intitule) as total from nc inner join projet on nc.id_pjt=projet.id_pjt where projet.intitule like '".$_POST["combo"]."%' and etat='".$_POST["slt2"]."' group by nc.intitule"); 
$total=0; 
while ($li=mysql_fetch_array($req)) 
{ 
$total+=$li[1]; 
} 
//LA REQUETE A ETE UTILISE, ON LA RELANCE
$req=mysql_query("select nc.intitule,count(nc.intitule) as total from nc inner join projet on nc.id_pjt=projet.id_pjt where projet.intitule like '".$_POST["combo"]."%' and etat='".$_POST["slt2"]."' group by nc.intitule"); 

?> 
<table width="470" height="107" border="1"> 
<tr> 
<th width="179" height="27" scope="col">Intitule</th> 
<th width="65" scope="col">Nombre</th> 
<th width="65" scope="col">Taux</th> 
</tr> 
<?php 

while ($li=mysql_fetch_array($req)) 
{ 
?> 

<tr> 
<th height="35" scope="row"><?php echo $li[0];?></th> 
<th scope="row"><?php echo $li[1];?> </th> 
<th scope="row"><?php echo (($li/$total)*100); %</th> 
</tr> 
<?php 
} 
mysql_close(); 
?> 
<tr> 
<th height="35" scope="row">Total</th> 
<th scope="row"><?php echo $total;?></th> 
<th scope="row"> </th> 
</tr> 
</table>


Voila, j'ai aussi supprimé le petit $test
et faudra que tu m'expliques dans ton tableau ==> Non respect de la hauteur | | :-?
0
TiboleParano Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   61
 
hey hey tmavais repondu pendant kjte repondait, jpense que j'ai réussi a saisir le gros du résumé du fond dl'histoire ^^
j'espère que c'est cque tu voulais, moi sur ce, en bon fonctionnaire, je m'en va :P @demain et bon cod@ge !
0
versa Messages postés 60 Date d'inscription   Statut Membre Dernière intervention  
 
ok pour le non respet de la hauteur c juste un intitule que la boucle a affiché dans le tableau c est un enragistrement, ok a demain alors
0
TiboleParano Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   61
 
le code de la boucle pour calculer le $total fonctionne ?
0
versa Messages postés 60 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour, oui ca a fonctionné je ne sais pas comment te remercier,il me reste un petit truc comment afficher slt 2 chiffres apres la virgule?
0
TiboleParano Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   61
 
https://www.php.net/manual/en/function.round.php
dans la ligne
echo '<tr><td>'.$lign[0].'</td><td>'.$lign[1].'</td><td>'.($lign[1]/$nombre).'%</td></tr>';

remplace
'.($lign[1]/$nombre).'

par
'.round(($lign[1]/$nombre),2).'
0
versa Messages postés 60 Date d'inscription   Statut Membre Dernière intervention  
 
si je met ,2 il m'affiche rien apre le virgule mais si je met ,4 il m'affiche 2 nombres apres le virgule.
0
TiboleParano Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   61
 
bizarre, sur le site de php manual ils disent:
echo round(3.6, 0); // 4
echo round(1.95583, 2); // 1.96
echo round(1241757, -3); // 1242000

essaye d'autres valeurs, mais bon tant que sa marche ... :)
0
versa Messages postés 60 Date d'inscription   Statut Membre Dernière intervention  
 
bonjour
j'ai un autre probleme sur un autre tableau si tu vx bien m'aider.
j'ai un tableau qui contient des champs que je dois selectionner d'une table et des chps que je dois saisir dans une autre table.

et tt ca doit m'etre afficher dans le meme tableau alors si tu vx bien m'aider j'attends ta reponse.
0
TiboleParano Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   61
 
euh ouaip, toujour partant, mais j'aurais besoin de mieux comprendre le problème, tu pourrais peut-être t'essayer à une métaphore pour changer, histoire de rendre le tout compréhensible ? genre 'j'ai des joueurs de l'OM, des joueurs du PSG, mais sa me semble trop galère de les faire jouer dans la même équipe'
:P
sinon jpense que j'ai compris le "problème" qui n'en est pas un , en gros tu fais un tableau, et certaines colonnes viennent d'une table de données, d'autres colonnes sont remplies avec une autre table, that's it ?
ma po l'air bin compliqué :) post ce que t'as commencé comme bout dcode
0
versa Messages postés 60 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour, ca va
j'ai un autre petit prob le voici
j'ai une liste deroulante qui permet l'enregistrement ds une autre page et qui comprend des choix et a la fin j'ai mis autres, et je vx que apres avoir choisis autres une zone de texte s'affiche et au lieu que "autres" s'enregistre je veux enregistrer la valeur de cette zone de texte.
par exemple la liste comme ce :

bac
deug
licence
autres (si on choisis autre) la zone de texte s'affiche et s'enregistre dans le chapms des diplomes) j'espere que ca été claire et merci de repondre c urgent
0
TiboleParano Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   61
 
haaaa c'est trop con j'ai du créer exactement le même bout dcode pour mon site php mais actuellement mon pc n'as plus d'alim, mes codes sont inaccessibles
que je me rapelle, déja tu vas devoir utiliser du javascript, on en a pas parlé jusque là donc je sais pas si tu maitrises, on va voir sa
déja petite précision: le code que j'ai fait pour mon site permet d'envoyer automatiquement le formulaire (si ce n'est pas "Autre" qui est choisi) ici ce ne sera pas le cas. Mon formulaire permet aussi que: lorsqu'on quitte la zone de texte du nouveau choix, la zone redisparait, la valeur entrée est rajoutée à la liste et selectionnée. cela demanderait mon code car trop compliqué à refaire.
Ce code permet simplement de faire apparaitre une zone de texte si 'Autre' est selectionné dans la liste, par contre il te faudra traiter cette information sur ta page d'arrivée: si la valeur de la liste est 'Autre', alors je vais chercher la valeur passée dans la boite de texte secondaire
<select name='diplome' onChange='if(this.value=="Autre")document.getElementById("zone_autre_diplome").style.display="block";'>
    <option value='Bac'>Bac</option>
    <option value='Deug'>Deug</option>
    <option value='Licence'>Licence</option>
    <option value='Autre'>Autre</option>
</select>
<span id='zone_autre_diplome' style='display:none;'>
<input type='text' name='diplome_autre' />
</span>

voilà, dsl du retard j'ai du le retester à cause d'un petit bug
have fun
0
versa Messages postés 60 Date d'inscription   Statut Membre Dernière intervention  
 
ok je vais tester
thinks for everything
0
TiboleParano Messages postés 498 Date d'inscription   Statut Membre Dernière intervention   61
 
thanks* (comme thanks giving)
0