Autor | Zpráva | ||
---|---|---|---|
vojtan Profil |
#1 · Zasláno: 31. 5. 2011, 17:09:04
Vytvořil jsem nákupní košík pomocí session
$_SESSION['kosik'][intval($_GET['id'])] = array('pocet' => intval($_POST['pocet']), 'cena' => intval($_POST['cena'])); A potřebuji vypsat položky z košíku, které se budou vytahovat z databáze pomocí id, ale nevím jak z pole vypsat jednotlivé proměnné, abych měl zvlášť jako proměnou počet kusů, cenu a id. Asi to jde nějak přes funkci foreach, ale nějak to nemůžu zprovoznit. Děkuji za radu |
||
Darker Profil |
#2 · Zasláno: 31. 5. 2011, 17:53:28 · Upravil/a: Darker
$idecka = array_keys($_SESSION["kosik"]); //ciselne jednourovnove pole obsahujici veci v kosiku /**NEBO**/ $idecka=array(); $i=0; foreach ($_SESSION['kosik'] as $key => $value) { $idecka[$i]=array( "ID" => $key, "pocet"=> $value["pocet"], "cena" => $value["cena"] ); $i++; } |
||
vojtan Profil |
#3 · Zasláno: 31. 5. 2011, 18:22:42
A jak to teda vypíšu ty hodnoty, tady mám ukázku kódu a potřebuji z pole získat id, cenu a počet kusů ke každému objednanému produktu
if ($_SESSION["kosik"]) { echo '<table border="0" width="130">'; foreach ($_SESSION["kosik"] as $polozka) { $id = $cena = $pocet = $result = mysql_query("SELECT id, nazev, fotografie, katalog FROM sortiment WHERE id = '$id'"); while ($row = mysql_fetch_assoc($result)) { $id_p = $row["id"]; $nazev = $row["nazev"]; $fotografie = $row["fotografie"]; $cena2 = $cena * $pocet; $total = $total + $cena2; $katalog = $row["katalog"]; $produkt .= $nazev . " (" . $katalog. ") ; "; echo '<tr><td><b>'. $nazev. '</b><br /><img src="sortiment/miniatury/'. $fotografie .'" vspace="5"><br />' . $cena. ',- Kč <a href="kosik_del.php?id=' . $id_p . '"><img src="admin/pics/delete.png" border="0"></a><hr> </td></tr>'; } echo '</table>'; mysql_free_result($result); } } |
||
Darker Profil |
#4 · Zasláno: 31. 5. 2011, 18:28:31
Už jsem to napsal výše, nemám co dodat. Akorát používej
if(isset($variable)) /*místo*/ A taky bych ti doporučil ušetřit si práci tím, že budeš přetypovávat na integer takto: $int=(int)$string; /*místo*/ $int=intval($string); Z toho cos předvedl mám pocit že sis [#2] ani nepřečetl. |
||
DarkMeni Profil * |
#5 · Zasláno: 31. 5. 2011, 18:29:38
WHERE id='".$id."' $id = "1;2;3;4;6;8"; // $_SESSION["id"] $pocet = "1ks10ks5ks4ks1ks2ks"; // $_SESSION["pocet"]; $cena = "20kc100kc50kc10kc3kc5kc"; // $_SESSION["cena"]; $pole_id = explode(";",$id); $pole_pocet = explode("ks",$pocet); $pole_cena = explode("kc",$cena); $sql_query = "SELECT * FROM neceho WHERE id='-1'"; foreach($pole_id as $id){ $sql_query .= " OR id='".$id."'"; } $result = mysql_query($sql_query); $rows = mysql_num_rows($result); if($rows==count($pole_pocet) AND $rows==count($pole_cena)){ echo "<table><tr><td>Produkt:</td>"; while($produkt = mysql_fetch_array($result)){echo "<td>".$produkt["produkt"]."</td>";} echo "</tr><tr><td>Počet:</td>"; foreach($pole_pocet as $pocet){echo "<td>".$pocet."</td>";} echo "</tr><tr><td>Cena:</td>"; foreach($pole_cena as $cena){echo "<td>".$cena."</td>";} echo "</tr><tr><td>Celkem:</td>"; $hodnot = count($pole_cena); for($a=0;$a<$hodnot;$a++){ $cena = $pole_cena[$a]; $pocet = $pole_pocet[$a]; $celkem = $pocet*$cena; echo "<td>".$celkem."</td>"; } echo "</tr></table>"; } |
||
Darker Profil |
#6 · Zasláno: 31. 5. 2011, 18:39:02
DarkMeni:
„ti najde jen jedno idečko“ Jelikož ID představuje jednotlivé výrobky je nanejvýš pravděpodobné, že se v tomto sloupci nevyskutují shodné hodnoty. |
||
Časová prodleva: 13 let
|
0