Afficher sous forme de pourcentage un resultat.

Résolu
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007 - 30 juin 2007 à 13:56
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 - 1 juil. 2007 à 04:13
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

vilhjalms Messages postés 591 Date d'inscription mercredi 20 juillet 2005 Statut Membre Dernière intervention 16 juillet 2009 2
30 juin 2007 à 14:10
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
3
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
30 juin 2007 à 18:31
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
3
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
30 juin 2007 à 19:12
Exemple je fais ca comme ca  ?

 $requete = "SELECT (isnull(nom)+(prenom)+(ville)+(naissance))/4*100 from membres WHERE id='1'";
$result = mysql_query($requete);
3
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
30 juin 2007 à 19:35
<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>
3

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

Posez votre question
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
1 juil. 2007 à 04:13
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
3
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
30 juin 2007 à 14:25
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...
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
30 juin 2007 à 14:28
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
0
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
30 juin 2007 à 14:57
ok merci pour vos réponses je vais plus me renseigner sur google au sujet des variables booleennes. merci
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
30 juin 2007 à 16:25
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
0
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
30 juin 2007 à 18:05
50 c'est bien égal au 50 % donc je pourrai personalisé ca alors coucou747 ?
0
milkasoprano Messages postés 239 Date d'inscription jeudi 21 juillet 2005 Statut Membre Dernière intervention 1 juillet 2007
30 juin 2007 à 19:03
je prefere la fonction mysql ;) je prend cette reponse. :)
0
Rejoignez-nous