[ igorkr @ 19.01.2011. 01:38 ] @
Imam multiselect check box na html/php form koji pošilja vrednosti u Mysql.
Checkbox del kode je:

<?
$q = mysql_query ("SELECT * FROM users WHERE user != '$user'") or die (mysql_error());
while ($row = mysql_fetch_object($q)) //u tabeli users imam više usera, $user je pa trenutno logirani
{

echo "<input type=\"checkbox\" name=\"user[]\" value =\"$row->id\">$row->name $row->surname<br>";

}
?>


insert izgleda ovako:

$id_new = mysql_insert_id(); //ovo dobijem od predhodnega inserta
$user = $_POST['user'];

foreach ($user as $nesto)
{
$sql=" INSERT INTO new_table (id_new, id_user, col_yes)
VALUES('" . $id_new. "','" . mysql_escape_string($nesto) . "', '0')";

$res=mysql_query($sql);
}


Na ovaj način u new_table se upišu selektirane usere (selektirane check boxe)
Interesira me kako da editiram ovaj deo. Kada idem na edit i se otvori forma da useri koji su bili selektirani da isto budu selektirani i da mogu da jih promenim - da selektiram druge ili deselektiram predhodne.

Hvala
[ VladaSu @ 25.01.2011. 18:13 ] @
Tamo gde radis select odradis i LEFT JOIN na new_table i tako dobijes rezultate koji su selektovani.
Kada ispisujes chacbox proveris da li ima rezultat na new table i ako ima stavis checked="true".
Kada ponovo hoces da sacuvas izmene prvo izbrises sve iz new_table za tog usera pa onda insertujes ponovo sto je selektovano.
Ili izcitas sta imas u bazi i onda uporedis sa onim sto ti je predato preko posta i onda oduzmes iz baze sto treba a sto treba dodas.