[ sasa03 @ 06.02.2007. 01:08 ] @
Proćitao sam temu dinamicki generisani CheckBox-ovi i provera stanja?(http://www.elitesecurity.org/t67619), ali
me zanima kako bi se dinamički generirali CheckBox-ovi u kombinaciji PHP/MySQL

Neke od novosti trebale bi se prikazat na početnoj stranici.
Pomoću podataka iz CheckBox-ova za koje unapred ne znam koliko će ih bit (jer se novosti vuču iz baze) trebao bi se formirati upit.

Tabela novosti izgleda:

id | naslov | tekst | izdvojeno



<?
include"dbspoj.php";

if (!$_POST["SBuredi"]){

?>

<form id="form1" name="form1" method="post" action="">

<?

$sql="SELECT * FROM novosti";
$q=mysql_query($sql);

while ($podaci=mysql_fetch_array($q))

{

if ($podaci['izdvojeno']==1){

$x="checked='checked'";
}else{
$x="";
}

?>

<?=$podaci['naslov'] ?><input type="checkbox" name="<?=$podaci['naslov'] ?>" value="1" <?=$x ?>><br>


<?

}
?>

</form>
<input type="submit" name="SBuredi" value="Pohrani">


<?

}else{


$sql1="UPDATE sho SET izdvojeno=...
$result=mysql_query($sql)
or die(mysql_error());



}

?>

Unapred hvala
[ glavince @ 07.02.2007. 12:20 ] @
A zasto odgovor za PHP si trazio u forum za NET?
U php-u to bi bilo ovako.
Prvo treba da napravis array od checkboxova na sledeci nacin
Code:

<input type="checkbox" name=podaci"[<? echo $podaci['id'];?>]" value="1" <? echo $x;?>>

Obrati paznji na <b>[]</b> i ako koristis echo vise ces pomoci serveru oko performansi nego sa <?=
Puno jednostavnije je da koristis id posto logicki je da bude primary unikatan, a naslov moze i da se ponavlja.

Znaci sada ces imati array od checkboxova.

Array mozes da obradis sa foreach petljom:
Code:

foreach($_POST['podaci'] as $podaci => $value) {
$sql1="UPDATE sho SET izdvojeno= '".$value."' where id = '".$podaci."'";
}

Prouci array i foreach na http://www.php.net/
[ sasa03 @ 09.02.2007. 17:03 ] @
Hvala na pomići, ali još ne ide.

Napravio sam array od checkboxova koji mi ispisuje:

<input type="checkbox" name=podaci"[1]" value="1" checked='checked'><br>
<input type="checkbox" name=podaci"[2]" value="1" checked='checked'><br>
<input type="checkbox" name=podaci"[3]" value="1" ><br>
<input type="checkbox" name=podaci"[4]" value="1" ><br>
<input type="checkbox" name=podaci"[5]" value="1" ><br>
<input type="checkbox" name=podaci"[20]" value="1" ><br>



Znam da je sadržaj iz value sadržaja iz name.

Znaći $_POST['podaci"[5]"'] je 1

Kako misliš da $_POST['podaci'] prihvaća podatke iz name?



[ glavince @ 09.02.2007. 17:43 ] @
Izvini napravio sam malu gresku u pisanju:
Umesto:
<input type="checkbox" name=podaci"[5]" value="1" ><br>
je
<input type="checkbox" name="podaci[5]" value="1" ><br>

a $_POST['podaci']['5'] je 1