Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z auto-zaznaczeniem checkboxów, ...gdy wpis jest w kilku kategoriach
camelx
post 13.01.2006, 12:41:36
Post #1





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 14.06.2004
Skąd: Warszawa

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


Mam mały problem z systemem newsów. Można w nim dodawać wpis do kilku kategorii i chcę, żeby podczas edycji wpisu automatycznie zaznaczały się odpowiednie chceckboxy z kategoriami. Niestety gdy dadam wpis do dwóch kategorii w ten sposób:
Kod
[ ] kategoria 1
[x] druga
[ ] trzecia
[x] ostatnia
to podczas edycji wyświetla mi się to tak:
Kod
[ ] kategoria 1
[ ] druga
[ ] trzecia
[x] ostatnia
Zaznaczona jest tylko ostatnia kategoria a powinna zaznaczyć się także 'druga'.

Być może to jest jakaś drobnostka, ale był bym bardzo wdzięczny za pomoc w naprawienu tego błędu, bo siedzę nad tym już drugi dzień smile.gif

Poniżej znajduje się (cała) funkcja wyświetlająca listę kategorii. Wrzuciłem całą, żeby nie było żadnych problemów... Miejsce w którym znajduje się kod odpowiedzielny z zaznaczanie chceckboxów zaznaczone jest //komentarzem.
  1. <?php
  2. function make_categories ($catDisplay = 'menu')
  3. {
  4. global $mresult, $e;
  5.  
  6. $sql = "SELECT * FROM ". CATS_TABLE ." ORDER BY cat_id";
  7. if ( !($qresult = mysql_query($sql, $mresult)) ) error ('Nie mozna wybrac kategorii z bazy');
  8. while ($cat = mysql_fetch_array($qresult))
  9. {
  10. if ($catDisplay == 'menu')
  11. {
  12. $cat_list .= links ('?c='.$cat['cat_id'], $cat['cat_desc']).'
  13. <hr />';
  14. }
  15. elseif ($catDisplay == 'list')
  16. {
  17. $sql2 = mysql_query("SELECT * FROM ".N2C_TABLE." WHERE news_id = '$e' ");
  18. while ($ncat = mysql_fetch_array($sql2))
  19. {
  20. // tu tkwi caly problem!
  21. if ( $cat['cat_id'] == $ncat['cat_id'] ) $cat_sel = 'checked="checked"';
  22. else $cat_sel = '';
  23. }
  24.  
  25. $cat_list .= '<input type="checkbox" name="cat[]" style="display: inline;" value="'.$cat['cat_id'].'" '.$cat_sel.' /> '.$cat['cat_desc'].'<br />';
  26. }
  27. elseif ($catDisplay == 'config')
  28. {
  29. $cat_list .= '<input type="checkbox" name="cat[]" style="display: inline;" value="'.$cat['cat_id'].'" /> '.$cat['cat_desc'].'<br />';
  30. }
  31. }
  32. return $cat_list;
  33. }
  34. ?>


--------------------
windows nie jest wirusem... wirusy coś robią :)
Go to the top of the page
+Quote Post

Posty w temacie


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: 18.07.2025 - 02:05