[RESOLU] Pourcentage honoraires

Petit nouveau ! | 5 Messages

15 oct. 2014, 18:14

Bonjour à tous,
Je souhaiterai afficher sur un site Internet d'agence immobilière le pourcentage des honoraires en automatique par rapport aux données rentrées dans l'admin.
Donc dans l'admin, on renseigne :
1- Le prix de vente FAI (ex : 207 500 Euros FAI)
2- Eventuellement les charges (ex : non renseigné)
3- Les honoraires (ex : 7 500)

Le fichier PHP ci-après est le fichier du site Internet qui récupère les données de l'admin
Voir lignes 81 à 129
La ligne 85 affiche le prix de vente relatif à un bien donné
La ligne 109 affiche le montant des honoraires

J'ai rajouté dans ce fichier
L 119 à 124 : Formule qui fonctionne avec des chiffres ( résultat : 3,75%)
L 112 à 117 : Remplacer les chiffres par une chaîne de caractères qui va chercher les infos 1 et 3 de l'admin, identique à la ligne 85 et 109.

L 81 <table class="jea-data" >
  <tr>
    <th><?php echo $this->row->transaction_type == 'RENTING' ? JText::_('COM_JEA_FIELD_PRICE_RENT_LABEL') :  JText::_('COM_JEA_FIELD_PRICE_LABEL') ?></th>
    <td class="right">
L 85 <?php echo JHtml::_('utility.formatPrice', (float) $this->row->price, JText::_('COM_JEA_CONSULT_US')) ?> F.A.I
      <?php if ($this->row->transaction_type == 'RENTING' && (float)$this->row->price != 0.0): ?>
      <span class="rate_frequency"><?php echo JText::_('COM_JEA_PRICE_PER_FREQUENCY_'. $this->row->rate_frequency) ?></span>
      <?php endif ?>
    </td>
  </tr>

  <?php if ((float)$this->row->charges > 0): ?>
  <tr>
    <th><?php echo JText::_('COM_JEA_FIELD_CHARGES_LABEL') ?></th>
    <td class="right"><?php echo JHtml::_('utility.formatPrice', (float) $this->row->charges) ?></td>
  </tr>
  <?php endif  ?>

  <?php if ($this->row->transaction_type == 'RENTING' &&  (float) $this->row->deposit > 0 ): ?>
  <tr>
    <th><?php echo JText::_('COM_JEA_FIELD_DEPOSIT_LABEL') ?></th>
    <td class="right"><?php echo JHtml::_('utility.formatPrice', (float) $this->row->deposit) ?></td>
  </tr>
  <?php endif  ?>

  <?php if ((float)$this->row->fees > 0): ?>
  <tr>
    <th><?php echo JText::_('COM_JEA_FIELD_FEES_LABEL') ?></th>
   L 109 <td class="right"><?php echo JHtml::_('utility.formatPrice', (float) $this->row->fees) ?> TTC
		
		<br />
	L 112 Avec chaine de caracteres <?php
		$nb1="<?php echo->row->fees ?>)"; 
		$nb2="<?php echo->row->price ?>)";
		$nbr=(($nb1/($nb2-$nb1))*100);
		echo number_format($nbr,2,',','')."%";
	L 117 ?>
		<br />
	L 119 Avec nombres <?php
		$nb1=7500;
		$nb2=207500;
		$nbr=(($nb1/($nb2-$nb1))*100);
		echo number_format($nbr,2,',','')."%";
	L 124 ?>
		
	</td>
  </tr>
  <?php endif  ?>
</table>
Merci pour votre aide.
Modifié en dernier par moogli le 16 oct. 2014, 11:50, modifié 1 fois.
Raison : bbcode php

Petit nouveau ! | 5 Messages

16 oct. 2014, 11:47

Petite erreur de frappe du signe "dollar" après echo :

L 112 Avec chaine de caracteres
<?php
	$nb1="<?php echo$row->fees ?>)"; 
	$nb2="<?php echo$row->price ?>)";
	$nbr=(($nb1/($nb2-$nb1))*100);
	echo number_format($nbr,2,',','')."%";
	L 117 ?>
Précisions : c'est le fichier du frontend et je suis sous joomla 1.5. l'admin signifie le backend.

Merci pour vos annotations et vos commentaires
Modifié en dernier par moogli le 16 oct. 2014, 11:50, modifié 1 fois.
Raison : bbcode php

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

16 oct. 2014, 11:56

bonjour,

tu as un problème de syntaxe php et cela est mis en évidence avec la colorisation de la syntaxe (d'où sont utilité).

quoique tu fasse tu auras <?php ?> dans la variable c'est pas un chiffre le calcul sera foireux.
<?php
$nb1="<?php echo->row->fees ?>)"; 
$nb2="<?php echo->row->price ?>)";
- Tu n'as pas besoin d'utiliser d'autre variable
- tu n'as pas besoin d'utiliser de " ou de echo pour affecter une variable à une autre. => $nb = $autreVariable;

Solution simple et lisible ;)
<?php
$nbr=(($row->fees/($row->price-$row->fees))*100);

@+

ps : merci d'utiliser le bbcode sur le forum (les boutons au dessus de la zone de saisie).
Il en faut peu pour être heureux ......

Petit nouveau ! | 5 Messages

16 oct. 2014, 18:22

Merci moogli mais j'ai essayé et un message d'erreur me dit que la division par zero est impossible.
Je suis d'accord sur ce point mais théoriquement comme dans le script avec les chiffres, il n'y a pas de division par zéro.
????

Petit nouveau ! | 5 Messages

16 oct. 2014, 20:17

Merci moogli encore pour ton aide.
J'ai trouvé la solution qui suit et marche.
<br />
Dont <?php
$nb1=$this->row->fees;
$nb2=$this->row->price;
$nbr=(($nb1/($nb2-$nb1))*100);
echo number_format($nbr,2,',','')."%";
?> d'honoraires<br /> a la charge de l'acquereur.
J'essaye demain sans les intermédiaires $nb1 et $nb2
@ +

Petit nouveau ! | 5 Messages

17 oct. 2014, 18:08

Tout fonctionne parfaitement.
Grand merci à toi moogli.