Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> pobranie wartości do pola rozwijalnego select
peklo
post
Post #1





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


witam ponownie juz dzisiaj
chcę do listy rozwijalnej pobrać dane z bazy. Robie tak:

  1. <select name="za" id="za">
  2. <option value=''><?php $ogloszenia['za'] ?></option>
  3. <option value='1'>godzinę</option>
  4. <option value='2'>dzień</option>
  5. </select>


I teraz pobiera i wyświetla mi zamiast nazwy to value=1 lub 2 co jest logiczne. Rozumiem że muszę dodać zdarzenie

  1. if (($ogloszenia['za'])==1)
  2. {
  3. echo 'godzinę';
  4. }
  5. else
  6. {
  7. ech 'dzien';
  8. }


czy idę w dobrym kierunku czy może jest na to lepszy sposób?
A może lepiej zastosować tu pętle?

Ten post edytował peklo 20.03.2014, 20:05:58
Go to the top of the page
+Quote Post
2 Stron V   1 2 >  
Start new topic
Odpowiedzi (1 - 22)
trueblue
post
Post #2





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Jak wygląda tablica $ogloszenia?
Jeśli nie przechowujesz tam odpowiedników wartości "za" (czyli "godzinę", "dzień"), to nie ma kompletnie sensu wplatać tu php i warunków. Chyba, że w zależności do różnych warunków czasem będzie tam tylko "godzinę", czasem "dzień", obydwie lub zero wartości.
Go to the top of the page
+Quote Post
peklo
post
Post #3





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


do pola select podczas edycji formularza ma być pobrana wartość w zależności od wyboru podczas dodawania do bazy. czyli może być jedna wartość: --wybierz- lub godzinę lub dzień lub inne których nie wpisywałem
Go to the top of the page
+Quote Post
trueblue
post
Post #4





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Tak, ale ja pytałem o zwartość tablicy $ogloszenia.
Go to the top of the page
+Quote Post
peklo
post
Post #5





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


Array ( [id] => 6 [nazwa_ogloszenia] => fwefewfewfewfw [data_dod] => 2014-03-20 18:13:13 [rok] => [opis] => ewfwefewfwefew fewfwefewfew we3e4324322fewfewfew fewf34324 2 2r ef ew f32 442333333333 [miasto2] => eeeeeeeeeeeeeefewfewf [id_kraj] => [id_wojewodztwo] => 2 [czas] => 2014-04-19 19:13:13 [id_kategoria] => 1 [cena] => 2600 [za] => 1 [uszkodzony] => [poj] => [moc] => [przebieg] => [paliwo] => [stan] => [kolor] => [metalic] => [miejsca] => [rejestracja] => [normy] => [oc] => [przeglad] => [vin] => [wlasciciel] => [leasing] => [negocjacja] => [fv] => [kredyt] => [motoh] => [producent] => [naped] => [drzwi] => [karoseria] => [osoba] => [wojewodztwo] => Lubuskie [miasto] => [nazwa_firmy] => [telefon] => [wyb_kategorii1] => Array ( ) [wyb_kategorii2] => Array ( ) [zdjeciak] => Array ( [17] => Array ( [id_ogloszenia] => 6 ) [18] => Array ( [id_ogloszenia] => 6 [im] => 332641757093.png [thumb] => thumb_332641757093.png ) [19] => Array ( [id_ogloszenia] => 6 [im] => 460420852992.png [thumb] => thumb_460420852992.png ) ) [pjk] => Array ( [8] => Array ( [id_prawo_jazdy] => 4 ) [9] => Array ( [id_prawo_jazdy] => 6 ) [10] => Array ( [id_prawo_jazdy] => 8 ) [11] => Array ( [id_prawo_jazdy] => 11 ) ) [wyposazeniew] => Array ( ) )

Ten post edytował peklo 20.03.2014, 20:33:05
Go to the top of the page
+Quote Post
trueblue
post
Post #6





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


A jeśli w tablicy $ogloszenia nie będzie elementu $ogloszenia['za'] o wartości np. 2, to wtedy ma się nie pokazać jako opcja w select?
Go to the top of the page
+Quote Post
peklo
post
Post #7





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


tak
mogą być w tym wypadku 3 warianty
nie wybrał nic (-wybierz-) czyli null lub 0
lub wybrał 1 (dzien)
lub wybrał 2 (godzina)

Ten post edytował peklo 20.03.2014, 20:57:00
Go to the top of the page
+Quote Post
trueblue
post
Post #8





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Nie wiem czy się dobrze rozumiemy.
Ja pytam o to jak będzie wyglądał select i czy będzie zależny od wartości w tablicy $ogloszenia, a nie jakie warianty może wybrać użytkownik.
Czyli czy select będzie zawsze zawierał opcje: nic, dzień, miesiąc, czy też różną ich ilość właśnie w zależności od zawartości $ogloszenia.
Go to the top of the page
+Quote Post
peklo
post
Post #9





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


