Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]zapis formularza z kilkoma zaznaczonymi opcjami
gagatek
post
Post #1





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 18.02.2008

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


mam funkcje która pobiera z bazy danych gatunki i tworzy formularz wyboru
  1. function pobierzG(){
  2. $gatunek=mysql_query("SELECT * FROM gatunek order by GATUNEK asc");
  3. while($wiersz= mysql_fetch_assoc($gatunek)){
  4.  
  5.  
  6. echo ' <input type="checkbox" name="gatunek" value="'.$wiersz['ID'].'"; ">'.$wiersz['GATUNEK'].'';


następnie mam formularz w którym podaje sie tytul filmu itp, oraz gatunki tego filmu( jak wiadomo film może być w kilku gatunkach na raz)
  1. <form method="post" action="dodaj.php">
  2. <table>
  3. <tr class="tlo-b"><td>Tytul oryginalny:</td>
  4. <td><input type="text" name="tytul_oryginalny" /></td></tr>
  5. ...
  6. <tr class="tlo-b"><td>Gatunek:</td>
  7. <td><form name="gatunek">
  8. <? pobierzG(); ?>
  9. </form>
  10. </td></tr>
  11. <tr><td colspan="2" align="center"><input type="submit" value="Dodaj" /></td></tr>
  12. </table></form>
  13.  


a tutaj mam zapytanie zapisujące do tabeli film_gatunek, gatunek filmu. I wszystko działa, tylko mam taki problem że jak zaznaczę w tym formularzu z gatunkami więcej niż jeden gatunek, to zapisuje mi się i tak tylko jeden, a chciałbym żeby do jednego filmu można było przypisać kilka gatunków, nie mam pojęcia jak to zrobić... prosił bym o Waszą pomoc.
  1. $id_filmu = mysql_fetch_array($zapytanie_id);
  2. mysql_query("INSERT INTO `film_gatunek` (ID_FILM, ID_GATUNEK) VALUES ('$id_filmu[0]', '$gatunek')") OR die("Błąd");


Ten post edytował gagatek 13.12.2011, 12:29:30
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
gagatek
post
Post #2





Grupa: Zarejestrowani
Postów: 44
Pomógł: 0
Dołączył: 18.02.2008

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


wielkie dzięki, działa!!:)
mam jeszcze 2 pytania, nie chcę otwierać nowego tematu. Chciałem się jeszcze dowiedzieć jak mam zrobić teraz tak jakby na odwrót czyli mam edycje filmów, do inputów wprowadzane są tytuły itp pobrane z bazy z filmam i w celu edycji i teraz chciałbym żeby w tym formularzu z gatunkami zostały zaznaczone checkboxy z gatunkami tego wybranego filmu, czyli, żeby gatunki zostały pobrane z bazy i odpowiednio zostały zaznaczone checkboxy. Nie wiem czy zrozumiale to napisałem, bo wydaje mi się że troche namieszalem:)
  1. <form method="post" action="">
  2. <? pobierzG(); ?>
  3. </form>


i drugie, chcę zrobić update tych gatunków w edycji. Ale mam problem z zapytaniem, zrobiłem takie:
  1. foreach($gatunek AS $g) mysql_query("UPDATE `film_gatunek` SET ID_FILM='$ID', ID_GATUNEK='$g' where ID_FILM='$ID'") OR die("Błąd");

  1. ale nie działa poprawnie bo jak mam w tabeli film_gatunek np:
  2. ID_FILM ID_GATUNEK
  3. 1 3
  4. 1 4
  5. 1 5

i chcę zmienić żeby ten film miał tylko gatunek o np ID=9 to wynikiem tego jest
  1. ID_FILM ID_GATUNEK
  2. 1 9
  3. 1 9
  4. 1 9

nie wiem jak zrobić żeby w takim wypadku to się nie powtarzało...
i tak samo jak chcę zmienić ID gatunku z 3 4 5 np na 6 7 8 za pomocą tego zapytania u góry to w tabeli pojawia mi się taki wynik
  1. ID_FILM ID_GATUNEK
  2. 1 8
  3. 1 8
  4. 1 8


Nie wiem, czemu pobiera i zapisuje tylko ostatnią wartość w petli..
Prosił bym o pomoc w rozwiązaniu bo już się pogubiłem...

Ten post edytował gagatek 15.12.2011, 13:49:40
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 8.10.2025 - 17:47