|
|
|
|
Bonjour,
J'ai un petit souci pour comparer une date dans ma base de donnée avec une autre donnée via une variable PHP.
Je suis bien arrivé a obtenir le résultat souhaité sans tenir compte de la date :
En gros jusqu'à présent j'ai un champ quantitéMAX par produit et un champ quantitéCommandé , j'obtiens ensuite la quantité restante via une simple soustraction des deux.
<table>
<tr>
<td> Quantity : 18 </td>
<td> Quantity Order : 3 </td>
<td> Quantity Left : 15 </td>
</tr>
<tr>
<td> Quantity : 3 </td>
<td> Quantity Order : 3 </td>
<td> Quantity Left : 0 </td>
</tr>
<tr>
<td> Quantity : 40 </td>
<td> Quantity Order : 12 </td>
<td> Quantity Left : 28 </td>
</tr>
</table>
function showLeftProducts($shipDate) {
$connect=MySQLConnect();
$quantityLeft = array();
$i=1;
$request =
mysql_query('SELECT p.quantity AS quantity,
SUM(d.productQuantity) AS productQuantity,
o.shipDate AS shipDate
FROM products p, ordersdetails d, orders o
WHERE p.productID = d.productID
AND o.orderID = d.orderID
GROUP BY p.quantity, d.productQuantity
AND o.shipDate = '.$shipDate);
while($result = mysql_fetch_array($request)) {
$quantityLeft[$i]['quantity'] = $result['quantity'];
$quantityLeft[$i]['productQuantity'] = $result['productQuantity'];
$i++;
}
mysql_close($connect);
return $quantityLeft;
}
Configuration: Intel Q6600 4GB DDRII 800 Raid0 2x WD Velociraptor 150 Go 1x WD 500 Go GeForce 9800GX2 XP Pro
Hello,
function datetest($shipDate) {
echo $shipDate; // ShipDate est de type FR 13/11/2009
$date=$shipDate;
$shipDate=dateus($date); // On convertit en US : 2009-11-13
echo $shipDate; // On teste, c'est parfait
$connect=MySQLConnect(); // Connexion DB
$request=mysql_query("SELECT shipDate FROM orders WHERE shipDate = $shipDate");
$result=mysql_fetch_array($request);
mysql_close($connect);
return $result;
}
on récupère le résultat sur une page PHP et on tente de l'afficher : ------------------------------------------------------------------------------ $date=datetest($shipDate); echo $date; print_r($date); et la NADA :-/ J'ai essayé avec le LIKE , pareil Pourtant dans ma DB dans, sans fautes de frappes, la table "orders" contient un champ "shipDate" en mode "DATE" qui lui a comme contenu "2009-11-13". Si quelqu'un comprends qu'il me fasse signe ^^ Merci |
Hello, désolé de ne pas avoir réagi plus tôt, j'étais assez occupé ;-)
/* Convertit les dates de type JJ/MM/AAAA vers le format Date DB américain YYYY-MM-DD */
function dateUS($date)
{
$date = explode('/', $date);
$date = array_reverse($date);
$date = implode('-', $date);
return $date;
}
/* On fait passer notre variable dans la fonction $date=$shipDate; // vaut 14/11/2009 $shipDate=dateUS($date); // ici shipDate vaudra 2009-11-14
... Connexion a la DB ....
// Ne pas oublier les ' ' entre le nom de la variable, mon erreur venait de la
$result=mysql_query("SELECT shipDate FROM orders WHERE shipDate = '$shipDate' ")
$date=mysql_fetch_array($request);
print_r($date);
Bonne journée a tous ;-) |