Formularz typu select pobierający dane z bazy danych zawierający zduplikowane dane, PHP+MySQL+HTML |
Formularz typu select pobierający dane z bazy danych zawierający zduplikowane dane, PHP+MySQL+HTML |
12.03.2018, 17:29:14
Post
#1
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 12.03.2018 Ostrzeżenie: (0%) |
Witam posiadam stronkę z formularzem która pobiera GET-em i zapytaniem sql dane z z bazy danych. Wszystko działa prawie ok ale mam jeden problem z polem wyboru w formularzu. Gdy wywołuję dane z bazy danych i wybieram uprawnienia przypisane do danego użytkownika to wypisuje mi uprawnienia danego użytkownika kilka razy.Chciałbym by lista pokazywała,że np. dany użytkownik ma uprawnienia użytkownika ale mogę je zmienić na administratora,moderatora,managera czy właściciela firmy.Pytanie brzmi czy macie jakiś pomysł by uprawnienia przypisane do danego użytkownika pojawiały się tylko raz, a lista wypełniana była pozostałymi uprawnieniami pobieranymi z tabeli "Rights". Poniżej przedstawiam zdjęcia obrazujące jak wygląda problem.
Przykładowo dla użytkowika posiadającego uprawnienia zwykłe czyli użytkownik wygląda to tak: A dla użytkownika z uprawnieniami administratora wygląda to tak: Poniżej przedstawiam fragment kodu z którym mam problem odpowiadający za wypisywanie danych dla pola wyboru w formularzu: Kod <tr><td>Prawa: </td><td>'; $question = mysql_query ("SELECT * FROM Rights"); echo '<select name="prawa">'; while($prawa = mysql_fetch_assoc($question)) { echo"<option value=$dane[prawa]>$dane[prawa]</option>"; // Wypisuje prawa przypisane dla danego użytkownika echo"<option value=$prawa[prawa]>$prawa[prawa]</option>"; // Wypisuje wszystkie prawa z tabeli Rights } echo '</select></form>'; ?> Z góry dzięki za pomoc ! Mam nadzieję,że ktoś wpadnie na pomysł jak rozwiązać ten problem |
|
|
12.03.2018, 17:34:23
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 457 Pomógł: 6297 Dołączył: 27.12.2004 |
Czemu w petli masz jeszcze wyswietlanie dla kazdego rekordu o tego
echo"<option value=$dane[prawa]>$dane[prawa]</option>"; ? Przeciez to ci sie duplikuje za kazdym razem. przenosze -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
12.03.2018, 17:45:32
Post
#3
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 12.03.2018 Ostrzeżenie: (0%) |
Wiem,że się duplikuje pytanie dlaczego? I jak się tej duplikacji pozbyć ?
Linijka echo"<option>$dane[prawa]</option>" ; wyświetla uprawnienia tylko dla danego użytkownia Natomiast Linijka echo"<option>$prawa[prawa]</option>" ; // Wypisuje wszystkie prawa z tabeli Rights czyli Administrator, Administrator2, Użytkownik, Moderator itp... więc bez tego ani rusz... Trzeba by tu jakiegoś if-a lub selecta zastosować ale niestety nie mam pomysłu jak go skonstruować żeby zadziałał.... Ten post edytował wendor 12.03.2018, 17:47:28 |
|
|
12.03.2018, 17:57:31
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 933 Pomógł: 460 Dołączył: 2.04.2010 Skąd: Lublin Ostrzeżenie: (0%) |
Coś mocno przekombinowałeś. Jeśli dobrze rozumiem to:
zawiera obecne uprawnienie użytkownika. Jest i może być tylko jedno, tak? Więc podejrzewam, że kod powinien wyglądać mniej więcej tak:
-------------------- Jeśli pomogłem, kliknij proszę 'pomógł'. Dzięki.
|
|
|
12.03.2018, 18:02:59
Post
#5
|
|
Grupa: Zarejestrowani Postów: 3 Pomógł: 0 Dołączył: 12.03.2018 Ostrzeżenie: (0%) |
Dzięki b4rt3kk
brakowało mi tego wstawienia nulla Jesteś the best Ten post edytował wendor 12.03.2018, 18:04:29 |
|
|
Wersja Lo-Fi | Aktualny czas: 28.04.2024 - 00:22 |