Autor | Zpráva | ||
---|---|---|---|
speacker Profil * |
#1 · Zasláno: 26. 1. 2007, 18:21:12
Mám input, kam napíšu číslo (např n) a n-krát se vykoná příkaz, který mi vypíše
několik inputů. Kousek kódu if (isset($_POST['count'])){ for($i = 1; $i <= $_POST['count'];$i++){ echo "<tr>"; echo "<td width="7%"><input type="text" size="6" name="a".$i."" /></td>"; echo "<td width="25%"><input type="text" size="20" name="b".$i."" /></td>"; echo "</tr>"; } } A teď potřebuju záznamy uložit do DB, ale nedokážu sestavit správný skript, aby se tam vložili všechny prvky v polích. Pokud bude n=5, udělá se mi 5 inputů pod sebe, chci, aby se do DB uložilo 5 řádků se všemi hodnotami. Tzn. mam 2 sloupce A-B a potrebuju ulozit a1-b1; a2-b2; a3-b3; ... Díky za každou radu, Speacker |
||
25k Profil * |
#2 · Zasláno: 26. 1. 2007, 18:24:08
a k cemu to ma slouzit? pole do db muzes ulozit pomoci fce serialize();
|
||
speacker Profil * |
#3 · Zasláno: 26. 1. 2007, 18:51:22
Potřebuju si sám zvolit, kolik budu záznamů potřebuju uložit a podle toho vyvolám tolikrát ten kód. A pak klasický INSERT INTO.... Ale tady nastává problém :)
|
||
krteczek Profil |
#4 · Zasláno: 26. 1. 2007, 20:39:05
jo takhle to má být pět nových řádků v databázi :-)
takže názvy jednotlivých polí formuláře mají tvar: a1, b1, a2, b2, ...? skus použít pole a[] >>> <input type="text" name="a[]"... tak a potom něco na ten způsob: for($i = 0; $i < count($a); $i++) { //nejprve si ošetři vstupní hodnoty a[$i] a b[$i] $dotaz = "INSERT INTO `tabulka` (`jmeno`,`popis`) values ('" . addslashes($a[$i]) . "', '" . addslashes(b[$i]) . "')"; ... } krteczek |
||
speacker Profil * |
#5 · Zasláno: 26. 1. 2007, 21:53:28
Tak jsem se dostal k takovému šílenému kódu :
inputy jsou pojmenovany a[$i], b[$i] $acko=$_POST['a']; foreach ($acko as $key1 => $a){ $becko=$_POST['b']; foreach ($becko as $key2 => $b){ for($i = 0; $i < count($a); $i++){ for($i = 0; $i < count($b); $i++){ $vysledek = mysql_query("INSERT INTO tabulka (a,b) VALUES('" . addslashes($a[$i]) . "', '" . addslashes($b[$i]) . "')"); }} }} Chybu to sice nevypíše, ale nic se neuloží (ani se tomu nedivim...) Poradíte ještě někdo, díky :D |
||
krteczek Profil |
#6 · Zasláno: 27. 1. 2007, 11:23:05
Nepochopil jsi mne...
Názorný příklad:
snad tohle pochopíš ;-) krteczek |
||
speacker Profil * |
#7 · Zasláno: 27. 1. 2007, 13:39:27
Dik moc, ale stejně je tu ještě jeden problém... V DB se to neukládá tak jak potřebuju. Teď se uloží všechny a[] se vsemi b[] ( třeba a[1] + b[1], a[1] + b[2], a[2] + b[1],....) a já potřebuju jen stejný čísla k sobě :-(
|
||
krteczek Profil |
#8 · Zasláno: 27. 1. 2007, 14:57:44
speacker:
Pamatuj na ošetření vstupů... krteczek |
||
speacker Profil * |
#9 · Zasláno: 27. 1. 2007, 16:39:01
Díky moc za ochotu a trpělivost :-)
|
||
Časová prodleva: 14 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0