Ses derniers sujets sur les forums
Voilà j'ai un petit problème avec un tableau. Je crée un tableau que j'emploie pour ma gestion de caddie et j'aimerais q-vider ou supprimer ce tableau lorsque la commande est effectuée. Si vous avez une idée :)
Je le crée de cette façon :
$_SESSION["achats"][] = array ();
Voilà le titre dit tout, je voudrais supprimer un élément dans un tableau. Pour l'instant j'emploie les lignes de code qui suivent :
<?php
session_start();
$serial = $_GET["serial"];
unset ($_SESSION["achats"][$serial]);
unset ($_SESSION["achats"][$serial+1]);
unset ($_SESSION["achats"][$serial+2]);
?>
Je sais c'est pas terrible et en plus ça fait des erreurs du style :
Undefined offset
Si quelqu'un peu m'éclairer ce serait super
Je vous remercie d'avance
Bon voilà, j'essaie de programmer une gestion de caddie. Et j'ai une partie administrateur d'ou on peu voir toute les commandes. Cette page affiche en premier lieu juste le nom du client et le total de la commande. Et si on clique sur le bouton détail alors on affiche les articles en détails. Ca marche mais j'ai un problème, la première fois que l'on arrive sur cette page la variable du bouton détail est vide et j'ai un message d'erreur qui apparaît :
Undefined index: details
Comment pourrais je empêcher cette erreur au premier lancement de cette page
voici mon code :
<html>
<head>
<title>In Order</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<table width="98%" border="1" align="center" cellspacing="1" cellpadding="3">
<tr bordercolor="#FFFFFF">
<td>
<table width="95%" border="1" align="center" cellspacing="0" cellpadding="3">
<tr bgcolor="#F0F0F0" bordercolor="#FFFFFF">
<td width="8%"><div align="center"><strong>sku</strong></div></td>
<td width="59%"><div align="center"><strong>Description</strong></div></td>
<td width="6%"><div align="center"><strong>qte</strong></div></td>
<td width="8%"><div align="center"><strong>prix</strong></div></td>
</tr>
<?
require 'config.php';
$sql = "SELECT * FROM commandes WHERE user_id='$user_id'";
$result = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$sql2 = "SELECT * FROM client WHERE user_id='$user_id'";
$result2 = mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
//$sql9 = "SELECT * FROM commandes WHERE soc_id='$soc_id'";
//$result9 = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
$r = mysql_fetch_array($result2);
//$r9 = mysql_fetch_array($result9);
while($row=mysql_fetch_array($result))
{
echo "<form method=\"post\" action=\"index.php?page=list\">";
echo "commande de : $r[nom] $r[prenom] <br>";
echo "détail : ";
echo "<div align=\"right\"><b>Montant total de la commande : ".$row["total"]." €</b></div>";
echo "<tr bordercolor=\"#FFFFFF\" bgcolor=\"#DEDFD7\">";
echo "<input type=\"hidden\" name=\"details\" value=\"DETAILS\"> ";
echo "<input type=\"submit\" value=\"détails\">";
echo "</form>";
$id_cde = $row["id"];
$sql3 = "SELECT * FROM lgcommandes WHERE id_cde ='$id_cde'";
$result3 = mysql_query($sql3) or die('Erreur SQL !<br>'.$sql3.'<br>'.mysql_error());
if ($_POST["details"] == "DETAILS")
{
while ($lg = mysql_fetch_array($result3))
{
echo " <td ><font size=\"2\">".$lg["sku"]."</font></td> ";
echo " <td ><font size=\"2\">".$lg["qte"]."</font></td> ";
echo " <td ><font size=\"2\">".$lg["prix"]."</font></td> ";
}
}
echo "</tr>";
}
?>
</table>
</table>
</body>
</html>
merci pour vos réponses
Voilà, j'ai un ti problème. Je dois parcourir un tableau pour pouvoir mettre son contenu dans une table. Mais j''y arrive pas trop. Si vous avez une idée elle est la bien venue.
En fait j'utilise 2 tables, un table commande qui contient un user_id ou soc_id, le total etc... et une table lgcommande qui contient les produit qui se trouve dans la commande.
Quand il y a plusieur porduit dans ma commande il n'ajoute que le premier et pas les autres dans la table lgcommande.
En fait c'est une histoire de boucle qui doit englober mon query de lgcommande mais j'arrive pas à la faire;
Voici mon code :
<?php
session_start();
$serial = $_GET["serial"];
function redirection($url)
{
if (headers_sent())
{
print('<meta http-equiv="refresh" content="0;URL='.$url.'">');
}
else
{
header("l0cation: $url");
}
}
require ('config.php');
if (!isset($_SESSION["achats"]))
{
// validation et pas d'achats
redirection("../erreur.htm");
}
$achats = $_SESSION["achats"];
if (($HTTP_SESSION_VARS["permiss"]==2) || ($HTTP_SESSION_VARS["permiss"]==1)){
$user_id = $_SESSION["user_id"];
$sql="INSERT into commandes VALUES('','$user_id','','','')";
$result=mysql_query($sql);
}
else{
$soc_id = $_SESSION["soc_id"];
$sql="INSERT into commandes VALUES('','','$soc_id','','')";
$result=mysql_query($sql);
}
;
$id_cde = mysql_insert_id();
$query="INSERT into lgcommandes VALUES('','$id_cde','$achats[1]','$achats[2]','$achats[3]')";
$result=mysql_query($query);
header('l0cation: ../../index.php?page=cent');
?>
Merci encore pour l'aide que vous serez m'apporter