Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Zaznaczanie checkboxów...
Forum PHP.pl > Forum > Przedszkole
SandraM
Mam listę poszczegółnych elementów - które mozna zaznaczać o odznaczać checkboxami...
Jak zaznaczam wiele checkbox wpisuje mi je do bazy...
A gdy chcę wyswietlić wyniki zaznaczony mam tylko jeden - pierwszy element...

Jak można poprawić żeby pokazywało wszystkie wczesniej zaznaczone checkboxy?
Wiem że SELECT wywołuje tylko raz - więc w sumie logiczne że pokaże tylko pierwszy element... tylko nie mam pomysłu jak można pokazać resztę?

CODE
<?
$q=mysql_query("SELECT * FROM c WHERE x_id='".$b."'");
$rop=mysql_fetch_array($q);

$p=mysql_query("SELECT * FROM z where status='aktywny'");
while ($r=mysql_fetch_array($p)){
?>
<input name="z_id[]" type="checkbox" value="<? echo $r['id'];?>" <? if($r['id']==$rop['z_id']) { ?> checked="checked" <? } ?> />
<? }?>
... Dalsza część skryptu ...
<?
for ($i=0; $i<count($z_id); $i++) {
$sql2.="INSERT INTO c (z_id, x_id) VALUES (".$z_id[$i].",".$_POST['x_id'].")";
$result2=mysql_query($sql2);
}
?>


Zrzut tabeli c
Kod
+----+--------------+
| id | z_id  | x_id |
+----+--------------+
| 51 | 2     | 2    |
| 52 | 4     | 2    |
| 45 | 2     | 3    |
+----+--------------+


Jeszcze wykombinowałam coś takiego:
CODE
<? $q=mysql_query("SELECT * FROM c WHERE x_id='".$_GET['b']."'");
while($rp=mysql_fetch_array($q)){
if($r['id']==$rp['z_id']) { ?>
<input name="z_id[]" type="checkbox" value="<? echo $r['id'];?>" checked="checked" />
<?
} else { ?>
<input name="z_id[]" type="checkbox" value="<? echo $r['id'];?>" /><?
}
}?>

Ale teraz mam tyle checkboxow przy jednej opcji ile mam wpisow w bazie...
Kicok
Najpierw pobierz sobie te z_id z bazy danych i zapisz w jakiejś tymczasowej tablicy. Później podczas wyświetlania checkbox-ów sprawdzaj, czy dane ID znajduje się w tej tablicy. Jeśli tak, to dodaj checked="checked" do checkbox-a.

To jest taki ogólny schemat działania, który powinien cię nieco naprowadzić. Czy jest dokładnym rozwiązaniem twojego problemu, tego nie wiem. Nie chce mi się rozszyfrowywać do czego służy c, z, z_id, a do czego x_id ;]
SandraM
to sa nazwy tabel i kolumn
w c sa powiazania [id] z_id i x_id
w z sa dane zetki [tam sa dane przypisane do id]

tabela z mniej wiecej tak wyglada:
Kod
+----+---------------+
|  id | nazwa | opis |
+----+---------------+
|  1  | dane  | dane |
+----+---------------+


tabela x też wygląda tak samo:
Kod
+----+---------------+
|  id | nazwa | opis |
+----+---------------+
|  1  | dane  | dane |
+----+---------------+


A tabela c łączy tabele x i z po id [x_id, z_id]
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.