Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] Zaznaczanie checkboxów..., Gdy istnieje w bazie danych
SandraM
post 5.08.2008, 14:11:30
Post #1





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 21.02.2008

Ostrzeżenie: (0%)
-----


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...

Ten post edytował SandraM 5.08.2008, 14:59:08
Go to the top of the page
+Quote Post
Kicok
post 5.08.2008, 19:25:07
Post #2





Grupa: Zarejestrowani
Postów: 1 033
Pomógł: 125
Dołączył: 17.09.2005
Skąd: Żywiec

Ostrzeżenie: (0%)
-----


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 ;]


--------------------
"Sumienie mam czyste, bo nieużywane."
Go to the top of the page
+Quote Post
SandraM
post 6.08.2008, 08:36:06
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 21.02.2008

Ostrzeżenie: (0%)
-----


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]

Ten post edytował SandraM 6.08.2008, 08:40:30
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 17.06.2025 - 12:33