dane w select są stałe, nic się w nich nie zmienia. Podczas dodawania formularza wybiera się jedną opcję z wielu. Teraz chcę pobrać do select poprostu to co zostało wybrane i tyle
Go to the top of the page
+Quote Post
trueblue
post
Post #10





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


  1. <select name="za" id="za">
  2. <option value=''<?php if(empty($ogloszenia['za'])) echo " selected=\"selected\""; ?>></option>
  3. <option value='1'<?php if($ogloszenia['za']==1) echo " selected=\"selected\""; ?>>godzinę</option>
  4. <option value='2'<?php if($ogloszenia['za']==2) echo " selected=\"selected\""; ?>>dzień</option>
Go to the top of the page
+Quote Post
peklo
post
Post #11





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


ok śliczne dzięki. Ale mam jeszcze jedno pytanie. Mam selecta który pobiera z bazy nazwy i jest ich ok 200.
Jak to można załatwić. Ma pobrać tylko jedną wartość jak i tutaj
Go to the top of the page
+Quote Post
trueblue
post
Post #12





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


A zawartość elementu <option> też masz w bazie czy podobnie jak ten wyżej select, tylko wartości?
Go to the top of the page
+Quote Post
peklo
post
Post #13





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


mam coś takiego

  1. $pdo = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
  2. $pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  3. $sql = $pdo->prepare('select * from z);
  4. $sql->bindValue('nazwa_z', $nazwa_z);
  5. $sql->execute();
  6. echo "<select name='id_kraj' id='id_kraj'>";
  7. echo "<option value='' >--wybierz--</option>";
  8. while ($row1 = $sql->fetch(PDO::FETCH_ASSOC)) {
  9. echo "<option value='$row1[id_kraj]'>$row1[nazwa_z]</option>";
  10. }
  11. echo "</select>";

i tu jest ok 200 nazw
Go to the top of the page
+Quote Post
trueblue
post
Post #14





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Jeśli chcesz zaznaczyć wybraną opcję w select, to robisz podobnie jak podałem wyżej, przy czym warunek wprowadzasz w linii 9.
Go to the top of the page
+Quote Post
peklo
post
Post #15





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


kurde myślałem że się obędzie bez opisywania wszystkich rekordów. czyli każdy trzeba opisywać tak
<option value=''<?php if(empty($ogloszenia['za'])) echo " selected=\"selected\""; ?>></option>
Go to the top of the page
+Quote Post
Turson
post
Post #16





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Jak tworzysz selecta w pętli to w tej pętli możesz to zastosować i będzie jedna linijka
Go to the top of the page
+Quote Post
peklo
post
Post #17





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


no własnie chodzi mi o jedna linijkę a nie o 200 (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Turson
post
Post #18





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


  1. <?php while ($row1 = $sql->fetch(PDO::FETCH_ASSOC)): ?>
  2. <option value='$row1[id_kraj]'<?php if($ogloszenia['za']==$row1['id_kraj']) echo " selected"; ?>><?php echo $row1['nazwa_z'] ?></option>
  3. <?php endwhile; ?>


Ten post edytował Turson 24.03.2014, 15:16:12
Go to the top of the page
+Quote Post
peklo
post
Post #19





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


kurde zrobiłem tak i coś mi nie pobiera

  1. while ($row1 = $sql->fetch(PDO::FETCH_ASSOC)) {
  2. <option value='$row1[id_kraj]'<?php if($ogloszenia['id_kraj']==$row1['id_kraj']) echo " selected"; ?>><?php echo $row1['nazwa_z'] ?></option>
  3. <?php endwhile; ?>


dobra teraz mi pobiera właściwą nazwe ale nie wiem co wstawić w value.

  1. <option value=''<?php if($row1['id_kraj']==$ogloszenia['id_kraj']) echo " selected=\"selected\""; ?>><?php echo $row1['nazwa_z']?></option>
Go to the top of the page
+Quote Post
trueblue
post
Post #20





Grupa: Zarejestrowani
Postów: 6 806
Pomógł: 1828
Dołączył: 11.03.2014

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


Przecież w tym pierwszym wyżej przykładzie, gdzie źle ustawiałeś atrybut selected jest value.
Go to the top of the page
+Quote Post
peklo
post
Post #21





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


dobra już mam. może komuś się przyda

  1. <option value="<?php echo $row1['id_wojewodztwo'] ?>"<?php if($row1['id_wojewodztwo']==$ogloszenia['id_wojewodztwo']) echo " selected=\"selected\""; ?>><?php echo $row1['nazwa_w']?></option>
Go to the top of the page
+Quote Post
com
post
Post #22





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

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


jak już jesteś wewnątrz php to nie otwieraj znacznika jeszcze raz (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
peklo
post
Post #23





Grupa: Zarejestrowani
Postów: 420
Pomógł: 0
Dołączył: 27.07.2011

Ostrzeżenie: (10%)
X----


ok juz działa
Go to the top of the page
+Quote Post

2 Stron V   1 2 >
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: 16.09.2025 - 20:58