Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD
PHP & SGBD Forum d'entraide sur les SGBD avec PHP. Avant de poster : FAQ BDD, toutes les FAQ PHP, cours BDD et sources BDD
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 31/08/2011, 20h31   #1
Invité régulier
 
Inscription : septembre 2008
Messages : 31
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 31
Points : 8
Points : 8
Par défaut Masquer un 0 inutile

Bonjour, je suis en train de travailler constamment sur mon site et en général j'arrive à me débrouiller tout seul mais la sur un truc simple je n'arrive pas à trouver la solution ! j'utilise le PHP avec FPDF.

Je voudrais enfaite pouvoir créer une condition qui permette de na pas afficher les valeurs qui ne sont pas envoyer à partir de mon formulaire, pour cela pas de problème, mais j'ai un problème au niveau d'un calcul qui s’effectue avant les conditions !

Je m'explique :

J'ai ce calcul la qui s'effectue :
Code :
1
2
$totalht2 = $nuit2 * $pht2;
(c'est ce calcul qui pose problème car j'ai un "0" résiduel du calcul nul)

Code :
1
2
3
4
5
6
7
8
9
10
11
function line ( $line )
{
	if (($type2 != "") && ($nuit2 != "") && ($pht2 != ""))
	{
		$this->array = ("");
	}
		else
	{
		$this->array = ("$line");
	}
}
Mes conditions pour la fonction $line qui permet de ne pas afficher celle-ci quand certains champs sont vides et sinon de l'afficher quand les conditions sont remplis
Code :
1
2
3
4
5
6
7
8
$line = array( "REFERENCE"    => "$ref2",
               "TYPE"  => "$type2",
               "NOMBRE"     => "$nuit2",
               "P.U. HT"      => "$pht2",
               "MONTANT H.T." => "$totalht2",
               "TVA"          => "$tva2" );
La fonction $line qui me sert par la suite dans un tableau...

Donc voila, le problème viens du calcul du $totalht2 qui me garde un 0 en permanence (lors de la génération du pdf) quand les conditions de la fonction exécute moi je voudrais masquer ce 0 ou l'enlever !

merci de votre aide
Epliknot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 21h01   #2
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
Code :
1
2
3
4
5
6
7
8
9
10
11
function line ( $line )
{
if (($type2 != "") && ($nuit2 != "") && ($pht2 != ""))
{
$this->array = ("");
}
else
{
$this->array = ("$line");
}
}
Cette méthode ne peut pas marcher.

connais-tu empty()?
il est aussi tres probable que $line ne soit pas un objet dont on a besoin de la representation en chaine de caractère. donc ceci devrait suffire

Code :
1
2
$this->array= array($line);
//$this->array[]=$line ; // uniquement si array est un tableau déjà initialisé
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2011, 23h49   #3
Invité régulier
 
Inscription : septembre 2008
Messages : 31
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 31
Points : 8
Points : 8
Ok, admettons que je supprime la fonction $line,

Comment créer une fonction ou une condition qui me permette de ne pas afficher le 0 résiduel ?

Code :
1
2
3
4
5
6
7
8
if (empty($totalht2))
{
		$this->array = ("");
	}
else
	{
		$this->array = ($totalht2);
}
(Sa m'affiche toujours le "0" quand le champ du formulaire est vide mais quand il est inscrit sa marche)

Merci
Epliknot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2011, 20h34   #4
Membre Expert
 
Avatar de gene69
 
Inscription : janvier 2006
Messages : 951
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : janvier 2006
Messages : 951
Points : 1 063
Points : 1 063
le plus simple serait de remplacer les 0 par un espace, ça c'est invisible. le truc c'est comme je ne vois pas la fonction qui imprime les 0 je peux rien dire de plus.
---
ça sent pas le Piège A.C. ça?
__________________
PHP fait nativement la validation d'adresse électronique Vous êtes perdu en PHP? rassurez-vous ici (en)
Utilisez le bouton résolu!
gene69 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 13h56   #5
Invité régulier
 
Inscription : septembre 2008
Messages : 31
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 31
Points : 8
Points : 8
Piège A.C ? C'est quoi sa ?

J'ai rajouté un   sa change rien :/
Epliknot est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 14h09   #6
Futur Membre du Club
 
Homme
Inscription : septembre 2011
Messages : 15
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations forums :
Inscription : septembre 2011
Messages : 15
Points : 18
Points : 18
N'ayant que des brides de ton code, il est difficile de cerner le problème.
La valeur de retour 0 est peut-être tout simplement un retour de type FALSE.
Sam__ est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 15h49   #7
Invité régulier
 
Inscription : septembre 2008
Messages : 31
Détails du profil
Informations forums :
Inscription : septembre 2008
Messages : 31
Points : 8
Points : 8
Ton histoire de FALSE m'a fait cogiter

j'ai trouvé un solution toute bete enfaite ^^

Code :
1
2
3
4
5
6
7
8
if (empty($totalht2))
	{
		$this->array = $totalht2 = ("");
	}
else
	{
		$this->array = ("$totalht2");
	}
Merci
Epliknot est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h50.


 
 
 
 
Partenaires

Hébergement Web