Anonymní profil TomasRe – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Anonymní profil TomasRe – Programujte.comAnonymní profil TomasRe – Programujte.com

 

Příspěvky odeslané z IP adresy 212.47.15.–

TomasRe
PHP › Přenášení proměnných (array)
28. 1. 2015   #198477

Už jsem na to přišel. Je to moje chyba. Zapomněl jsem v odesílacím formuláři přidat závorky [$id], proto se to nebralo jako řada, ale jako name1, name2 apod...

TomasRe
PHP › Přenášení proměnných (array)
28. 1. 2015   #198474

Prosím o radu a schovívavost. S řadami array nejsem úplně kamarád a popravdě jim moc nerozumím, i když zkouším pročítat co se dá... Mám formulář, kde se zadávají proměnné osob a dny - podle čeho se vypočítávají další hodnoty. První stránka - zadám počet osob a dny. Na druhé stránce mi vypočítá potřebná data a vypíše všechny tyto hodnoty + je zde formulář s dopňujícíma informacema (například jméno). To by mělo jít na další (konečnou stránku), kde by se měly všechny tyto hodnoty zobrazit (jde mi tedy především o počet osob a dní z úvodní stránky). Tyto hodnoty se mi ale nedaří předat až na tu 3 stránku:

[pre]
<?php include "db.php"; ?>
<?php // KONEČNÝ VÝSTUP
if(isset($_POST["objednat"])) {
if ($_POST['posob']!=0){
foreach($_POST['posob'] as $id => $pocet_osob)
{
    if($pocet_osob!=0)
    {
        $vysledek = mysql_query("SELECT * FROM cenik_ponor WHERE id=$id ORDER BY poradi");
        while ($zaznam = mysql_fetch_array($vysledek)){$cena=$zaznam['cena'];$text=$zaznam['text'];}
        $ponor_suma[$id]=$pocet_osob*$cena*$_POST['dni'][$id];
        echo $text.", pocet osob: ".$pocet_osob.", pocet dni: ".$_POST['dni'][$id].", cena: ".$ponor_suma[$id]."<br>";
    }
}}else {echo"chyba";}
} ?>
<?php // KALKULACE
if(isset($_POST["odeslat"])) {

if ($_POST['posob']!=0){
foreach($_POST['posob'] as $id => $pocet_osob)
{
    if($pocet_osob!=0)
    {
        $vysledek = mysql_query("SELECT * FROM cenik_ponor WHERE id=$id ORDER BY poradi");
        while ($zaznam = mysql_fetch_array($vysledek)){$cena=$zaznam['cena'];$text=$zaznam['text'];}
        $ponor_suma[$id]=$pocet_osob*$cena*$_POST['dni'][$id];
        echo $text.", pocet osob: ".$pocet_osob.", pocet dni: ".$_POST['dni'][$id].", cena: ".$ponor_suma[$id]."<br>";
    }
}}
if ($ponor_suma!=0)
{echo "CELKEM: ".array_sum($ponor_suma);}
?>
<form id="formular" action="" method="post" onsubmit="return test()">
<?php // FORMULÁŘ 2
echo "jmeno: <input type='text' name='jmeno'>";
if ($_POST['posob']!=0){
foreach($_POST['posob'] as $id => $pocet_osob)
{
    if($pocet_osob!=0)
    {
        $pocet_dni = $_POST['dni'][$id];
        echo "<input type='hidden' name='posob".$id."' value='".$pocet_osob."'> <input type='hidden' name='dni".$id."' value='".$pocet_dni."'><br>";
    }
}}
?>
<input type="submit" name="objednat" value="objednat">
</form>
<?php }
else { // FORMULÁŘ 1
?>
<form id="formular" action="" method="post">
<?php
$opt_dni=$opt_osob='';
for ($k=0;$k<15;$k++) $opt_osob.="<option value='".$k."'>".$k."</option>";
for ($k=1;$k<15;$k++) $opt_dni.="<option value='".$k."'>".$k."</option>";
 
$vysledek = mysql_query("SELECT * FROM cenik_ponor WHERE cena!=0 ORDER BY poradi");
while ($zaznam = mysql_fetch_array($vysledek))
{echo $zaznam['text']. "<select name='posob[".$zaznam['id']."]'>".$opt_osob."</select> dní: <select name='dni[".$zaznam['id']."]'>".$opt_dni."</select><br>";}
?>
<input type="submit" name="odeslat" value="Spočítat">
</form>
<?php } ?>
[/pre]

 

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý