le 24/03/2004 à 21:01
bibi
Alors j'ai 2 tables:
POINTS
----------
id
idnick
points
et
FILLEUL
---------
id
pseudo
Dans la table FILLEUL,id est l'id du parrain et pseudo et le pseudo du filleul.Chaque filleul ou parrain a une id, un idnick(pseudo) correspondant dans la table POINTS.Je voudrais en fait sélectionner 10% des points des filleuls et les ajouter au parrain.
Par ex:
table points:
- id=1 , idnick = bibi, points=500
- id=2 , idnick = globule,points=100
et dans la table filleul:
-id=1, pseudo=globule
donc globule est un filleul de bibi
et au calcul des points, bibi aura : 500+ 100*(10/100)
Mais je pete un cable dans les while($req=mysql_fetch_array($req_sql))
Ah oui dernier pb.la boucle principale qui englobe toutes les autres.Elle va ordonner par les points avant l'ajout des points des filleuls, donc ce qui fait que l'ordre apres l'ajout des points de filleuls ne sera plus le bon
merci de votre aide
PS : pour la requete précédente, il me fait cette erreur :
Ligne 21: while($fil = mysql_fetch_array($fil_sql))
vous pouvez tester sur http://www.chat-land.org/avfr/classement.php
merci d'avance les sql/php-men :p
POINTS
----------
id
idnick
points
et
FILLEUL
---------
id
pseudo
Dans la table FILLEUL,id est l'id du parrain et pseudo et le pseudo du filleul.Chaque filleul ou parrain a une id, un idnick(pseudo) correspondant dans la table POINTS.Je voudrais en fait sélectionner 10% des points des filleuls et les ajouter au parrain.
Par ex:
table points:
- id=1 , idnick = bibi, points=500
- id=2 , idnick = globule,points=100
et dans la table filleul:
-id=1, pseudo=globule
donc globule est un filleul de bibi
et au calcul des points, bibi aura : 500+ 100*(10/100)
Mais je pete un cable dans les while($req=mysql_fetch_array($req_sql))
<?php
$req_sql = mysql_query('SELECT id,idnick,points FROM points ORDER BY points DESC');
$cpt=1;
while($req = mysql_fetch_array($req_sql))
{
$pts = 0;
$filleul_sql = mysql_query('SELECT * FROM filleul,points WHERE filleul.id = points.id AND points.id = "'.$req['id'].'"');
while($filleul = mysql_fetch_array($filleul_sql))
{
$fil_sql = mysql_query('SELECT points FROM points WHERE idnick = "'.$filleul['pseudo'].'"');
while($fil = mysql_fetch_array($fil_sql))
{
$pts = $pts + $fil['points']/10;
}
}
$pts = pts + $req['points'];
?>
<tr><td><?= $cpt; ?></td><td><?= $req['idnick']; ?></td><td><?= $pts; ?></td></tr>
<?php
$cpt++;
}
?>
Ah oui dernier pb.la boucle principale qui englobe toutes les autres.Elle va ordonner par les points avant l'ajout des points des filleuls, donc ce qui fait que l'ordre apres l'ajout des points de filleuls ne sera plus le bon
merci de votre aide
PS : pour la requete précédente, il me fait cette erreur :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/www.chat-land.org/avfr/classement.php on line 21
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/www.chat-land.org/avfr/classement.php on line 21
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/www.chat-land.org/avfr/classement.php on line 21
Ligne 21: while($fil = mysql_fetch_array($fil_sql))
vous pouvez tester sur http://www.chat-land.org/avfr/classement.php
merci d'avance les sql/php-men :p