Afficher sous forme de pourcentage un resultat. [Résolu]

Signaler
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007
-
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
-
Bonjour all,

j'aurai une question a vous posez à propos d'un systeme en php que je voudrai programmer pour mon espace membre.
je n'arrive pas a imaginer comment je peux calculer cela et c'est pour ca que j'ai besoin de votre aide.

Vous connaissez par exemple le site www.badoo.Com
les membres apres leur inscription peuvent acceder à leur profil :

il suffit de remplir au maximum les informations de leur profil, de remplir sa description,
de mettre une photo de profil et des photos d’album par exemple,  Plus le pourcentage est
élevé, plus le profil a correctement bien été rempli par le membre.

Comment on peut calculer a partir de simple requete php que tel ou tel profil a été rempli
et que la somme au total du pourcentage puisse arriver à 100 % . je ne sais pas si vous voyez ce que je veux dire.

exemple :

Le fait de creer la barre de loading n'est pas un probleme en soi ! c'est juste comment a partir de plusieurs tables ont peut calculer le pourcentage qui a été rempli ou non. comment faire cela.

J'insiste quand meme que je ne souhaite pas avoir des réponses à la va vite sans explication concrete. je ne suis pas devin, je suis noob et j'essai de comprendre. je le dis parce que j'en connais que quand je pose des questions on me répond comme ci que la réponse était évidente et que c'était archi simple à faire. Je vous assure, elle ne l'ai pas pour moi. j'essai d'apprendre et de comprendre. en tous cas je tiens à remercier les gens qui m'aident ! Merci à vous. Je vous en suis reconnaissant.

( Si vous n'avez pas la réponse merci de s'abstenir. Par contre si vous pouvez m'aider xsil vous plait ! Soyez clair ! je vous en supplie dite pourquoi on appel a cette fonction et pas à celle la. c'est important pour moi ! nous sommes dans un forum... )

11 réponses

Messages postés
591
Date d'inscription
mercredi 20 juillet 2005
Statut
Membre
Dernière intervention
16 juillet 2009
2
Saell og blesuð

Une idee :

Dans votre profile vous avez plusieurs champs :

nom
prenom
age
description
photo
[...]

Donc vous verifiez lesquels sont remplis et vous calculez votre pourcentage

Vilhjálms
Sigurðsdóttir aka Frëyjá

PS : evitez de mettre des images juste pour dire merci
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Salut

... la je t'expliquais ce que c'etait qu'un bool...

je t'ai donne mon code plus haut...

sinon en mysql, t'as :

select (isnull(champ1)+....)/nombrechamp*100 from ....

<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

Exemple je fais ca comme ca  ?

 $requete = "SELECT (isnull(nom)+(prenom)+(ville)+(naissance))/4*100 from membres WHERE id='1'";
$result = mysql_query($requete);
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

<ol>
<li class="li1">


<?php


</li>
<li class="li1">

 

</li>
<li class="li1">


// ...


</li>
<li class="li1">

 

</li>
<li class="li2">


// Pré Traitement


</li>
<li class="li1">


$Poids = array();

</li>
<li class="li1">


$Poids
[
'champs1'
] = 0.2;

</li>
<li class="li1">


$Poids
[
'champs2'
] = 0.8;

</li>
<li class="li1">

 

</li>
<li class="li2">


// Requete MySQL


</li>
<li class="li1">


$requete = @mysql_fetch_array(mysql_query("SELECT `champs1`,`champs2` FROM `membre` WHERE `id`='".$id."'"));

</li>
<li class="li1">

 

</li>
<li class="li1">


$complet = 0;

</li>
<li class="li1">

 

</li>
<li class="li2">


if
(!empty($requete['champs1']))

</li>
<li class="li1">

        $complet += $Poids['champs1'];

</li>
<li class="li1">

 

</li>
<li class="li1">


if
(!empty($requete['champs2']))

</li>
<li class="li1">

        $complet += $Poids['champs2'];

</li>
<li class="li2">

       

</li>
<li class="li1">


// Post-Traitement


</li>
<li class="li1">


print
"Votre profil est compl&eacute;t&eacute; &agrave; '.number_format($complet*100,0,',',' ').' %";

</li>
<li class="li1">

 

</li>
<li class="li1">


// ...


</li>
<li class="li2">

 

</li>
<li class="li1">


?>


</li>
</ol>
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Salut

 $requete = "SELECT (isnull(nom)*10+isnull(prenom)*40+isnull(ville)*40+isnull(naissance)*40)/130*100 AS pourcentage from membres WHERE id='1'";
$result = mysql_query($requete);
$pourcentage=list(mysql_fetch_row($result));
echo $pourcentage;
<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

c'est justement le calcul de pourcentage qui m'embete. je fais ca sous forme de condition ? c'est a dire <? si le nom !='' ?> alors on ajoute 10 pourcent ! lmais comment on ajoute ces 10 % ? comment faire les 10 % + celui du prenom de la description etc...
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Salut

t'as bien des variables booleennes pour te dire quels champs sont remplis

$p=0;
$p+=$bool1+$bool2...;

si t'as $n bools en tout, a la fin tu fais :
$p*=100/$n;
ensuite, tu peux faire du $p=round($p,2); ou autre

<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

ok merci pour vos réponses je vais plus me renseigner sur google au sujet des variables booleennes. merci
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
39
Salut

un bool ca vaut true ou false,
$a=true;
$a=false;
c'est tout...
tu peux faire $a=($i<50);
a vaudra true si i<50, false sinon

<hr />une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

50 c'est bien égal au 50 % donc je pourrai personalisé ca alors coucou747 ?
Messages postés
239
Date d'inscription
jeudi 21 juillet 2005
Statut
Membre
Dernière intervention
1 juillet 2007

je prefere la fonction mysql ;) je prend cette reponse. :)