Autor Zpráva
PecanCZ
Profil
Zdravím, mám tabulku, do které pomocí js kopíruju tento řádek:
<tr class="row_to_clone">
<td style="padding-left: 15px; padding-right: 5px;"><input type="text" name="popis_polozky[0]" class="pole" size="85"></td>
<td width="60" style="text-align: center; padding-left: 5px; padding-right: 5px;"><select name="pocet[0]" class="pole">
<?
for($p=1;$p<=12;$p++) {
echo '<option value="'.$p.'">'.$p;
}
?>
</select></td>
<td width="140" style="text-align: right; padding-left: 5px; padding-right: 15px;"><input type="text" name="cena_jednotky[0]" class="pole" size="7" style="text-align: right;"> Kč</td></tr>


potom při odeslání formuláře se snažím ověřit, kolik těch řádků tam je, ovšem takto mi to nefunguje:
$pocet_poleidc=count($_POST['popis_polozky']);
for ($pom=0;$pom<$pocet_poleidc;$pom++) {

mysql_query("INSERT INTO polozky (`popis`, `pocet`, `cena`, `faktura`) VALUES ('".$_POST['popis_polozky'][$pom]."', '".$_POST['pocet'][$pom]."', '".$_POST['cena_jednotky'][$pom]."', '".$hash."')");

}


proměnná $hash je definovaná dřív a ta je bez problému. Mohl by mi někdo poradit jak to rozchodit? Díky moc
Darker
Profil
No prvně - nedáváš všude name xxx[0]?
Při formulářích s gumovým počtem polí je lepší generovat inputy s name[], php jim pak indexy přiřadí.
PecanCZ
Profil
upravil jsem ty name jak říkáš, ale když si nechám vypsat $pocet_poleidc, tak mi to stejně pořád vypisuje 0
Alphard
Profil
Vypište si celé příchozí pole, ať vidíte, s čím pracujete.
print_r($_POST);
PecanCZ
Profil
Array ( [popis_polozky] => [pocet] => [cena_jednotky] => [ulozit] => ) vypsali mi to toto
Segi_L
Profil
[#1] PecanCZ
Chýba vám v inputu type="text" atribut value
PecanCZ
Profil
Segi_L:
to si myslím, že nebude problém, u option value mám, ale stejně to nic nevypíše
nemeja
Profil
A co mít ještě jeden input hidden který by obsahoval počet políček ;) potom by se do for dala jen hodnota tohoto pole
jenikkozak
Profil
PecanCZ:
vypsali mi to toto

V tom výpisu vůbec není to pole, které chceš zpracovávat. Máš zřejmě chybně formulář. Zkontroluj si, jestli značky <form> a </form> obalují všechny položky, které chceš odeslat.
PecanCZ
Profil
ono je jedno kolik těch políček mám, for tam v tomto případě nehraje moc velkou roli, zkoušel jsem to i bez něj, odesílat jenom jeden řádek, ale i tak to vrátilo prázdný výsledek
nemeja
Profil
Zkus tam dát
<?php
a potom zkontroluj zda máš dobře udělanej formulář. Popřípadě dej větší náhled kodu.
PecanCZ
Profil
formulář je udělaný dobře, zbytek to odesílá, data co patří do faktury se zapíšou do tabulky faktura, ale položky ne, mysql_query je napsaný dobře, zapisuje se do db, ale bez dat
jenikkozak
Profil
PecanCZ:
formulář je udělaný dobře, zbytek to odesílá
Když neposílá data, která chceš, tak asi udělaný dobře není, ne?
PecanCZ
Profil
jenikkozak:
jo, dobře, ale toto je jenom slovíčkaření, data odesílá, ale ne všechna
jenikkozak
Profil
PecanCZ:
To není žádné slovíčkaření. Chápeš, že pokud neodesílá úplně všechna data tak, jak předpokládáš, je chyba v něm?
Přidej prosím kód toho formuláře.
PecanCZ
Profil
kód k náhledu: http://pastebin.com/WTTMZYXv

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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

0