Autor Zpráva
kokolino
Profil *
Čawte
mám spravený nakupný košík ide mi tam všetko až na jednu vec, ak pridám dva krát tú istú položku tak sa mi počet tovaru prepíše a neviem ako spraviť, aby s zrátal. Mohli by ste ma nasmerovať ako to mam spraviť

produkty.php
<?php
session_start();
$produkty["dr01"] = array("robot1", "Skvelý domáci robot na miešanie cesta", "1", "2 hodín"); 
$produkty["dr02"] = array("robot2", "Ešte lepší robot na miešanie cesta", "2", "4 hodín"); 
?>


pridaj_do_kosika.php
<?php

require_once("produkty.php"); 
if (count($produkty) > 0) 
{ 
	if (isset($_POST['produkt']) && count($_POST['produkt']) > 0)
	{ 
		foreach ($_POST['produkt'] as $key=>$value)
			{ 
			if (preg_match('/^[1-9]{1,8}$/',$value)) 
				{ 
				$key = trim(htmlspecialchars(strip_tags($key))); 
				foreach ($produkty as $pkey=>$pvalue)
					{ 
					if ($pkey == $key)					
						{ 
						$_SESSION['produkt'][$pkey] = $value;	
						$bl="index.php";
						header("location: $bl");
						} 
					} 
				} 
				elseif(preg_match('/^[0]$/',$value)){echo"nemozete zadat pocet tovaru rovny 0";}
				else {echo"nezadali ste pocet tovaru";}
				
			}	 		
	}			
} 
else 
	{ 
  echo "V ponuke zatiaľ nie sú žiadne produkty!"; 
	}
	
?>


a vypis.php
<?php
require_once("produkty.php"); 
if (isset($_SESSION['produkt']) && count($_SESSION['produkt']) > 0) 
{ 
	echo " 
    <table border ='1'> 
      <caption>Obsah vášho košíka: </caption> 
      <tr> 
        <th>Produkt</th> 
        <th>Cena za 1 ks</th> 
        <th>Počet ks</th> 
        <th>Cena celkom</th> 
        <th>Odstránenie</th> 
      </tr> 
	"; 
$cena_celkom = 0; 
	foreach ($_SESSION['produkt'] as $key=>$value) { 
	$cena_celkom = $cena_celkom + ($produkty[$key][2]*$value);  
	echo"<font color='red'>$key &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $value<br /></font>";
	echo " 
      <tr> 
        <td>".$produkty[$key][0]."</td> 
        <td>".$produkty[$key][2]."</td> 
        <td>".$value."</td> 
        <td>".($produkty[$key][2]*$value)."</td> 
        <td><a href=\"vymaz_produkt.php?id=".$key."\">Vymazať</a></td> 
      </tr> 
	";
	 } 
  echo " 
      <tr> 
        <td colspan=\"3\">Celková cena nákupu: </td> 
        <td>".$cena_celkom."</td> 
      </tr> 
    <table> 
  "; 
} 
else 
	{ 
  echo "Váš nákupný košík je prázdny!"; 
	}
?>
tiso
Profil
kokolino: robíš to zbytočne zložito… Košík by mal byť pole v tvare product_id => pocet_kusov, takže tieto údaje by si si mal vracať aj z formulára.
ninja
Profil
Řádek 17 pridaj_do_kosika.php:

$_SESSION['produkt'][$pkey] += $value; 
kokolino
Profil *
ninja:
diki funguje to

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0