Multiplication dans un tableau

John4834 Messages postés 100 Statut Membre -  
Atropa Messages postés 2051 Statut Membre -
Bonjour,

j'ai un tableau qui reprend les données d'une table et j aimerais en plus y ajouter une colone qui soit la multiplication des deux autres:

donc: Total= Cours achat * quantite

Mais voila, il me donne une valeur pour quantite et pour cours achat et me met 0 comme résultat dans la case Total.

$tot = $data['quantite'] * $data['cours_achat'];

echo '<table width="100%" border="1">';
echo '<tr>';
echo '<td> Membre Id </td>';
echo '<td> Action id </td>';
echo '<td> Cours achat </td>';
echo '<td> Quantite </td>';
echo '<td> Total </td>';
echo '</tr>';

while($data = mysql_fetch_assoc($req))
{

echo '<tr>';
echo '<td>' .$data['cours_achat']. '</td>';
echo '<td>' .$data['membre_id']. '</td>';
echo '<td>' .$data['action_id']. '</td>';
echo '<td>' .$data['quantite']. '</td>';
echo '<td>' .$tot. '</td>';
echo '</tr>';
}
echo '</table>';


Merci pour vos suggestions.
A voir également:

7 réponses

John4834 Messages postés 100 Statut Membre 4
 
<?php
$db = mysql_connect('xxx', xxx, xxx');
mysql_select_db('dothee_jcg',$db);
$sql = 'SELECT action_id,membre_id,quantite,cours_achat FROM membres_actions';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

$tot = $data['quantite'] * $data['cours_achat'];

echo '<table width="100%" border="1">';
echo '<tr>';
echo '<td> <div align="center"><strong>Membre Id</strong></div></td>';
echo '<td> <div align="center"><strong>Action Id</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>Total</strong></div></td>';
echo '</tr>';

while($data = mysql_fetch_assoc($req))
{

echo '<tr>';
echo '<td>' .$data['membre_id']. '</td>';
echo '<td>' .$data['action_id']. '</td>';
echo '<td>' .$data['cours_achat']. '</td>';
echo '<td>' .$data['quantite']. '</td>';
echo '<td>' .$data['cours_achat'] * $data['quantite']. '</td>';
echo '</tr>';
}
echo '</table>';




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





Voila, merci.
2
Atropa Messages postés 2051 Statut Membre 274
 
bonsoir test comme ça :
<?php

	echo '<table width="100%" border="1">'
	.'<tr>'
	. '<td> Membre Id </td>'
	. '<td> Action id </td>'
	. '<td> Cours achat </td>'
	.'<td> Quantite </td>'
	.'<td> Total </td>'
	. '</tr>';

	while($data = mysql_fetch_assoc($req)) {
		echo '<tr>'
		. '<td>' .$data['cours_achat']. '</td>'
		. '<td>' .$data['membre_id']. '</td>'
		. '<td>' .$data['action_id']. '</td>'
		. '<td>' .$data['quantite']. '</td>'
		.'<td>' .$data['cours_achat'] * $data['quantite']. '</td>'
		. '</tr>';
	}
	echo '</table>'; 

?>


évite de répéter echo quand tu peux éviter c'est moins lourd de faire une concaténation
1
John4834 Messages postés 100 Statut Membre 4
 
Merci bcp, autre question si tu veux bien,

j'affiche , action_id mais j'aimerais bien qu'il m'affiche le nom de l'action qui se trouve dans la table action.
Comment dois-je faire?
J'ai essayé une jointure, mais je n'y parviens pas.

Merci
1
Atropa Messages postés 2051 Statut Membre 274
 
il faut que tu modifie ta requète sql

post la et j'y regarde
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Atropa Messages postés 2051 Statut Membre 274
 
$tableAction = ''; // table action
$champNomaction = ''; // nom du champ nom dans la table action
$actionID = '' // nom du champ id dans la table action

// tu peux aussi remplacer directement les variables dans la requête, j'ai mi ça comme ça pour que ce soit plus visuelle


$sql = 'SELECT t1.action_id,t1.membre_id,t1.quantite,t1.cours_achat,t2.'.$champNomaction.' FROM membres_actions AS t1 ,'.$tableAction.' AS t2 WHERE t1.action_id = t2.'.$actionID; 


là ca devrait fonctionner

mais tu devrait mettre un identifiant de connexion sql

et quand tu entre des variables qui viennent de l'utilisateur je te conseil de les passer dans ta requête par sprintf
1
John4834 Messages postés 100 Statut Membre 4
 
Merci beaucoup :)

Et si maintenant je veux lié une table supplémentaire, je peux faire de même? Utilisé un t3 et un AS supplémentaire?
1
Atropa Messages postés 2051 Statut Membre 274
 
oui et t1 t2 sont des exemples tu les appelles comme tu veux
1