| Autor | Zpráva | ||
|---|---|---|---|
| mart007 Profil * |
#1 · Zasláno: 17. 7. 2009, 09:42:39
Ahoj, prosim o pomoc s vkladanim dat z formulare do mysql
Problem je v tom ze se mi do databaze vlozi pouze prvni zaznam a nejsem schopen prijit na to jak udelat jednoduse system vlozeni vsech zaznamu do DB (v cyklu mi to nefunguje :-( spis nevim jak to dobre v tomto pripade zapsat). Jde mi hlavne o to vlozeni pomoci formulare - ze souboru neni problem pouzit funkci fgetcsv(). Predem dekuji za pomoc Data vlozena do formulare: Karel;Vomacka;123 Jana;Vomackova;321 Jan;Skocdopole;587 Data odeslu z formulare zachytim, rozdelim a vlozim je do prislusne tabulky
$data = $_POST['text'];
$radky = explode('\n', $data);
foreach ($radky as $radka)
{
$pole = explode(';', $radka);
$jmeno = trim($pole[0]);
$prijmeni = trim($pole[1]);
$cislo = trim($pole[2]);
$sql = "INSERT INTO test(jmeno,prijmeni,cislo) values('$jmeno','$prijmeni','$cislo')";
$result = mysql_query($sql);
}
|
||
| sysel Profil |
#2 · Zasláno: 17. 7. 2009, 10:53:02
Prosím, čemu říkáte "formulář"? Pokud jsou "data" zadávaná do jednotlivých <INPUT>ů, pak není třeba nic explodovat, protože je vše již rozloženo. Pokud jako formulář používáte jen jednu textarea, pak si zbytečně přiděláváte práci a hlavně riskujete, že uživatel udělá v zápise chybu. Ale když už to musí být, zkusil bych něco s funkcí ereg().
Hezký den |
||
| mart007 Profil * |
#3 · Zasláno: 17. 7. 2009, 11:13:43
Ano formular mysleno jedna textarea - v jednotlivych inputech neni problem. Vim ze je to slozitejsi, ale nechme stranou pokud uzivatel udela chybu. Jde mi o to jak to udelat aby to fungovalo. Dekuji
|
||
| Alphard Profil |
#4 · Zasláno: 17. 7. 2009, 11:24:32
mart007:
Je to špatně uvozené, musíte dát $radky = explode("\n", $data);A pak bude lepší: // ...
$insert[] = "('$jmeno','$prijmeni','$cislo')";
}
$sql = "INSERT INTO test (jmeno,prijmeni,cislo) values ".implode (", ", $insert); |
||
| mart007 Profil * |
#5 · Zasláno: 17. 7. 2009, 12:10:22
Alphard:
Diky moc, funguje to bez problemu :-) |
||
|
Časová prodleva: 17 let
|
|||
0