Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 26-11-2007 18:29:41

omcm
Membre
Date d'inscription: 26-11-2007
Messages: 4

probleme avec la fonction sum et un formulaire

Bonjour,
J'ai besoin d'aide, je commence à bloquer et ne trouve pas vraiment ce que je veux.

j'ai un formulaire:

Code:

<form action="recap.php" method="post"> ...
Type<select name="type">
<option value="eb1">EB1</option>...

Je choisis la valeur eb1 et la retrouve sous $type dans recap.php:

dans recap.php, j'ai:

Code:

<?php
$choix1 = $_POST['choix1'];
$choix2 = $_POST['choix2'];
$type = $_POST['type'];
include ('../page.php');

$res= mysql_query ('select sum("'.$type.'") from recap WHERE choix="'.$choix1.'"')OR die(mysql_error());
$total = mysql_fetch_row($res);

echo $total[0];
?>

et dans ma BDD, jai:
table : recap
choix eb1
S42 32
S43 4
S37 23

Donc le select sum("'.$type.'") semble poser probleme. quelque soit ma valeur de type, j'obtiens 0 dans recap.php.
Alors que si j'ai select sum(eb1), jai la bonne valeur. je comprends pas tout mais j'ai nul part que select sum("'.$---.'") était possible
ou peut etre ai je moyen de faire autrement pour additionner les valeurs d'un champ?

merci de m'aider

Hors ligne

 

#2 27-11-2007 03:35:27

lolo3129
Membre
Lieu: Paris
Date d'inscription: 10-05-2005
Messages: 506
Site web

Re: probleme avec la fonction sum et un formulaire

hello,

je pense qu'il suffit de supprimer les guillemets inutiles.

Code:

mysql_query ("select sum({$type}) from recap WHERE choix='{$choix1}') OR die(mysql_error());

PS : mettre des guillemets pour une chaine permet de ne pas avoir à faire de concaténation pour les variables.

Hors ligne

 

#3 27-11-2007 07:02:52

omcm
Membre
Date d'inscription: 26-11-2007
Messages: 4

Re: probleme avec la fonction sum et un formulaire

Voila la réponse:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '}) as total from recap WHERE choix={$choix1}' at line 1

Hors ligne

 

#4 27-11-2007 07:55:39

lolo3129
Membre
Lieu: Paris
Date d'inscription: 10-05-2005
Messages: 506
Site web

Re: probleme avec la fonction sum et un formulaire

j'ai oublié de fermer le guillemet de fin

Code:

mysql_query ("select sum({$type}) from recap WHERE choix='{$choix1}'") OR die(mysql_error());

sinon, essaies en supprimant les accolades

Hors ligne

 

#5 27-11-2007 08:36:19

omcm
Membre
Date d'inscription: 26-11-2007
Messages: 4

Re: probleme avec la fonction sum et un formulaire

Merci pour ton aide,
après avoir essayé toutes les possibilités (je crois), j'en ai 2 qui me donnent pas un message d'erreur.
le probleme est qu'ils donnent 2 valeurs différentes alors qu'ils devraient donner 32 pour les 2, soit:
sum("'.$type.'") --> 0 (pas bon) et
sum(eb1)--> 32 (bon)
et la je comprends rien.

par ailleurs, si je fais un echo $type ;
j'obtiens bien eb1

aidez moi svp

Hors ligne

 

#6 27-11-2007 08:57:34

lolo3129
Membre
Lieu: Paris
Date d'inscription: 10-05-2005
Messages: 506
Site web

Re: probleme avec la fonction sum et un formulaire

dans ta requête, tu essaies de faire sum('eb1') ce qui te renvoie 0 : l'addition de chaine renvoie 0...
c'est pour ça qu'il faut supprimer les guillemets/quote autour du paramètre que tu veux additionner, pour que ce soit la valeur de la colonne et pas son nom qui soit additionné

Hors ligne

 

#7 27-11-2007 17:14:55

omcm
Membre
Date d'inscription: 26-11-2007
Messages: 4

Re: probleme avec la fonction sum et un formulaire

C'est sur, tu avais raison j'ai donc essayé
sum('.$type.')
et c'est l seule formule qui me donne la bonne valeur
et un grand merci pour l'aide; ça donne du courage.

Hors ligne