[ kelja @ 31.05.2006. 18:48 ] @
Zdravo.
Potrebna mi je vasa pomoc oko sledece stvari:
na jednoj formi imam gomilu checkboxova.U bazi sam napravio (u tabeli koja prima ostale podatke sa forme)jedno polje kom sam dao sledeci type:longtext.Tako da moze da primi vrednost svih 50 checkboxova ako je potrebno...Znaci,checkboxovima sam dao(u HTML delu)vrednosti koje se ispisuju u bazi kao vrednost1,vrednost2...itd.Medjutim,jedan poznanik mi je sugerisao da to i nije najbolje resenje,i da moze otezati pretrazivanje baze,koje bi trebalo da usledi.Pomenuo je binarno kodiranje(au baco!)i jos neka resenja koja se svode na to da u bazu(u polje) ne unosim vrednosti tipa:vrednost1,vrednost2 nego da svaki checkbox ima samo dve moguce vrednosti-DA i NE...Sta da uradim?Kako da onda obezbedim human readable ispis?
Hvala unapred!
Ako moze pomoci forma je ovde:
http://www.sinisa.milicevici.com/BADGIRL/intform2.html
Pogledajte sekciju services...razumecete moju upostenost kad sam govorio o vrednostima checkboxova
[ inzenjer2005 @ 31.05.2006. 19:11 ] @
Svaki od checkboxova moze imati jednu od dve mogucnosti i zato svakom treba napraviti posebno polje u tabeli u bazi, koje ce biti boolean, a ti onda na osnuvu vrednusti checkboxova (true/false ili 1/0) vrsis ispise. Znaj da bi bilo skroz pogresno da vrednosti svih checkboxova cuvas u jednom polju koje bi bilo longtext.
[ w3bl0rd @ 31.05.2006. 19:53 ] @
kad radiš inputi svi nek budu polja! znači
<input name="checkboxes[]"...
<input name="checkboxes[]"...
<input name="checkboxes[]"...


tako je puno lakše sa jednom foreach petljom dobiješ van sve!
[ kelja @ 31.05.2006. 20:44 ] @
Da,...znaci moram da pravim posebno polje za svaki-OK.


Citat:
w3bl0rd: kad radiš inputi svi nek budu polja! znači
<input name="checkboxes[]"...
<input name="checkboxes[]"...
<input name="checkboxes[]"...


tako je puno lakše sa jednom foreach petljom dobiješ van sve!

Da,to sam i uradio(<input name=service[]),:-)

HVALA!
[ Leftfield @ 31.05.2006. 21:22 ] @
<input name="check1" type="checkbox" id="check1" value="1">
<input name="check2" type="checkbox" id="check2" value="2">
[ w3bl0rd @ 01.06.2006. 14:24 ] @
upravo smo rekli da je to beveze koristiti i ti ga sad daviš time! KAD imaš puno izbora ovo se nemože tak raditi! to je glupost!
sa poljima to ide puno ljepše...
[ kelja @ 01.06.2006. 15:29 ] @
Samo da objasnim jos jednom-nije meni problem bio pokupiti vrednosti sa checkboxova...Svaki checkbox je naravno elemenat niza:service[].A onda pomocu ova tri retka ispisujem to i saljem putem maila:
Code:
if(isset($_POST['service']))
$services=implode("\n",$service);
$message.="$services";

Pitanje je bilo kako na najracionalniji,najsvrsishodniji nacin staviti te podatke u bazu,tako da to olaksa i ucini uspesnim njeno buduce pretrazivanje koje sledi(trebalo bi da se baza pretrazuje pomocu jedne search forme).U tom smislu-Vojislav je dao jedan od mogucih odgovora.
[ Leftfield @ 01.06.2006. 17:17 ] @
@w3bl0rd

Ok. U pravu si. Necu koristiti ton kakav ti koristis, mada....
Upisao sam jer ce jos neko citati ko slabije od mene, a jos manje od ljudi koji odje odgovaraju, zna o cemu ste pricali.

Izvinjavam se svima zbog neobjasnjavanja.
[ w3bl0rd @ 01.06.2006. 19:55 ] @
ma koji ton.... :D nečujem ja sebe...
samo sam bio jasan nisam želio VIKATI na nekoga... :D
[ kelja @ 01.06.2006. 23:02 ] @
Da ne otvaram novu temu...Resio sam da stavim 0/1 u jedno polje...Medjutim...to ne ide tako lako kako sam zamisljao...
Code:

$isp=array();
for($i=1;$i<57;$i++)  {
if($service[$i]=="1") {
array_push($isp,$s[$i]);
$zaispis=implode("<br> \n",$isp);
}
if(!isset($service[$i])){
$service[$i]="0";
}
$checked=$service[$i];
//echo($checked);
}

E sad...$s= niz koji drzi tekstualne vrednosti checkboxova,$za ispis-string koji cu da ubacim u mail,problem je kod sledeceg:
$checked...trebalo bi da ubaci 0000000000000011111...(ili nesto slicno)u bazu...Kad testiram,pomocu komande echo-sve radi,ali u bazu ulazi samo jedna NULA.
E da u html delu forme morao sam da napravim izvesne izmene:
<input name="service[1]" type="checkbox" value="1">
<input name="service[2]" type="checkbox" value="1">...itd.
[ kelja @ 01.06.2006. 23:59 ] @
Hm...ne znam da li je ovo neko nekadf radio ovako...ali najbitnije je da funkcionise:
Code:

$isp=array();
$zabazu=array();
for($i=1;$i<57;$i++)  {
if($service[$i]=="1") {
array_push($isp,$s[$i]);
$zaispis=implode("<br> \n",$isp);
}
if(!isset($service[$i])){
$service[$i]="0";
}
//$checked=$service[$i];
array_push($zabazu,$service[$i]);
$zabazu2=implode("",$zabazu);
}

Sad sve lepo radi.