Autor Zpráva
petrr
Profil *
Ahojky potřebuji poradit - mám select, v databázy zadaný typ VARCHAR - jakým způsobem to nastavit aby se to ukládalo do db

Zasílám ukázky kódu:

html:
<select name"barva"><option value="0" >Vybrat barvu:</option><option value="Z"  >Žlutá</option><option value="M"  >Modrá</option></select>


php:
$barva=strip_tags($_POST['barva']);

$queryreg = mysql_query("

INSERT INTO uzivatele VALUES ('barva')

");



když provedu tento příkaz do databáze se ukládají ostatní data ale tato se neuloží - jak to udělat? Děkuji
AM_
Profil
petrr:
do databáze se ukládají ostatní data ale tato se neuloží
Která ostatní data?

Tvůj kód na mě působí, že máš v databázi tabulku "uzivatele" o jediném sloupci, do kterého ukládáš řetězec 'barva' (wtf? co nějaké ID uživatele? jméno?)
Pravděpodobně jsi chtěl něco jako:
mysql_query("INSERT INTO `uzivatele` (`barva`) VALUES ('$barva')");

s tím, že to řeší pouze syntaxi dotazu (mohl jsi si nastudovat i pomocí google! plácat syntaxi od boku a divit se, že to nefunguje, není správná cesta).
V tom, že zde ukládáš do jediného sloupce a nespojuješ to s žádným konkrétním uživatelem, což se mi zdá dost nesmyslné, ti těžko pomoct, protože nevím, co to má dělat.


+ nechápu význam funkce strip_tags, ani se nedá říct že by to něčemu škodilo ani prospívalo, je to tam dost divně a zbytečně
petrr
Profil *
Ano máte pravdu - ukládá se tam více dat - nechtěl sem sem právě vkládat ať tu toho není tolik když se dotazuji na toto. Do databáze se ukládají data typu:id, jméno, heslo a tato barva - jen mi dělá problémy protože je v select (a ten má více hodnot - žlutá, modrá).


$barva=($_POST['barva']);

INSERT INTO uzivatele VALUES ('','$jmeno','$heslo','$barva')


A když právě přidám: $barva - tak v databazi zůstane prázné políčko.

v databázi mám nastaven typ pro toto pole varchar o velikosti 10 znaků - nebo je to špatně? děkuji
AM_
Profil
Zkus to takto (s tím, že před VALUES napiš jména sloupců tak, jak je máš v DB):
mysql_query("INSERT INTO uzivatele (`jmeno`, `heslo`, `barva`) VALUES ('$jmeno','$heslo','$barva')");

a dále si ověř, že do proměnné $barva opravdu doputuje to, co jsi chtěl (vypiš si echo $barva)
petrr
Profil *
Když dám vypsat:
echo $barva;
tak se mi tam nic neuloží, včem by mohla být ještě chyba? děkuji
xmark
Profil
Když dám vypsat:
tak se mi tam nic neuloží,


??
Vypíše se něco?
petrr
Profil *
už sem na to přišel, děkuji za pomoc.

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