Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/11/2011, 19h00   #1
Invité de passage
 
Inscription : juillet 2006
Messages : 41
Détails du profil
Informations forums :
Inscription : juillet 2006
Messages : 41
Points : 3
Points : 3
Par défaut Probleme affichage prix

Bonjour tout le monde
J'ai un petit probleme dans mon scrpt :
Si je fait ma requette directe sur la BD:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
SELECT t.pk_titre, t.titre, t.ISBN, t.prix_publique, c.collection, e.editeur
	FROM _pro_titres t		
		INNER JOIN _pro_titres_prenotes tp
		ON t.pk_titre = tp.fk_titre	
		INNER JOIN _pro_titres_editeurs te
		ON t.pk_titre = te.fk_titre
		INNER JOIN _pro_editeurs e
		ON te.fk_editeur = e.pk_editeur					
		LEFT OUTER JOIN _pro_titres_collections tc
		ON t.pk_titre = tc.fk_titre
		LEFT OUTER JOIN _pro_collections c
		ON tc.fk_collection = c.pk_collection				
	WHERE tp.fk_prenote = '".intval($row_prenote->pk_prenote)."'
	ORDER BY editeur, titre";


Le prix afficher comme il est enregister dans la BD ,sous le format :
7.15
21,95
22,77


Apres faire ce script pour l'affichage dans un formulaire :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php 
				$editeur = "";
				while($row_titre = mysql_fetch_object($rs_titre)) :
					$qty = 0;
					$prix = $row_titre->prix_publique>0?$row_titre->prix_publique:"0,00";
					if(isset($row_bc))
					{						
						$sql_bci = "SELECT qty, prix_unitaire
										FROM _pro_bc_items 
									WHERE fk_boncmd = '".$row_bc->pk_boncmd."'
									  AND fk_item = '".$row_titre->pk_titre."'"; 	
						$rs_bci = mysql_query($sql_bci);
						if(mysql_num_rows($rs_bci)==1)
						{
							$row_bci = mysql_fetch_object($rs_bci);
							$qty = $row_bci->qty;
							$prix = $row_bci->prix_unitaire;	
						}						
					}
					if($editeur != $row_titre->editeur):
						$editeur = $row_titre->editeur;
			?>
 
			<?php echo $prix; ?> $

le prix devient :
7.00
21.00
22.00

ce script ignore tout le reste apres la virgule et le transforme en 00
Vous avez une ideé ?
eamon250d est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/11/2011, 17h07   #2
Expert Confirmé
 
Avatar de Séb.
 
Inscription : mars 2005
Messages : 2 823
Détails du profil
Informations personnelles :
Âge : 34
Localisation : France

Informations professionnelles :
Secteur : High Tech - Opérateur de télécommunications

Informations forums :
Inscription : mars 2005
Messages : 2 823
Points : 3 454
Points : 3 454
Déjà fais print_r($row_titre) et print_r($row_bci) pour t'assurer que les données extraites de ta BdD sont correctes.

Citation:
Le prix afficher comme il est enregister dans la BD ,sous le format :
7.15
21,95
22,77
Hum, pourquoi parfois un séparateur décimal (point) et d'autres fois (virgule) ?
Les prix ne sont pas stockés en tant que numériques ?
__________________
Un problème exposé clairement est déjà à moitié résolu
Keep It Smart and Simple
Séb. est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h54.


 
 
 
 
Partenaires

Hébergement Web