par
bibo341 » 27 mars 2008, 19:07
ok ok merci beaucoup de ton aide Ryle, je vais pouvoir avancer.
Je ne mets pas encore de "RESOLU" sur le poste si jamais j'ai quelques question encore
Edit: Tu vois encore besoin de renseignements...
J'ai donc essayer avec le
$request = tep_db_query("SELECT c.parent_id, pd.products_id, pd.products_name, p.products_ref, p.products_price, s.specials_new_products_price, taille.products_options_values_id, couleur.products_options_values_id, couleur.products_options_values_name AS couleur, taille.products_options_values_name AS taille, pa.options_values_price, (
pa.options_values_price + p.products_price ) AS final_price, (pa.options_values_price + s.specials_new_products_price ) AS final_price_promo
FROM products_stock ps, products_description pd LEFT JOIN specials s USING(products_id), products_options_values couleur, products_options_values taille, products_attributes pa, products p, products_to_categories p2c, categories c
WHERE pd.products_id = ps.products_id
AND pd.products_id = pa.products_id
AND pd.products_id = p.products_id
AND p2c.products_id = pd.products_id
AND p2c.categories_id = c.categories_id
AND c.parent_id = 4
AND SUBSTRING( ps.products_stock_attributes FROM 3 FOR 2 ) = couleur.products_options_values_id
AND SUBSTRING( ps.products_stock_attributes FROM 8 FOR 2 ) = taille.products_options_values_id
AND pa.options_values_id = taille.products_options_values_id
ORDER BY pd.products_name, couleur.products_options_values_id, taille.products_options_values_id ");
while($data = mysql_fetch_assoc($request))
{
if ($data['final_price_promo'] == '') {
$final_price = $data['final_price'];
} else {
$final_price = $data['final_price_promo'];
}
foreach ($_SESSION["select"] AS $value ){
$data_table = explode("-", $value);
if(($data_table[1] == $data['products_name']) && ($data_table[3] == $data['couleur']) && ($data_table[2] == $data['taille'])) {
$check = ' checked="checked"';
$quantite = 'value="' . $_SESSION[$data_table[0]] . '" ';
} else {
$check = '';
$quantite = '';
}
echo '<tr>
<td class="directbuy" width="90" align="center"><input type="checkbox" name="select[]" value="p' . $data['products_id'] . 'c' . $data['couleur'] . 't' . $data['taille'] . '-' . $data['products_name'] . '-' . $data['taille'] . '-' . $data['couleur'] . '-' . $final_price . '"' . $check . ' /></td>
<td class="directbuy_ref" width="50">' . $data['products_ref'] . '</td>
<td class="directbuy_nom" width="260">' . $data['products_name'] . '</td>
<td class="directbuy" width="130" align="center">' . $data['couleur'] . '</td>
<td class="directbuy" width="90" align="center">' .$data['taille'] . '</td>
<td class="directbuy_check" width="100" align="center"><input class="quantite" type="text" name="p' . $data['products_id'] . 'c' . $data['couleur'] . 't' . $data['taille'] . '" ' . $quantite . ' /></td>
</tr>';
}
}
Malheureusement, il me rajoute à chaque fois une ligne... j'ai alors essayer avec
$_SESSION['nom'][] = $data[1];
$_SESSION['quantite'][] = $_POST[$data[0]];
$_SESSION['couleur'][] = $data[3];
$_SESSION['taille'][] = $data[2];
j'ai donc ce code dans la page ou j'ai besoin des variable dans SESSION:
Code : Tout sélectionner
$request = tep_db_query("SELECT c.parent_id, pd.products_id, pd.products_name, p.products_ref, p.products_price, s.specials_new_products_price, taille.products_options_values_id, couleur.products_options_values_id, couleur.products_options_values_name AS couleur, taille.products_options_values_name AS taille, pa.options_values_price, (
pa.options_values_price + p.products_price ) AS final_price, (pa.options_values_price + s.specials_new_products_price ) AS final_price_promo
FROM products_stock ps, products_description pd LEFT JOIN specials s USING(products_id), products_options_values couleur, products_options_values taille, products_attributes pa, products p, products_to_categories p2c, categories c
WHERE pd.products_id = ps.products_id
AND pd.products_id = pa.products_id
AND pd.products_id = p.products_id
AND p2c.products_id = pd.products_id
AND p2c.categories_id = c.categories_id
AND c.parent_id = 4
AND SUBSTRING( ps.products_stock_attributes FROM 3 FOR 2 ) = couleur.products_options_values_id
AND SUBSTRING( ps.products_stock_attributes FROM 8 FOR 2 ) = taille.products_options_values_id
AND pa.options_values_id = taille.products_options_values_id
ORDER BY pd.products_name, couleur.products_options_values_id, taille.products_options_values_id ");
while($data = mysql_fetch_assoc($request))
{
if ($data['final_price_promo'] == '') {
$final_price = $data['final_price'];
} else {
$final_price = $data['final_price_promo'];
}
if(($_SESSION['nom'] == $data['products_name']) && ($_SESSION['couleur'] == $data['couleur']) && ($_SESSION['taille'] == $data['taille'])) {
$check = ' checked="checked"';
$quantite = 'value="' . $_SESSION['quantite'] . '" ';
} else {
$check = '';
$quantite = '';
}
echo '<tr>
<td class="directbuy" width="90" align="center"><input type="checkbox" name="select[]" value="p' . $data['products_id'] . 'c' . $data['couleur'] . 't' . $data['taille'] . '-' . $data['products_name'] . '-' . $data['taille'] . '-' . $data['couleur'] . '-' . $final_price . '"' . $check . ' /></td>
<td class="directbuy_ref" width="50">' . $data['products_ref'] . '</td>
<td class="directbuy_nom" width="260">' . $data['products_name'] . '</td>
<td class="directbuy" width="130" align="center">' . $data['couleur'] . '</td>
<td class="directbuy" width="90" align="center">' .$data['taille'] . '</td>
<td class="directbuy_check" width="100" align="center"><input class="quantite" type="text" name="p' . $data['products_id'] . 'c' . $data['couleur'] . 't' . $data['taille'] . '" ' . $quantite . ' /></td>
</tr>';
}
Mais la ca ne récupère pas la variable je dois zapper quelque chose...
Bon j'ai essayer pas mal de truc mais rien à faire... j'ai toujours le doublons.
Si possible, encore un petit coup de pouce serai le bienvenue... je suis dans une partie que je maitrise pas du tout

