Přenášení proměnných (array) – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Přenášení proměnných (array) – PHP – Fórum – Programujte.comPřenášení proměnných (array) – PHP – Fórum – Programujte.com

 

TomasRe
~ Anonymní uživatel
2 příspěvky
28. 1. 2015   #1
-
0
-

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]

Nahlásit jako SPAM
IP: 212.47.15.–
TomasRe
~ Anonymní uživatel
2 příspěvky
28. 1. 2015   #2
-
0
-

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...

Nahlásit jako SPAM
IP: 212.47.15.–
Kit+15
Guru
28. 1. 2015   #3
-
0
-

#2 TomasRe
Kdyby to bylo čitelné, tak by ti možná někdo i poradil.

Nahlásit jako SPAM
IP: 147.229.242.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 74 hostů

Podobná vlákna

Objasneni promennych v array — založil shockwave

Záměna proměnných — založil Anonymní uživatel

Výpis proměnných — založil Akk

 

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