Place de l'"echo"

Fermé
John4834 Messages postés 94 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 22 juin 2011 - 4 janv. 2010 à 14:27
John4834 Messages postés 94 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 22 juin 2011 - 4 janv. 2010 à 18:25
Bonjour,
voila j'ai un script, celui -ci

<?php
//Je me connecte à ma base de donnée
$db = mysql_connect(xxx', 'xxx', 'xxx');
mysql_select_db('xxx',$db);

//J'introduis mes variables pour ma requête
$tableAction = 'actions'; // table action
$champNomaction = 'action_nom'; // nom du champ nom dans la table action
$actionID = 'action_id'; // nom du champ id dans la table action
$coursActuel='action_prix';//nom du champ du prix dans la table action
// ici commence ma requête sql
$sql = 'SELECT t1.action_id,t1.membre_id,t1.quantite,t1.cours_achat,t1.date,t2.'.$champNomaction.',t2.'.$coursActuel.' FROM membres_actions AS t1 ,'.$tableAction.' AS t2 WHERE t1.action_id = t2.'.$actionID;
// ici se termine ma requête sql

$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
// on ferme la connexion à mysql

echo '<table width="100%" border="1">';
echo '<tr>';
echo '<td> <div align="center"><strong>Nom de l’action</strong></div></td>';
echo '<td> <div align="center"><strong>Date achat</strong></div></td>';
echo '<td> <div align="center"><strong>Cours achat</strong></div></td>';
echo '<td> <div align="center"><strong>Quantité</strong></div></td>';
echo '<td> <div align="center"><strong>Cout total de l’achat</strong></div></td>';
echo '<td> <div align="center"><strong>Cours actuel</strong></div></td>';
echo '<td> <div align="center"><strong>Valeur totale en portefeuille</strong></div></td>';
echo '<td> <div align="center"><strong>Performance en %</strong></div></td>';
echo '<td> <div align="center"><strong>Performance en € </strong></div></td>';

echo '</tr>';
$a=0;
$b=0;
$var = 0;
$tot = 0;
//ici commence la boucle qui affiche le portefeuille

while($data = mysql_fetch_assoc($req))
{
//calcul pour sommer le tableau
$var = $data['action_prix'] * $data['quantite'];
$tot += $var;
//calculs pour les résultats tableau
$a= ($data['action_prix'] - $data['cours_achat'])*$data['quantite'];
$b= (($data['action_prix'] - $data['cours_achat'])/$data['cours_achat'])*100;


echo '<tr>';
echo '<td>' .$data['action_nom']. '</td>';
echo '<td>' .$data['date']. '</td>';
echo '<td>' .$data['cours_achat']. '</td>';
echo '<td>' .$data['quantite']. '</td>';
echo '<td>' .round($data['cours_achat'] * $data['quantite'],"2"). '</td>';
echo '<td>' .$data['action_prix']. '</td>';
echo '<td>'.round($var,"2"). '</td>';
echo '<td>'.round($b, "2").' %</td>';
echo '<td>'.round($a,"2").'</td>';

echo '</tr>';
}
echo '</table>';


echo '<br>';
echo '<br>';

echo '<span class="Style2"><u><strong>Solde de votre compte titres: '.round($tot, "2").' &euro </strong></u></span>';

echo '<br>';
echo '<br>';


// on ferme la connexion à mysql
mysql_close();
?>

Il fonctionne très bien mais le problème est que je n'arrive pas à afficher l'"echo" hors de mon script.

Je voudrais bien l'afficher plus haut dans ma page, j'utilise donc:

<?php echo $tot?>

Mais il ne m'affiche rien.

Merci de votre aide,
John

3 réponses

Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
4 janv. 2010 à 14:36
Je voudrais bien l'afficher plus haut dans ma page, j'utilise donc:

<?php echo $tot?>


le script php s'exécute ligne après ligne, tu ne peux donc pas afficher la valeur d'une variable avant de l'avoir chargée
0
graffx Messages postés 6506 Date d'inscription jeudi 22 mars 2007 Statut Contributeur Dernière intervention 24 mars 2019 1 975
4 janv. 2010 à 15:05
de plus il manque le point virgule tu va avoir une erreur sinon:

<?php echo $tot; ?>
0
John4834 Messages postés 94 Date d'inscription lundi 21 décembre 2009 Statut Membre Dernière intervention 22 juin 2011 4
4 janv. 2010 à 18:25
Donc il m'est impossible d'afficher cette valeur plus haut dans ma page?

Il n'y a rien qui permet de le faire?
0