par
wwwbillgates » 15 juin 2010, 16:04
Voici un tit aperçu de la page concerné:
http://www.mabouille.com/mabouille/temp ... ategorie=1
En fait j'ai une liste d'articles qui s'affiche à partir d'un while, et dans ces articles j'ai un autre while qui va afficher le nombre de cellules bleu avec chacune un bouton des sous articles. Le problème est que tout les selecteur de quantité pour les articles ayant plus de 1 cellule de sous articles ne fonctionnes pas car il faudrai que le while génere un id unique pour chacun des boutons mais qui ne pourra jamais etre toujours identique a l'ID du form!!! Je pense qu'il n'y a qu"en se passant de l'id du form que cela est possible ?
Voila mon code complet :
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>₪ Une idée cadeau original pour un anniversaire et des cadeaux Personnalisés de départ à la retraite.</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="Idée cadeau original pour homme. La boutique des cadeaux originaux pour femme. Idée cadeaux pour anniversaire, noël, saint valentin, départ en retraite...">
<meta name="keywords" content="anniversaire, aniversaire, aniverssaire, idée cadeau, idée cadeaux, idées cadeaux, idee, idée, idées,idee,cadeau, cadeaux, original, cadeau original, originaux, cadeaux originaux, sympathique, caricature, carricature, caricature, insolites, carte personnalisée, perssonalisee, rigolo, pas cher, fun">
<!--rollover_mabouille-->
<?php include("../../includes/scripts/rollover_mabouille.php"); ?>
<!--bouton plus et moins pour le choix de la quantité de l'article-->
<script language="JavaScript" type="text/JavaScript">
<!--
function decremente(objet) {
if (objet.value > 0) {
objet.value--;
}
}
function incremente(objet) {
objet.value++;
}
//-->
</script>
</head>
<body>
<link rel="stylesheet" media="screen" type="text/css" title="CSS" href="../../templates/css/pages.css" />
<link rel="stylesheet" media="screen" type="text/css" title="CSS" href="../../templates/css/etape4.css" />
<!-------------------->
<!---- Menu haut
<!-------------------->
<!--connexion mysql-->
<?php include("../../class/bouilleDB.php"); ?>
<!--fonctions-->
<?php include("../../includes/functions/functions.php"); ?>
<!--menu du haut-->
<?php include("../../templates/pages/menu_haut.php"); ?>
<!--script POPUP-->
<?php include("../../includes/scripts/popup.php"); ?>
<!---- page blanche début ---->
<div id="page_blanche">
<!---- Frise ---->
<p >
<img src="../../interface/frise_1.gif" />
<img src="../../interface/frise_2.gif" />
<img src="../../interface/frise_3.gif" />
<img src="../../interface/frise_4.gif" />
<img src="../../interface/frise_5off.gif" />
<img src="../../interface/frise_6off.gif" />
<img src="../../interface/frise_7off.gif" />
</p>
<br />
<!---- Introduction ---->
<p class="introduction" >
Choix des supports...
</p>
<!--------------------------------->
<!---- Titre catégorie supports
<!--------------------------------->
<!---- Catégorie supports ---->
<div class="categorie_par_choix_supports" >
<p>
<a href="../../templates/pages/etape4_supports_categorie.php?categorie=1"><?php echo mise_en_surbrillance_dun_titre(1, $_GET['categorie']); ?>PAPETERIE, CADRES</span></a>
-
<a href="../../templates/pages/etape4_supports_categorie.php?categorie=2"><?php echo mise_en_surbrillance_dun_titre(2, $_GET['categorie']); ?>MAISON, DECO</span></a>
-
<a href="../../templates/pages/etape4_supports_categorie.php?categorie=3"><?php echo mise_en_surbrillance_dun_titre(3, $_GET['categorie']); ?>VAISSELLE, CUISINE</span></a>
-
<a href="../../templates/pages/etape4_supports_categorie.php?categorie=4"><?php echo mise_en_surbrillance_dun_titre(4, $_GET['categorie']); ?>T-SHIRTS, VETEMENTS</span></a>
-
<a href="../../templates/pages/etape4_supports_categorie.php?categorie=5"><?php echo mise_en_surbrillance_dun_titre(5, $_GET['categorie']); ?>JEUX, JOUETS</span></a>
-
<a href="../../templates/pages/etape4_supports_categorie.php?categorie=6"><?php echo mise_en_surbrillance_dun_titre(6, $_GET['categorie']); ?>BUREAU, ACCESSOIRES</span></a>
</p>
</div>
<?php
/*********************/
/*** Variables POST
/*********************/
$_SESSION['supports']['action'] = (isset($_POST['action'])? $_POST['action']:null );
$_SESSION['supports']['libelleProduit'] = (isset($_POST['support_titre'])? $_POST['support_titre']:null );
$_SESSION['supports']['prixProduit'] = (isset($_POST['support_prix'])? $_POST['support_prix']:null );
$_SESSION['supports']['qteProduit'] = (isset($_POST['support_quantite'])? $_POST['support_quantite']:null );
$_SESSION['supports']['optionProduit'] = (isset($_POST['support_option'])? $_POST['support_option']:null );
$_SESSION['supports']['textarea'] = (isset($_POST['textarea'])? $_POST['textarea']:null );
$_SESSION['supports']['textarea'] = htmlspecialchars($_SESSION['supports']['textarea']);
//Suppression des espaces verticaux
$_SESSION['supports']['libelleProduit'] = preg_replace('#\v#', '',$_SESSION['supports']['libelleProduit']);
$_SESSION['supports']['optionProduit'] = preg_replace('#\v#', '',$_SESSION['supports']['optionProduit']);
//On verifie que $support_prix soit un float
$_SESSION['supports']['prixProduit'] = floatval($_SESSION['supports']['prixProduit']);
?>
<?php
/******************************************/
/*** Redirection vers étape de supports
/******************************************/
if(!empty($_SESSION['supports']['action']))
{
$erreur_objet_manquant = array();
//Erreur quantité manquante
if ($_SESSION['supports']['qteProduit'] == 0)
{
?><script language="javascript"> alert("Veuillez choisir une quantité pour ce support"); </script><?php
$erreur_objet_manquant[0] = "Veuillez choisir une quantité";
}
//Erreur option manquante
if (!empty($_POST['numero_option']) AND $_SESSION['supports']['optionProduit'] == $_POST['numero_option'])
{
?><script language="javascript"> alert("Veuillez choisir une option pour ce support"); </script><?php
$erreur_objet_manquant[1] = "Veuillez choisir une option pour les supports concernés";
}
if (empty($erreur_objet_manquant))
{
header("Location: ../../templates/pages/etape4_supports.php");
exit();
}
}
?>
<?php
/*********************************************************/
/*** Affichage du tableau d'erreur pour la redirection
/*********************************************************/
echo '<div class="tableau_derreur" >';
if (isset ($erreur_objet_manquant))
{
if( count( $erreur_objet_manquant ) !== 0 )
{
echo( "\t\t<ul>\n" );
foreach( $erreur_objet_manquant as $error )
{
echo( "\t\t\t<li>$error</li>\n" );
}
echo( "\t\t</ul>\n" );
}
}
echo '</div>';
?>
<?php
/***********************/
/*** Boite de support
/***********************/
if (isset($_GET['categorie']))
{
// Insertion à l'aide d'une requête préparée
$reponse = $bdd->prepare("
SELECT *
FROM bouille_supports
WHERE categorie = :categorie
ORDER BY ordre
");
$reponse->execute(array('categorie' => $_GET['categorie']));
while ($bouille_supports = $reponse->fetch())
{
$bouille_supports['description'] = nl2br($bouille_supports['description']);
?>
<!---Post--->
<form method="post" name="formulaire<?php echo $bouille_supports['id']; ?>" action="">
<input type="hidden" name="id" value="<?php echo $bouille_supports['id']; ?>" />
<input type="hidden" name="support_titre" value="<?php echo $bouille_supports['titre']; ?>" />
<input type="hidden" name="support_prix" value="<?php echo $bouille_supports['prix1']; ?>" />
<input type="hidden" name="action" value="ajout" />
<div id="boite_support" >
<p><span class="titre" ><?php echo $bouille_supports['titre']; ?></span></p>
<p><img src="../../support/<?php echo $bouille_supports['photo']; ?>" alt="Image contractuelle du support." /></p>
<div class="description" >
<?php
/****************************************************************/
/*** Afficher Textarea s'il est présent dans la base de donnée
/****************************************************************/
if ($bouille_supports['areatext'] != null)
{
?>
<p class ="textarea" >
<label for="textarea" ><?php echo $bouille_supports['areatext']; ?></label><br />
<textarea rows="5" cols="20" name="textarea" id="textarea"></textarea>
</p>
<?php
}
?>
<p><?php echo $bouille_supports['description']; ?></p>
</div>
<?php
/****************************************/
/*** Quantite de cellules d'un article
/****************************************/
$quantite_cellules = 0;
if (!empty($bouille_supports['texte1']))
{
$quantite_cellules = 1;
}
if (!empty($bouille_supports['texte2']))
{
$quantite_cellules = 2;
}
if (!empty($bouille_supports['texte3']))
{
$quantite_cellules = 3;
}
?>
<?php
/*************************/
/*** Boucle des cellule
/*************************/
$cellule_supplementaire = 1;
while ($cellule_supplementaire <= $quantite_cellules)
{
?>
<div class="cellule" >
<p>
<span class="gras" ><?php echo 'Prix : ' . $bouille_supports['prix' . $cellule_supplementaire] . ' €'; ?></span>
<span class="nom_de_larticle" ><?php echo $bouille_supports['texte' . $cellule_supplementaire]; ?></span>
<?php
/*************************/
/*** Select des options
/*************************/
if (!empty($bouille_supports['options']))
{
//Select des options tailles, couleur, choix, etc.
$nombre_de_lignes = 0;
$select_option = $bouille_supports['options'];
$select_option = explode('[sep]', $select_option);
$nb_de_select_option = count($select_option);
$nb_de_select_option = $nb_de_select_option - 2;
?><select name="support_option" id="menu"><?php
while ($nombre_de_lignes <= $nb_de_select_option)
{
?>
<option value="<?php echo $select_option[$nombre_de_lignes]; ?>"><?php echo $select_option[$nombre_de_lignes]; ?></option>
<?php
$nombre_de_lignes++;
}
?></select>
<input type="hidden" name="numero_option" value="<?php echo $select_option[0]; ?>" />
<?php
}
/****************************/
/*** selecteur de quantité
/****************************/
// Vérifie qu'il ne s'agit pas d'un support numérique gratuit puis affiche le selecteur de quantité
if ($bouille_supports['numerique'] == null)
{
?>
<span class="gras" >Quantité :</span>
<img src="../../interface/bt_moins.gif" onmouseover="this.src='../../interface/bt_moins_push.gif';" onmouseout="this.src='../../interface/bt_moins.gif';" onclick="javascript:decremente(document.formulaire<?php echo $bouille_supports['id']; ?>.support_quantite);" />
<input type="text" name="support_quantite" value="0" size="1" />
<img src="../../interface/bt_plus.gif" onmouseover="this.src='../../interface/bt_plus_push.gif';" onmouseout="this.src='../../interface/bt_plus.gif';" onclick="javascript:incremente(document.formulaire<?php echo $bouille_supports['id']; ?>.support_quantite);" />
<?php
}
elseif ($bouille_supports['numerique'] == 1)
{
?><input type="hidden" name="support_quantite" value="1" /><?php
}
/*********************/
/*** Bouton ajouter
/*********************/
?>
<input type="image" value="ajouter" class="bouton_ajouter" src="../../interface/bt_ajouter.gif" onmouseover="this.src='../../interface/bt_ajouter_push.gif'" onmouseout="this.src='../../interface/bt_ajouter.gif'" />
</p>
</div>
<?php
$cellule_supplementaire++;
}
?>
</form>
</div>
<?php
}
}
?>
</div>
<!---- page blanche fin ---->
<!---- copyright ---->
<br />
<?php include("copyright.php"); ?>
</body>
</html>
Voici un tit aperçu de la page concerné:
[url]http://www.mabouille.com/mabouille/templates/pages/etape4_supports_categorie.php?categorie=1[/url]
En fait j'ai une liste d'articles qui s'affiche à partir d'un while, et dans ces articles j'ai un autre while qui va afficher le nombre de cellules bleu avec chacune un bouton des sous articles. Le problème est que tout les selecteur de quantité pour les articles ayant plus de 1 cellule de sous articles ne fonctionnes pas car il faudrai que le while génere un id unique pour chacun des boutons mais qui ne pourra jamais etre toujours identique a l'ID du form!!! Je pense qu'il n'y a qu"en se passant de l'id du form que cela est possible ? :?
Voila mon code complet :
[php]
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
<head>
<title>₪ Une idée cadeau original pour un anniversaire et des cadeaux Personnalisés de départ à la retraite.</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<meta name="description" content="Idée cadeau original pour homme. La boutique des cadeaux originaux pour femme. Idée cadeaux pour anniversaire, noël, saint valentin, départ en retraite...">
<meta name="keywords" content="anniversaire, aniversaire, aniverssaire, idée cadeau, idée cadeaux, idées cadeaux, idee, idée, idées,idee,cadeau, cadeaux, original, cadeau original, originaux, cadeaux originaux, sympathique, caricature, carricature, caricature, insolites, carte personnalisée, perssonalisee, rigolo, pas cher, fun">
<!--rollover_mabouille-->
<?php include("../../includes/scripts/rollover_mabouille.php"); ?>
<!--bouton plus et moins pour le choix de la quantité de l'article-->
<script language="JavaScript" type="text/JavaScript">
<!--
function decremente(objet) {
if (objet.value > 0) {
objet.value--;
}
}
function incremente(objet) {
objet.value++;
}
//-->
</script>
</head>
<body>
<link rel="stylesheet" media="screen" type="text/css" title="CSS" href="../../templates/css/pages.css" />
<link rel="stylesheet" media="screen" type="text/css" title="CSS" href="../../templates/css/etape4.css" />
<!-------------------->
<!---- Menu haut
<!-------------------->
<!--connexion mysql-->
<?php include("../../class/bouilleDB.php"); ?>
<!--fonctions-->
<?php include("../../includes/functions/functions.php"); ?>
<!--menu du haut-->
<?php include("../../templates/pages/menu_haut.php"); ?>
<!--script POPUP-->
<?php include("../../includes/scripts/popup.php"); ?>
<!---- page blanche début ---->
<div id="page_blanche">
<!---- Frise ---->
<p >
<img src="../../interface/frise_1.gif" />
<img src="../../interface/frise_2.gif" />
<img src="../../interface/frise_3.gif" />
<img src="../../interface/frise_4.gif" />
<img src="../../interface/frise_5off.gif" />
<img src="../../interface/frise_6off.gif" />
<img src="../../interface/frise_7off.gif" />
</p>
<br />
<!---- Introduction ---->
<p class="introduction" >
Choix des supports...
</p>
<!--------------------------------->
<!---- Titre catégorie supports
<!--------------------------------->
<!---- Catégorie supports ---->
<div class="categorie_par_choix_supports" >
<p>
<a href="../../templates/pages/etape4_supports_categorie.php?categorie=1"><?php echo mise_en_surbrillance_dun_titre(1, $_GET['categorie']); ?>PAPETERIE, CADRES</span></a>
-
<a href="../../templates/pages/etape4_supports_categorie.php?categorie=2"><?php echo mise_en_surbrillance_dun_titre(2, $_GET['categorie']); ?>MAISON, DECO</span></a>
-
<a href="../../templates/pages/etape4_supports_categorie.php?categorie=3"><?php echo mise_en_surbrillance_dun_titre(3, $_GET['categorie']); ?>VAISSELLE, CUISINE</span></a>
-
<a href="../../templates/pages/etape4_supports_categorie.php?categorie=4"><?php echo mise_en_surbrillance_dun_titre(4, $_GET['categorie']); ?>T-SHIRTS, VETEMENTS</span></a>
-
<a href="../../templates/pages/etape4_supports_categorie.php?categorie=5"><?php echo mise_en_surbrillance_dun_titre(5, $_GET['categorie']); ?>JEUX, JOUETS</span></a>
-
<a href="../../templates/pages/etape4_supports_categorie.php?categorie=6"><?php echo mise_en_surbrillance_dun_titre(6, $_GET['categorie']); ?>BUREAU, ACCESSOIRES</span></a>
</p>
</div>
<?php
/*********************/
/*** Variables POST
/*********************/
$_SESSION['supports']['action'] = (isset($_POST['action'])? $_POST['action']:null );
$_SESSION['supports']['libelleProduit'] = (isset($_POST['support_titre'])? $_POST['support_titre']:null );
$_SESSION['supports']['prixProduit'] = (isset($_POST['support_prix'])? $_POST['support_prix']:null );
$_SESSION['supports']['qteProduit'] = (isset($_POST['support_quantite'])? $_POST['support_quantite']:null );
$_SESSION['supports']['optionProduit'] = (isset($_POST['support_option'])? $_POST['support_option']:null );
$_SESSION['supports']['textarea'] = (isset($_POST['textarea'])? $_POST['textarea']:null );
$_SESSION['supports']['textarea'] = htmlspecialchars($_SESSION['supports']['textarea']);
//Suppression des espaces verticaux
$_SESSION['supports']['libelleProduit'] = preg_replace('#\v#', '',$_SESSION['supports']['libelleProduit']);
$_SESSION['supports']['optionProduit'] = preg_replace('#\v#', '',$_SESSION['supports']['optionProduit']);
//On verifie que $support_prix soit un float
$_SESSION['supports']['prixProduit'] = floatval($_SESSION['supports']['prixProduit']);
?>
<?php
/******************************************/
/*** Redirection vers étape de supports
/******************************************/
if(!empty($_SESSION['supports']['action']))
{
$erreur_objet_manquant = array();
//Erreur quantité manquante
if ($_SESSION['supports']['qteProduit'] == 0)
{
?><script language="javascript"> alert("Veuillez choisir une quantité pour ce support"); </script><?php
$erreur_objet_manquant[0] = "Veuillez choisir une quantité";
}
//Erreur option manquante
if (!empty($_POST['numero_option']) AND $_SESSION['supports']['optionProduit'] == $_POST['numero_option'])
{
?><script language="javascript"> alert("Veuillez choisir une option pour ce support"); </script><?php
$erreur_objet_manquant[1] = "Veuillez choisir une option pour les supports concernés";
}
if (empty($erreur_objet_manquant))
{
header("Location: ../../templates/pages/etape4_supports.php");
exit();
}
}
?>
<?php
/*********************************************************/
/*** Affichage du tableau d'erreur pour la redirection
/*********************************************************/
echo '<div class="tableau_derreur" >';
if (isset ($erreur_objet_manquant))
{
if( count( $erreur_objet_manquant ) !== 0 )
{
echo( "\t\t<ul>\n" );
foreach( $erreur_objet_manquant as $error )
{
echo( "\t\t\t<li>$error</li>\n" );
}
echo( "\t\t</ul>\n" );
}
}
echo '</div>';
?>
<?php
/***********************/
/*** Boite de support
/***********************/
if (isset($_GET['categorie']))
{
// Insertion à l'aide d'une requête préparée
$reponse = $bdd->prepare("
SELECT *
FROM bouille_supports
WHERE categorie = :categorie
ORDER BY ordre
");
$reponse->execute(array('categorie' => $_GET['categorie']));
while ($bouille_supports = $reponse->fetch())
{
$bouille_supports['description'] = nl2br($bouille_supports['description']);
?>
<!---Post--->
<form method="post" name="formulaire<?php echo $bouille_supports['id']; ?>" action="">
<input type="hidden" name="id" value="<?php echo $bouille_supports['id']; ?>" />
<input type="hidden" name="support_titre" value="<?php echo $bouille_supports['titre']; ?>" />
<input type="hidden" name="support_prix" value="<?php echo $bouille_supports['prix1']; ?>" />
<input type="hidden" name="action" value="ajout" />
<div id="boite_support" >
<p><span class="titre" ><?php echo $bouille_supports['titre']; ?></span></p>
<p><img src="../../support/<?php echo $bouille_supports['photo']; ?>" alt="Image contractuelle du support." /></p>
<div class="description" >
<?php
/****************************************************************/
/*** Afficher Textarea s'il est présent dans la base de donnée
/****************************************************************/
if ($bouille_supports['areatext'] != null)
{
?>
<p class ="textarea" >
<label for="textarea" ><?php echo $bouille_supports['areatext']; ?></label><br />
<textarea rows="5" cols="20" name="textarea" id="textarea"></textarea>
</p>
<?php
}
?>
<p><?php echo $bouille_supports['description']; ?></p>
</div>
<?php
/****************************************/
/*** Quantite de cellules d'un article
/****************************************/
$quantite_cellules = 0;
if (!empty($bouille_supports['texte1']))
{
$quantite_cellules = 1;
}
if (!empty($bouille_supports['texte2']))
{
$quantite_cellules = 2;
}
if (!empty($bouille_supports['texte3']))
{
$quantite_cellules = 3;
}
?>
<?php
/*************************/
/*** Boucle des cellule
/*************************/
$cellule_supplementaire = 1;
while ($cellule_supplementaire <= $quantite_cellules)
{
?>
<div class="cellule" >
<p>
<span class="gras" ><?php echo 'Prix : ' . $bouille_supports['prix' . $cellule_supplementaire] . ' €'; ?></span>
<span class="nom_de_larticle" ><?php echo $bouille_supports['texte' . $cellule_supplementaire]; ?></span>
<?php
/*************************/
/*** Select des options
/*************************/
if (!empty($bouille_supports['options']))
{
//Select des options tailles, couleur, choix, etc.
$nombre_de_lignes = 0;
$select_option = $bouille_supports['options'];
$select_option = explode('[sep]', $select_option);
$nb_de_select_option = count($select_option);
$nb_de_select_option = $nb_de_select_option - 2;
?><select name="support_option" id="menu"><?php
while ($nombre_de_lignes <= $nb_de_select_option)
{
?>
<option value="<?php echo $select_option[$nombre_de_lignes]; ?>"><?php echo $select_option[$nombre_de_lignes]; ?></option>
<?php
$nombre_de_lignes++;
}
?></select>
<input type="hidden" name="numero_option" value="<?php echo $select_option[0]; ?>" />
<?php
}
/****************************/
/*** selecteur de quantité
/****************************/
// Vérifie qu'il ne s'agit pas d'un support numérique gratuit puis affiche le selecteur de quantité
if ($bouille_supports['numerique'] == null)
{
?>
<span class="gras" >Quantité :</span>
<img src="../../interface/bt_moins.gif" onmouseover="this.src='../../interface/bt_moins_push.gif';" onmouseout="this.src='../../interface/bt_moins.gif';" onclick="javascript:decremente(document.formulaire<?php echo $bouille_supports['id']; ?>.support_quantite);" />
<input type="text" name="support_quantite" value="0" size="1" />
<img src="../../interface/bt_plus.gif" onmouseover="this.src='../../interface/bt_plus_push.gif';" onmouseout="this.src='../../interface/bt_plus.gif';" onclick="javascript:incremente(document.formulaire<?php echo $bouille_supports['id']; ?>.support_quantite);" />
<?php
}
elseif ($bouille_supports['numerique'] == 1)
{
?><input type="hidden" name="support_quantite" value="1" /><?php
}
/*********************/
/*** Bouton ajouter
/*********************/
?>
<input type="image" value="ajouter" class="bouton_ajouter" src="../../interface/bt_ajouter.gif" onmouseover="this.src='../../interface/bt_ajouter_push.gif'" onmouseout="this.src='../../interface/bt_ajouter.gif'" />
</p>
</div>
<?php
$cellule_supplementaire++;
}
?>
</form>
</div>
<?php
}
}
?>
</div>
<!---- page blanche fin ---->
<!---- copyright ---->
<br />
<?php include("copyright.php"); ?>
</body>
</html>
[/php]