|
|
|
|
Bonjour,
sous le code suivant, j'aimerais obtenir le total genre SUM(Stock.Quantity), mais j'obtiens une erreur si je le fait.. quelqu'un peut-il me dire quoi mettre ? Merci d'avance !
<?
include ("connexion_stock.php");
?>
<html>
<head>
</head>
<body>
<?
$sqlconnect=odbc_connect($dsn,$username,$password);
$sqlquery="SELECT Products.ProductName, Products.ProductDesc, Products.type, Stock.Quality FROM Products, Stock where Products.ProductName=Stock.ProductName and Products.Type <> 'S'
Group by Products.ProductName, Products.ProductDesc, Products.type, Stock.Quality order by Products.ProductName, Products.Type;" or die (mysql_error());
$process=odbc_exec($sqlconnect, $sqlquery);
?>
<html>
<head>
<title>Etat du Stock</title>
<link href="../resolutions/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<p align="center"><b><font face="Arial" size="5">Eurosource Stock Report</font></b></p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<table width="90%" border="0" align="center" cellpadding="1" cellspacing="1">
<tr class="tab04">
<td>
<div align="center">ProductName</div></td>
<td>
<div align="center">ProductDesc</div></td>
<td>
<div align="center">Quality</div></td>
<td>
<div align="center">Quantity</div></td>
<td>
<div align="center">Type</div></td>
</tr>
<?php while(odbc_fetch_row($process)){ $ProductName = odbc_result($process,"ProductName"); $ProductDesc = odbc_result($process,"ProductDesc"); $Type = odbc_result($process,"Type"); $Quality = odbc_result($process,"Quality"); ?>
<tr class="tab05">
<td><?php echo $ProductName ; ?></td>
<td><?php echo $ProductDesc ; ?></td>
<td><div align="center"><?php echo $Quality ; ?></div></td>
<td><div align="center"></div></td>
<td><div align="center"><?php echo $Type ; ?></div></td>
</tr><?php }odbc_close($sqlconnect); ?>
</table>
</body>
</html>
</body>
</html>
Cordialement,
Selon la norme SQL92, ta requète devrait s'écrire ainsi:
|
Bonjour,
<? $sqlconnect=odbc_connect($dsn,$username,$password); $sqlquery="SELECT Products.ProductName, Products.ProductDesc, Products.type, Stock.Quality, SUM(Stock.Quantity) FROM Products, Stock where Products.ProductName=Stock.ProductName and Products.Type <> 'S' Group by Products.ProductName, Products.ProductDesc, Products.type, Stock.Quality, Stock.Quantity order by Products.ProductName, Products.Type ;" or die (mysql_error()); $process=odbc_exec($sqlconnect, $sqlquery); ?> en rajoutant donc le code suivant : <?php while(odbc_fetch_row($process)){ $ProductName = odbc_result($process,"ProductName"); $ProductDesc = odbc_result($process,"ProductDesc"); $Type = odbc_result($process,"Type"); $Quality = odbc_result($process,"Quality"); $Quantity = odbc_result($process,"Quantity"); ?>
<tr class="tab05">
<td><?php echo $ProductName ; ?></td>
<td><?php echo $ProductDesc ; ?></td>
<td><div align="center"><?php echo $Quality ; ?></div></td>
<td><div align="center"><?php echo $Quantity ; ?></div></td>
<td><div align="center"><?php echo $Type ; ?></div></td>
</tr><?php }odbc_close($sqlconnect); ?>
j'ai l'erreur suivante : Warning: odbc_result(): Field Quantity not found in c:\program files\easyphp1-8\www\eurosource-intranet\references\print_stock.php on line 43 la ligne 43 étant : <?php while(odbc_fetch_row($process)){ $ProductName = odbc_result($process,"ProductName"); $ProductDesc = odbc_result($process,"ProductDesc"); $Type = odbc_result($process,"Type"); $Quality = odbc_result($process,"Quality"); $Quantity = odbc_result($process,"Quantity"); ?>
Merci de m'aider SVP... Cordialement, Riwalenn |
Salut ! l'erreur vient de ta requête :
SELECT Products.ProductName, Products.ProductDesc, Products.type, Stock.Quality, SUM(Stock.Quantity) FROM Products, Stock where Products.ProductName=Stock.ProductName and Products.Type <> 'S' Group by Products.ProductName, Products.ProductDesc, Products.type, Stock.Quality, Stock.Quantity Enlève "Stock.Quantity" du group by. Tu dois faire un group by sur tous les autres champs, mais pas sur le champ aggrégé. Essayes de tester ta requête, ça devrait passer beaucoup mieux :) |