Moi, je suis du troisième sexe par conviction; mais si on comptait les étudiants que j'ai tirés des abîmes du fortran ou du C++, entre autres, caferait un nombre largement supérieur au QI d'Einstein, a fortiori du tien Aussi me demandé-je si je suis bien qualifié(e?) pour faire une suggestion ralentissante à un problème qui presse. Mais je considère comme un grossier défaut de débutant de placer tout ce qu'on veut demander dans le query: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
$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; }
au lieu de:
$requete = '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');
print "<br>$requete</br>";
$resultat = mysql_query($requete);
if ($resultat !== false)
{
}
else
{
ce qui permet de faire un copier/coller d ela requete dans phpmyadmin ou semblable et de la modifier.Code : Tout sélectionner
public function getExp() {
$res = mysql_query('SELECT killed_by_uuid AS name,
(COUNT(killed) * (
CASE
WHEN killed BETWEEN 1 AND 16
OR killed IN(18, 19)
OR killed BETWEEN 21 AND 30
THEN 5
WHEN killed IN(20, 999) THEN 10
END
)
) AS count
FROM kills
WHERE killed_by = 999
AND killed <> 0
AND killed <> 17
GROUP BY `killed_by_uuid`
ORDER BY count DESC
LIMIT 10') or die(mysql_error());
while($row = mysql_fetch_assoc($res)) { $rows[] = $row; }
return $rows;
}
Merci de ne pas troller et de respecter les membres du forum, les remarques sexistes sont a éviter.Ouai mais c'est pas mon métier et ça me gonfle, donc file moi la solution...
Y'a pas besoin d'être intelligent pour se servir d'un aspirateur ou se mettre à quatre pattes- 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)
@+![]()
++ Joe
(joke)
$requete = "Insert ...": // ou autre chose
$resultat = mysql_query($requete); // $resultat est un booleen
if ($resultat === false)
{
echo mysql_errno() . ": " . mysql_error() . "\n";
}
else
{
//traitement normal du résultat
}
en ajoutant si on ne comprend pas:
$requete = "Insert ...": // ou autre chose
print "<br>$requete<br>";
$resultat = mysql_query($requete); // $resultat est un booleen
if ($resultat === false)
{
echo mysql_errno() . ": " . mysql_error() . "\n";
}
else
{
//traitement normal du résultat
}
l'affichage de la requête permet souvent de mieux voir l'erreur que le message mysql :"syntax error near..." (certains messages d'erreur mysql n'aident en rien à résoudre le problème). Et on peut la copier et la coller dans la fenêtre SQL de phpMyadmin, ou directement en mode texte, et la modifier jusqu'à ce qu'on obtienne ce qu'on veut.
Code : Tout sélectionner
WHEN killed IN(999) THEN 10 public function getExp() {
$res = mysql_query('SELECT killed_by_uuid AS name,
(COUNT(killed) * (
CASE
WHEN killed BETWEEN 1 AND 16
OR killed IN(18, 19)
OR killed BETWEEN 21 AND 30
THEN 5
WHEN killed IN(20, 999) THEN 10
END
)
) AS count
FROM kills
WHERE killed_by = 999
AND killed <> 0
AND killed <> 17
GROUP BY `killed_by_uuid`
ORDER BY count DESC
LIMIT 10') or die(mysql_error());
while($row = mysql_fetch_assoc($res)) { $rows[] = $row; }
return $rows;
}
L'avenir de la Terre dépend de ce problème, il faut que vous le résolviez.(COUNT(killed) * (
CASE
WHEN
killed BETWEEN 1 AND 16
OR
killed IN(18, 19)
OR
killed BETWEEN 21 AND 30
THEN 5 #killed peut valoir 1 à 16 ou 18 ou 19 ou 21 à 30 soit toute valeur entre 1 et 30 compris, sauf 17 et 20
WHEN
killed IN(20, 999) #killed vaut 20 ou 999
THEN 10
END
)
) AS count
Moi je multiplierais par des nombres premiers entre eux pour tester et/ou je ferais une requete similaire sans la multiplicationselect * from kills FROM kills WHERE killed_by = 999 Noter le resultat. Ajouter le comptage.... Ajouter la multiplication.