Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Funkcja select jak zastąpić kod
brzanek
post 2.11.2018, 09:31:08
Post #1





Grupa: Zarejestrowani
Postów: 427
Pomógł: 0
Dołączył: 8.11.2012

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


Witam mam problem jak mogę ten kod

  1. openside($locale['news_02056']);
  2. echo '<select>';
  3. $result = $mysqli->query("SELECT * FROM opad GROUP BY miasto");
  4. while ( $row = mysqli_fetch_array($result) ) {
  5. echo '<option value="'.$row['miasto'].'">'.$row['miasto'].'</option>';
  6. }
  7. echo '</select>';
  8. closeside();


zapisać w takiej formie

  1. openside('');
  2. echo form_select('dzien', $locale['news_02056'], $_GET['dzien'],
  3. 'inline' => TRUE,
  4. 'inner_width' => '100%',
  5. 'options' => array(
  6. '%' => '%',
  7. '"'.$row['miasto'].'"'
  8. )
  9. )
  10. );
  11. closeside();


Dobra zrobiłem coś takiego
  1. $result = $mysqli->query("SELECT * FROM opad GROUP BY miasto");
  2. while ( $row = mysqli_fetch_array($result) ) {
  3. $miejscowosci = $row['miasto'];
  4. }
  5. openside($locale['news_02056']);
  6. echo form_select('miasto1', $locale['news_02056'], $_GET['miasto'],
  7. 'inline' => TRUE,
  8. 'inner_width' => '100%',
  9. 'options' => array(
  10. 'miejscowosci' => $miejscowosci
  11. )
  12. )
  13. );
  14. closeside();

Ale dlaczego mam tylko jeden i ostatni rekord skoro w bazie mam kilkadziesiąt.
Go to the top of the page
+Quote Post
olszam
post 2.11.2018, 09:45:51
Post #2





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

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


Źle zamknąłeś pętlę albo zapomniałeś ze zmiennej $miejscowości zrobić tablicę.

Ten post edytował olszam 2.11.2018, 09:46:57
Go to the top of the page
+Quote Post
brzanek
post 2.11.2018, 09:52:52
Post #3





Grupa: Zarejestrowani
Postów: 427
Pomógł: 0
Dołączył: 8.11.2012

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


A jak z niej zrobić tablicę?
Go to the top of the page
+Quote Post
olszam
post 2.11.2018, 10:08:29
Post #4





Grupa: Zarejestrowani
Postów: 342
Pomógł: 23
Dołączył: 20.01.2011
Skąd: Chełm

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


najprościej

Kod
$miejscowosci[] = $row['miasto'];
Go to the top of the page
+Quote Post
brzanek
post 2.11.2018, 10:19:01
Post #5





Grupa: Zarejestrowani
Postów: 427
Pomógł: 0
Dołączył: 8.11.2012

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


Taki sposób wyświetla tylko Array
Brak danych z BD
Go to the top of the page
+Quote Post
nospor
post 2.11.2018, 10:20:25
Post #6





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




To moze pokaz kod po zmianach bo prawdopodobnie cos sknociles po drodze


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
brzanek
post 2.11.2018, 10:23:11
Post #7





Grupa: Zarejestrowani
Postów: 427
Pomógł: 0
Dołączył: 8.11.2012

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


  1. $result = $mysqli->query("SELECT * FROM opad GROUP BY miasto");
  2. while ( $row = mysqli_fetch_array($result) ) {
  3. $miejscowosci[] = $row['miasto'];
  4. }
  5. echo ''.$miejscowosci.'';
  6. openside($locale['news_02056']);
  7. echo form_select('miasto', $locale['news_02056'], $_GET['miasto'],
  8. 'inline' => TRUE,
  9. 'inner_width' => '100%',
  10. 'options' => array(
  11. $miejscowosci => $miejscowosci
  12. )
  13. )
  14. );
  15. closeside();
Go to the top of the page
+Quote Post
nospor
post 2.11.2018, 11:07:47
Post #8





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




$miejscowosci => $miejscowosci
questionmark.gif

No i tak poza tym nie powinno byc poprostu

'options' => $miejscowosci
?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
brzanek
post 2.11.2018, 11:15:36
Post #9





Grupa: Zarejestrowani
Postów: 427
Pomógł: 0
Dołączył: 8.11.2012

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


