Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL]Select bez powtórzeń
adrianozo
post
Post #1





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

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


Witam.

W formularzu mam coś takiego, że wybieram z listy wybieralnej odpowiednią kategorię i mam problem w edycji. Otóż zapisaną kategorię w bazie pobieram i wyświetlam jako selected i teraz do formularza chciałbym jeszcze dodać pozostałe kategorie poza tą selected. Przykład:

  1. Kategoria: <select name="kategoria">
  2. <option value="Portrety Ślubne" selected="selected">Portrety Ślubne</option>//pobrane z bazy
  3. <option value="Portrety Dzieci">Portrety Dzieci</option>
  4. <option value="Portrety na każdą okazję">Portrety na każdą okazję</option>
  5. <option value="Portrety MANGA NOWOŚĆ">Portrety MANGA NOWOŚĆ</option>
  6. </select>


ale może być też tak, że pobraną kategorią z bazy będzie: Portrety Dzieci więc:

  1. Kategoria: <select name="kategoria">
  2. <option value="Portrety Ślubne">Portrety Ślubne</option>
  3. <option value="Portrety Dzieci" selected="selected">Portrety Dzieci</option>//pobrane z bazy
  4. <option value="Portrety na każdą okazję">Portrety na każdą okazję</option>
  5. <option value="Portrety MANGA NOWOŚĆ">Portrety MANGA NOWOŚĆ</option>
  6. </select>


Chodzi o to, jak wybrać pozostałe kategorie nie powtarzając tej pobranej z bazy danych
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Nie bardzo kumam w czym masz problem.....

select kategoria zawsze ale zawsze budujesz z kategorii w bazie danych.
Co ma do tego zapisana kategoria? Nic.

Zapisana kategoria sluzy tylko i wylacznie do tego, by zaznaczyc w tym select zapisana kategorie.
Go to the top of the page
+Quote Post
adrianozo
post
Post #3





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

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


Chodzi o to, że wszystkie kategorie są na stałe, ale jedna przy edycji jest już zapisana w bazie danych(wybrana) więc zostają jeszcze trzy które nie są dla danego rekordu, ale mogę chcieć zmienić na tą inną nie będącą przypisaną w tym momencie do konkretnego rekordu.
Go to the top of the page
+Quote Post
mar1aczi
post
Post #4





Grupa: Zarejestrowani
Postów: 731
Pomógł: 141
Dołączył: 9.05.2011
Skąd: śląskie

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


"Przechodząc" na edycję pobierasz wszystkie kategorie. Dla tej, do której jest przypisany edytowany element dajesz "selected" i z bańki.

Ten post edytował mar1aczi 23.12.2013, 22:15:20
Go to the top of the page
+Quote Post
adrianozo
post
Post #5





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

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


Tylko, że jedną pobieram z bazy tą która ma selected, reszta jest na stałe
Go to the top of the page
+Quote Post
mar1aczi
post
Post #6





Grupa: Zarejestrowani
Postów: 731
Pomógł: 141
Dołączył: 9.05.2011
Skąd: śląskie

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


Cytat(adrianozo @ 23.12.2013, 22:18:26 ) *
Tylko, że jedną pobieram z bazy tą która ma selected, reszta jest na stałe

Na stałe gdzie? W kodzie html/php?
Coś chyba mocno przekombinowałeś.
Go to the top of the page
+Quote Post
adrianozo
post
Post #7





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

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


W kodzie html nie potrzebuje trzymać tego w bazie bo to tylko 4 kategorie na stałe
Go to the top of the page
+Quote Post
mar1aczi
post
Post #8





Grupa: Zarejestrowani
Postów: 731
Pomógł: 141
Dołączył: 9.05.2011
Skąd: śląskie

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


I jak będziesz chciał mieć jeszcze jedną kategorię, to będziesz przekopywał cały kod aby ją dopisać? Czapki z głów (IMG:style_emoticons/default/Lkingsmiley.png)

Idąc Twoim tokiem: Porównuj tą pobraną z bazy, po kolei z tymi, które masz na stałe zapisane w kodzie i przy tej, która jest taka jak ta pobrana z bazy daj "selected". Sam widzisz, jak prostą sprawę komplikuje Twoje rozwiązanie.
Go to the top of the page
+Quote Post
adrianozo
post
Post #9





Grupa: Zarejestrowani
Postów: 733
Pomógł: 4
Dołączył: 11.11.2009

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


Ja wiem, że mówienie tutaj o przeciążaniu bazy pobraniem 4 rekordów nie ma sensu, ale na prawdę nie potrzebuje tego trzymać w bazie

Może trochę przegiąłem (IMG:style_emoticons/default/biggrin.gif) ale problem rozwiązany:

1. Pobieram kategorie zapisaną w bazie
2. Tworzę tablice z wszystkimi kategoriami
3. Usuwam z tablicy kategorię pobraną z bazy
4. Wyświetlam tablicę która nie ma kategorii z bazy
Go to the top of the page
+Quote Post

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: 22.08.2025 - 15:54