Autor Zpráva
Okcomp
Profil *
Dobrý den měl bych takový problém :-(

Mám formulář kde mám dva a více chackboxů a potřebuji jejich výsledek zapsat do jedné buňky

část formuláře z chatboxy :

<div id="formulare">
  <label>Angličina
  <input type="checkbox" name="anglictina" value="angličtina" />
  </label>
  <label>Němčina
  <input type="checkbox" name="nemcina" value="němčina" />
  </label>
</div>


a jak mám napsat aby se tyto dvě hodnoty uložili v databázy do jedné buňky?
děkuji moc za rady
tiso
Profil
Okcomp - nie je to dobrý nápad, ale keď inak nedáš:
<div id="formulare">
  <label>Angličina
  <input type="checkbox" name="lang[]" value="angličtina" />
  </label>
  <label>Němčina
  <input type="checkbox" name="lang[]" value="němčina" />
  </label>
</div>


$language='';
if(isset($_POST['lang'])){
  $language=implode(';' $_POST['lang']);// ; je oddelovac, mozes pouzit iny
}
//vlozenie do databazy:
Okcomp
Profil *
a proč to není dobrý nápad? jak by si to řešil ty?
tiso
Profil
Cez viac tabuliek
Okcomp
Profil *
ještě je někde chyba v zápisu :
$language='';
if(isset($_POST['lang'])){
  $language=implode(';' $_POST['lang']);// ; je oddelovac, mozes pouzit iny
}


na řádku $language=implode(';' $_POST['lang']); my to hlásí Parse error unexpected T_VARIABLE nevím proč zápis se mi zdá správný!!!

víte někdo?
tiso
Profil
$language=implode(';', $_POST['lang']);
Okcomp
Profil *
už jsem to našel chybí tam čárka mezi oddělovačem a hodnotou v implode ..

ale i poté mi to nechodí tak jak by mělo jelikož se mi do databáze napíše místo jednotlivých hodnot hodnota Array???? proč?
Okcomp
Profil *
chybu už jsem odstranil nevšimnul jsem si písmenka navíc v proměné při ukládání děkuji moc
tiso
Profil
Okcomp - do db máš ukladať $language a nie $_POST['lang']
bohyn
Profil
Okcomp
a proč to není dobrý nápad? jak by si to řešil ty?
Co treba to resit pres bitove priznaky? Zalezi na tom co s tim chces delat. Vyber z databaze je pak jednoduchy a rychly, trochu obtiznejsi je pak vypisovani.

<div id="formulare">
  <label>Angličina
  <input type="checkbox" name="lang[]" value="1" />
  </label>
  <label>Němčina
  <input type="checkbox" name="lang[]" value="2" />
  </label>
</div>

define("ANGLICTINA", 1);
define("NEMCINA", 2);
// define("RUSTINA", 4);
// ...
$language=0;
if(isset($_POST['lang'])){
  $language = array_sum($_POST['lang']);
}

if($language & NEMCINA) {
  echo "Nemcina";
}

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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