OK DODAŁEM TAK
  1. $result = $mysqli->query("SELECT * FROM opad GROUP BY miasto");
  2. while ( $row = mysqli_fetch_array($result) ) {
  3. $miejscowosci[] = $row['miasto'];
  4. }
  5. //echo ''.$miejscowosci.'';
  6. openside($locale['news_02056']);
  7. echo form_select('miasto', $locale['news_02056'], $_GET['miasto'],
  8. 'inline' => TRUE,
  9. 'inner_width' => '100%',
  10. 'options' => $miejscowosci
  11. )
  12. );
  13. closeside();

Ale teraz po wyborze zamiast nazwy mam liczbę.

Ten post edytował brzanek 2.11.2018, 11:16:42
Go to the top of the page
+Quote Post
nospor
post 2.11.2018, 11:17:07
Post #10





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




print_r($miejscowosci);


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
brzanek
post 2.11.2018, 11:24:41
Post #11





Grupa: Zarejestrowani
Postów: 427
Pomógł: 0
Dołączył: 8.11.2012

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


  1. print_r($miejscowosci);

daje nazwę ale też liczby.
Array ( [0] => ADAMOWICE [1] => ALEKSANDRÓWKA [2] => ALWERNIA [3] => ANNOPOL [4] => BABIĘTA [5] => BABORÓW [6] => BACIUTY [7] => BAKAŁARZEWO [8] => itd
Ja potrzebuję aby w select podawana była nazwa a nie liczba.
Go to the top of the page
+Quote Post
nospor
post 2.11.2018, 11:38:51
Post #12





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




'options' => array_flip($miejscowosci)

? Nie wiem jakiego libu uzywasz wiec zgaduje


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
brzanek
post 2.11.2018, 11:47:14
Post #13





Grupa: Zarejestrowani
Postów: 427
Pomógł: 0
Dołączył: 8.11.2012

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


Teraz
  1. $result = $mysqli->query("SELECT * FROM opad GROUP BY miasto");
  2. while ( $row = mysqli_fetch_array($result) ) {
  3. $miejscowosci[] = $row['miasto'];
  4. }
  5. openside($locale['news_02056']);
  6. echo form_select('miasto', $locale['news_02056'], $_GET['miasto'],
  7. 'inline' => TRUE,
  8. 'inner_width' => '100%',
  9. 'options' => array_flip($miejscowosci)
  10. )
  11. );
  12. closeside();

jest zupełnie odwrotnie w polu wyboru mam liczby ale jak już wybiorę to w adresie pojawia się nazwa miejscowości
A tak jak było wcześniej
  1. $result = $mysqli->query("SELECT * FROM opad GROUP BY miasto");
  2. while ( $row = mysqli_fetch_array($result) ) {
  3. $miejscowosci[] = $row['miasto'];
  4. }
  5. openside($locale['news_02056']);
  6. echo form_select('miasto', $locale['news_02056'], $_GET['miasto'],
  7. 'inline' => TRUE,
  8. 'inner_width' => '100%',
  9. 'options' => $miejscowosci
  10. )
  11. );
  12. closeside();

W polu wyboru mam nazwy miejscowości ale po wybraniu w adresie pojawia się id wybranej miejscowości z tablicy.
Powinno być że i w polu select i w adresie po dokonaniu wyboru powinna być nazwa miejscowości
Podaję adres strony aby lepiej to zrozumieć
pogoda-zachodniopomorskie.pl/klimat_imgw/opady.php
Go to the top of the page
+Quote Post
nospor
post 2.11.2018, 11:50:00
Post #14





Grupa: Moderatorzy
Postów: 36 440
Pomógł: 6290
Dołączył: 27.12.2004




To skoro, jako tekst i jako wartosc, chcesz miec miejscowosc, to jako tekst i jako wartosc wstawiaj miejscowosc. To sa podstawy html

nie: $miejscowosci[] = $row['miasto'];
a: $miejscowosci[$row['miasto']] = $row['miasto'];


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
brzanek
post 2.11.2018, 11:55:19
Post #15





Grupa: Zarejestrowani
Postów: 427
Pomógł: 0
Dołączył: 8.11.2012

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


super działa - dzięki
Go to the top of the page
+Quote Post

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 Wersja Lo-Fi Aktualny czas: 28.03.2024 - 23:32