| Autor | Zpráva | ||
|---|---|---|---|
| Jany Profil * |
#1 · Zasláno: 25. 12. 2008, 15:12:35
Ahoj,
mám webovský formulář. Odešlu z něj data na PHP skrip, který je má zpracovat. Zpracování spočívá v uložení přijatých hodnot do databáze. data z formuláře jsou ve tvaru: jméno_prvku=hodnota Já chci do databáze ukládat ve tvaru: mysql_query("INSERT INTO $tb values ('jméno_prvku', 'hodnota', 'něco_dalšího', 'něco_dalšího_2')", $spojeni);. Jinými slovy: Z formuláře odešlu data z několika inputů a s různými hodnotami. Při zpracovávání však dopředu neznám jména těch inputů. Do jednoho řádku v databázi chci uložit jak jméno inputu, tak hodnotu v něm. Jak mám tedy přistoupit k těm příchozím datům - přes jméno formuláře? |
||
| Jany Profil * |
#2 · Zasláno: 25. 12. 2008, 15:27:47
Prosím, podívejte se na stránku: http://diskuse.jakpsatweb.cz/index.php?action=vthread&forum=28&topic=8 5260
v jednom mém příspěvku je napsáno: "a uložím to do tabulky dochazka" a to právě teď nevím, jak provést... možná používám úplně chybný postup, ale nenapadá mne, jak to udělat jinak. |
||
| Taps Profil |
#3 · Zasláno: 25. 12. 2008, 16:50:39
Jany
nemáš třeba na mysli že neznáš hodnoty formulářových polí ? podívej se třeba na http://tvorba-webu.zdarek.com/php/formulare.php |
||
| Jany Profil * |
#4 · Zasláno: 26. 12. 2008, 12:21:19
nemáš třeba na mysli že neznáš hodnoty formulářových polí ?
Ne, to nemám na mysli. Neznám totiž ani jména těch formulářových polí. |
||
| YoSarin Profil |
#5 · Zasláno: 26. 12. 2008, 12:31:21
Jany
Jen rychlý nástřel:
$queryString = "INSERT INTO table('id', 'input_name', 'input_value') VALUES %s";
$data = array();
foreach ($_POST as $title => $value) {
$title = mysql_escape_string($title);
$value = mysql_escape_string($value);
$data[] = "(%, '$title', '$value')";
}
if (!empty($data)) {
$queryString = sprintf($queryString, implode(", ", $data));
mysql_query($queryString);
} |
||
| YoSarin Profil |
#6 · Zasláno: 26. 12. 2008, 12:31:55 · Upravil/a: YoSarin
A hned chyba - u jmen sloupečů (závorka za table) nemají být uvozovky :)
EDIT: A ještě to bude chtít nějak ošetřit případná POSTnutá pole - teď by se v tom případě do db uložila jen konverze na string, což tuším je "Array" - vyřešíš to pomocí is_array() a buď json_encode, nebo serialize |
||
|
Časová prodleva: 17 let
|
|||
0