ok ok merci beaucoup de ton aide Ryle, je vais pouvoir avancer.
Je ne mets pas encore de "RESOLU" sur le poste si jamais j'ai quelques question encore
Edit: Tu vois encore besoin de renseignements...
J'ai donc essayer avec le
[php]
$request = tep_db_query("SELECT c.parent_id, pd.products_id, pd.products_name, p.products_ref, p.products_price, s.specials_new_products_price, taille.products_options_values_id, couleur.products_options_values_id, couleur.products_options_values_name AS couleur, taille.products_options_values_name AS taille, pa.options_values_price, (
pa.options_values_price + p.products_price ) AS final_price, (pa.options_values_price + s.specials_new_products_price ) AS final_price_promo
FROM products_stock ps, products_description pd LEFT JOIN specials s USING(products_id), products_options_values couleur, products_options_values taille, products_attributes pa, products p, products_to_categories p2c, categories c
WHERE pd.products_id = ps.products_id
AND pd.products_id = pa.products_id
AND pd.products_id = p.products_id
AND p2c.products_id = pd.products_id
AND p2c.categories_id = c.categories_id
AND c.parent_id = 4
AND SUBSTRING( ps.products_stock_attributes FROM 3 FOR 2 ) = couleur.products_options_values_id
AND SUBSTRING( ps.products_stock_attributes FROM 8 FOR 2 ) = taille.products_options_values_id
AND pa.options_values_id = taille.products_options_values_id
ORDER BY pd.products_name, couleur.products_options_values_id, taille.products_options_values_id ");
while($data = mysql_fetch_assoc($request))
{
if ($data['final_price_promo'] == '') {
$final_price = $data['final_price'];
} else {
$final_price = $data['final_price_promo'];
}
foreach ($_SESSION["select"] AS $value ){
$data_table = explode("-", $value);
if(($data_table[1] == $data['products_name']) && ($data_table[3] == $data['couleur']) && ($data_table[2] == $data['taille'])) {
$check = ' checked="checked"';
$quantite = 'value="' . $_SESSION[$data_table[0]] . '" ';
} else {
$check = '';
$quantite = '';
}
echo '<tr>
<td class="directbuy" width="90" align="center"><input type="checkbox" name="select[]" value="p' . $data['products_id'] . 'c' . $data['couleur'] . 't' . $data['taille'] . '-' . $data['products_name'] . '-' . $data['taille'] . '-' . $data['couleur'] . '-' . $final_price . '"' . $check . ' /></td>
<td class="directbuy_ref" width="50">' . $data['products_ref'] . '</td>
<td class="directbuy_nom" width="260">' . $data['products_name'] . '</td>
<td class="directbuy" width="130" align="center">' . $data['couleur'] . '</td>
<td class="directbuy" width="90" align="center">' .$data['taille'] . '</td>
<td class="directbuy_check" width="100" align="center"><input class="quantite" type="text" name="p' . $data['products_id'] . 'c' . $data['couleur'] . 't' . $data['taille'] . '" ' . $quantite . ' /></td>
</tr>';
}
}
[/php]
Malheureusement, il me rajoute à chaque fois une ligne... j'ai alors essayer avec
[php]
$_SESSION['nom'][] = $data[1];
$_SESSION['quantite'][] = $_POST[$data[0]];
$_SESSION['couleur'][] = $data[3];
$_SESSION['taille'][] = $data[2];
[/php]
j'ai donc ce code dans la page ou j'ai besoin des variable dans SESSION:
[code]
$request = tep_db_query("SELECT c.parent_id, pd.products_id, pd.products_name, p.products_ref, p.products_price, s.specials_new_products_price, taille.products_options_values_id, couleur.products_options_values_id, couleur.products_options_values_name AS couleur, taille.products_options_values_name AS taille, pa.options_values_price, (
pa.options_values_price + p.products_price ) AS final_price, (pa.options_values_price + s.specials_new_products_price ) AS final_price_promo
FROM products_stock ps, products_description pd LEFT JOIN specials s USING(products_id), products_options_values couleur, products_options_values taille, products_attributes pa, products p, products_to_categories p2c, categories c
WHERE pd.products_id = ps.products_id
AND pd.products_id = pa.products_id
AND pd.products_id = p.products_id
AND p2c.products_id = pd.products_id
AND p2c.categories_id = c.categories_id
AND c.parent_id = 4
AND SUBSTRING( ps.products_stock_attributes FROM 3 FOR 2 ) = couleur.products_options_values_id
AND SUBSTRING( ps.products_stock_attributes FROM 8 FOR 2 ) = taille.products_options_values_id
AND pa.options_values_id = taille.products_options_values_id
ORDER BY pd.products_name, couleur.products_options_values_id, taille.products_options_values_id ");
while($data = mysql_fetch_assoc($request))
{
if ($data['final_price_promo'] == '') {
$final_price = $data['final_price'];
} else {
$final_price = $data['final_price_promo'];
}
if(($_SESSION['nom'] == $data['products_name']) && ($_SESSION['couleur'] == $data['couleur']) && ($_SESSION['taille'] == $data['taille'])) {
$check = ' checked="checked"';
$quantite = 'value="' . $_SESSION['quantite'] . '" ';
} else {
$check = '';
$quantite = '';
}
echo '<tr>
<td class="directbuy" width="90" align="center"><input type="checkbox" name="select[]" value="p' . $data['products_id'] . 'c' . $data['couleur'] . 't' . $data['taille'] . '-' . $data['products_name'] . '-' . $data['taille'] . '-' . $data['couleur'] . '-' . $final_price . '"' . $check . ' /></td>
<td class="directbuy_ref" width="50">' . $data['products_ref'] . '</td>
<td class="directbuy_nom" width="260">' . $data['products_name'] . '</td>
<td class="directbuy" width="130" align="center">' . $data['couleur'] . '</td>
<td class="directbuy" width="90" align="center">' .$data['taille'] . '</td>
<td class="directbuy_check" width="100" align="center"><input class="quantite" type="text" name="p' . $data['products_id'] . 'c' . $data['couleur'] . 't' . $data['taille'] . '" ' . $quantite . ' /></td>
</tr>';
}
[/code]
Mais la ca ne récupère pas la variable je dois zapper quelque chose...
Bon j'ai essayer pas mal de truc mais rien à faire... j'ai toujours le doublons.
Si possible, encore un petit coup de pouce serai le bienvenue... je suis dans une partie que je maitrise pas du tout :?