Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql] Zapis do bazy ustawienia Radiobuttona
rja
post
Post #1





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 8.12.2006

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


Witam,
Mam bazę danych z listą stron i chciałbym za pomocą formularza ustawiać która strona ma się wyświetlać jako główna. W bazie danych domyślnie dla pola "strona_g" jest zero. Po zaznaczeniu w formularzu chciałbym przypisać tej stronie 1.
Nie wiem do końca jak mam przesyłać tę tablicę.
  1. <?php
  2. if (isset($_GET["akcja"])=='ustaw'){
  3.  
  4.  //tu są jakieś błędy
  5.  
  6. for($i=0;$i<count($_POST['sg']);$i++) {
  7. $id = $_POST['sg'][$i];
  8. if ($_POST['sg']=checked){
  9.  
  10. $g="1";
  11. }else{
  12. $g="0";
  13. }
  14. mysql_query("UPDATE menu SET strona_g='$g' WHERE id='$id'");
  15. }
  16.  
  17. }
  18. ?>
  19. <form action="?akcja=ustaw" method="post" enctype="multipart/form-data" name="form3">
  20. <table width="773" border="0" cellspacing="2" cellpadding="1">
  21. <tr bgcolor="#FF3300" >
  22. <td height="24" colspan="3" bgcolor="#99CC00">:: Istniejące pozycje menu</td>
  23. </tr>
  24. <tr>
  25. <td width="15%" height="20" bgcolor="#BCFE63"><div align="center" class="div_bold">Lp.</div></td>
  26. <td width="70%" height="20" bgcolor="#BCFE63"><div align="center" class="div_bold">Nazwa strony</div></td>
  27. <td width="15%" height="20" bgcolor="#BCFE63" align="center" class="text9">Ustaw stronę główną</td>
  28. </tr>
  29. <?php
  30.  
  31.  
  32. $sql="SELECT * FROM menu order by id";
  33. $wynik=mysql_query($sql,$db);
  34.  
  35. if (mysql_num_rows($wynik)==0){
  36. ?>
  37. <table border="0" width="100%" cellspacing="2" cellpadding="0">
  38. <tr>
  39. <td width="100%" bgcolor="#FFF6ED" align="center">Brak pozycji.</td>
  40. </tr>
  41. </table><br>
  42. <?php
  43. }else{
  44.  
  45. $i=1;
  46. while($dane = mysql_fetch_array($wynik)) {
  47.  
  48. if ($dane["strona_g"]="1"){
  49. $znak="checked";
  50. }
  51.  
  52. ?>
  53. <tr>
  54. <td ><?php echo $i;?>.</td>
  55. <td >&nbsp;<?php echo $dane["nazwa"];?></td>
  56. <td ><input type="radio" name="sg[]" value="<?php echo $dane["id"];?><?php echo $znak;?>></td>
  57. </tr>
  58. <?php
  59. $i++;
  60. }
  61. }
  62. ?>
  63. <tr>
  64. <td colspan="3">&nbsp;</td>
  65. <td align="center"><input type="submit" name="Submit" value="Ustaw"></td>
  66. </tr>
  67.  
  68. </table>

Struktura bazy:
  1. <?php
  2. CREATE TABLE `menu` (
  3. `id` int(3) NOT NULL auto_increment,
  4. `nazwa` varchar(100) NOT NULL,
  5. `strona_g` char(1) NOT NULL default '0',
  6. PRIMARY KEY (`id`)
  7. ) ENGINE=InnoDB ;
  8. ?>


Ten post edytował rja 5.07.2007, 14:36:29
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
rja
post
Post #2





Grupa: Zarejestrowani
Postów: 35
Pomógł: 0
Dołączył: 8.12.2006

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


Ok. Tu się zgodzę. Na początku myślałem o checkboxach, ale to musi być na radio. Temat jest może zły. W każdym bądź razie jak to poprawić.
Tzn. dla jednaego ID nie jest dla mnie problemem przypisania 1, ale chciałbym przy zmianie, tam gdzie była 1 przypisac 0. NIe wiem jak zrobić tam pętlę, bo rozumiem że jak jej nie będzie to po kilku zmianach wszędzie będę miał 1.

Chyba zamotałem.

Ten post edytował rja 5.07.2007, 14:33:52
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 Aktualny czas: 10.10.2025 - 15:50