Page 1 sur 3

Calculs sur requête ?

Posté : 23 oct. 2012, 02:41
par jycs
Bonsoir,

Voici par exemple une table :


public function getMostFruits() {
                        $res = mysql_query('SELECT `noms` AS name, SUM(`fruits`) AS sum_fruits
                                                FROM table1
                                                WHERE `fruits` IN (1,2,3)
                                                AND sum_fruits != -1
                                                GROUP BY `noms`
                                                ORDER BY sum_fruits DESC
                                                LIMIT 10') or die(mysql_error());
                        
                        while($row = mysql_fetch_assoc($res)) { $rows[] = $row; }
                 
                        return $rows;
                }

J'aimerais pouvoir multiplier les valeurs, par exemple sum_fruits = fruits(1)x10, fruits(2)x20, fruits(3)x15.

Je ne sais pas si vous avez compris ! quelqu'un sait comment faire ? J'trouve pô la syntaxe

Re: Calculs sur requête ?

Posté : 23 oct. 2012, 04:55
par Alan581
Bonjour,
Je crois comprendre mais je ne sais pas quoi faire non plus pour aider.

Re: Calculs sur requête ?

Posté : 23 oct. 2012, 19:40
par jycs
SELECT Champ1*10 etc
FROM ...
Le problème c'est que je veux que certaines valeurs de ce champ soient multipliées par 5, et d'autres par 10

Re: Calculs sur requête ?

Posté : 23 oct. 2012, 20:42
par jycs
personne ne sait.

Re: Calculs sur requête ?

Posté : 23 oct. 2012, 21:27
par juliette
donne ta bdd aussi, que je teste...

Re: Calculs sur requête ?

Posté : 23 oct. 2012, 23:35
par jycs
Pas à une femme, je cherche quelqu'un capable de m'aider...

Re: Calculs sur requête ?

Posté : 23 oct. 2012, 23:41
par moogli
Pas à une femme, je cherche quelqu'un capable de m'aider...
Et tu pense que l'on va t'aider avec un réponse comme ça ?

tu as une question approximative, c'est déjà bien que des gens essais de t'aider.

Si tu ne vous indique pas les critères permettant la pondération on ne peux pas t'aider.

De même si tu ne nous indique pas, au moins le create table de la table concernée.


@+

Re: Calculs sur requête ?

Posté : 23 oct. 2012, 23:46
par juliette
aucun soucis jycs, je ne t’importunerais plus, sois en sur...

Re: Calculs sur requête ?

Posté : 23 oct. 2012, 23:56
par jycs
C'est pas ça, mais je ne crois pas que les femmes soient assez intelligentes pour comprendre... Mais bon merci quand même pour l'intention Julietta

J'ai avancé Moogli, mais nouveau problème :

public function getExp() {
			$res = mysql_query('SELECT `killed` AS name, COUNT `killed` * (CASE killed 
                                                    WHEN 12 THEN 10
                                                    WHEN 19 THEN 10 
                                                    WHEN 20 THEN 5) AS count
                                                FROM kills
                                                WHERE killed NOT IN (999,0,17)
                                                GROUP BY `killed`
                                                ORDER BY count DESC
                                                LIMIT 10');
			
			while($row = mysql_fetch_assoc($res)) { $rows[] = $row; }
		 
			return $rows;
		}
Ce code n'affiche rien, c'est bizarre, j'ai essayé plusieurs trucs avec des ", ' (... ça ne change rien

En ajoutant un or die(mysql_error());
il me retourne
ERREUR DE SYNTAXE PR�S DE '* (CASE KILLED WHEN 12 THE' � LA LIGNE 1

Re: Calculs sur requête ?

Posté : 24 oct. 2012, 00:02
par juliette
donne ta bdd aussi, que je teste...
De même si tu ne nous indique pas, au moins le create table de la table concernée.
et toi tu nous donne
public FUNCTION getExp() {
$res = mysql_query('SELECT `killed` AS name, COUNT `killed` * (CASE killed
WHEN 12 THEN 10
WHEN 19 THEN 10
WHEN 20 THEN 5) AS count
FROM kills
WHERE killed NOT IN (999,0,17)
GROUP BY `killed`
ORDER BY count DESC
LIMIT 10');

while($row = mysql_fetch_assoc($res)) { $rows[] = $row; }

RETURN $rows;
je voudrais bien que tu m'explique qui ne comprend pas...
sur ce j'abandonne ce post, bonne chance, a plus

Re: Calculs sur requête ?

Posté : 24 oct. 2012, 00:08
par jycs
Y'a pas besoin de bdd, c'est une erreur de syntaxe |(X

Les femmes j'vous jure, elles nous rendent fous \:D/

Re: Calculs sur requête ?

Posté : 24 oct. 2012, 00:39
par jycs
Faudrait vous dépêcher... J'en ai marre d'attendre.

Re: Calculs sur requête ?

Posté : 24 oct. 2012, 00:44
par moogli
- je connais des femmes bien plus intelligente que moi (toi je sais pas mais je pige rien en mirco biologie et autre truc du genre)

ensuite oui ta syntaxe est foireuse, count est une fonction et tu n'utilise pas de () d'ou l'erreur sur killed * que le parseur mysql ne peux comprendre.

ensuite je ne pense pas que ton case soit bien utilisé non plus.


la pour le coup je pense qu'une UDF (en français fonction utilisateur) serait plus appropriée et simple à utiliser .


@+

Re: Calculs sur requête ?

Posté : 24 oct. 2012, 01:25
par jycs
Ouai mais c'est pas mon métier et ça me gonfle, donc file moi la solution...
- je connais des femmes bien plus intelligente que moi (toi je sais pas mais je pige rien en mirco biologie et autre truc du genre)
@+
Y'a pas besoin d'être intelligent pour se servir d'un aspirateur ou se mettre à quatre pattes \:D/

++ Joe

(joke)

Re: Calculs sur requête ?

Posté : 24 oct. 2012, 08:28
par moogli
Ouai mais c'est pas mon métier et ça me gonfle, donc file moi la solution...
Moi justement c'est le mien et si j'ai ici c'est pour que d'autre comprennent ce qu'ils font, parce que c'est plus valorisant pour eux que ceux permettra aussi peux être de ne plus dévaloriser le métier de développeur "php".


ce que tu demande relève du SQL ou du php comme tu veux les deux sont bien sur possible, dans les deux cas créer une fonction (ce qui est relativement tu as déja quasiment tout le code) est le mieux.


pour le sql http://sqlpro.developpez.com

en php http://phpdebutant.org/article59.php


@+