Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Dane z tablicy w liście rozwijanej
esem
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 27.08.2008
Skąd: Skarżysko-Kamienna

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


Witam wszystkich
Mam taki problem tablicy niżej pobieram dane z plików językowych:
  1. <?php
  2. $topic_array = array();
  3. $topic_array = array(array('text' => ENTRY_TOPIC_1), 
  4.  array('text' => ENTRY_TOPIC_2), 
  5.  array('text' => ENTRY_TOPIC_3),
  6.  array('text' => ENTRY_TOPIC_4)
  7.  );
  8. ?>

Te dane chcę wstawić do formularza:
  1. <?php
  2. echo "
  3. <select name=\"temat\">";
  4. while ($temat = array_values($topic_array)){
  5. echo "<option value=\"".$temat."\">".$temat."</option>";
  6. }
  7. ?>

Niestety w wyniku formularza mam tylko zapętlony wpis "array"
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Kod
foreach($topic_array as $topic)
{
echo "<option value=\"".$topic['text']."\">".$topic['text']."</option>"
}
Go to the top of the page
+Quote Post
esem
post
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 27.08.2008
Skąd: Skarżysko-Kamienna

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


Dzięki bardzo brakuje tylko ";" po </opition>" ale jest ok.
Mam jeszcze jedno pytanie do tablicy powyżej dodałem jeden element:
  1. <?php
  2. $topic_array = array();
  3. $topic_array = array(array('mail' => 'jakis@adres.pl' , 'text' => ENTRY_TOPIC_1), 
  4. ...
  5. ...
  6. );
  7. ?>

W formularzu zmieniłem na
  1. <?php
  2. echo "<select name=\"temat\" class=\"logininput250\">";
  3. foreach ($topic_array as $topic){
  4.  echo "<option value=\"".$topic['mail']."\">".$topic['text']."</option>";
  5. }
  6. ?>

Mam pytanie jak teraz za pomocą funkcji POST przesłać dalej do forumlarza wartość $topic['mail'], tak aby wysłać maila na adres zgodnie z wyborem tematu dokonanym w formularzu
Go to the top of the page
+Quote Post
wookieb
post
Post #4





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Właśnie masz to zrobione. sprawdz
Kod
print_r($_POST);

co otrzymujesz od tego selecta.
Go to the top of the page
+Quote Post
esem
post
Post #5





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 27.08.2008
Skąd: Skarżysko-Kamienna

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


Zgadza się tutaj ja popełniłem błąd w myśleniu (a bardziej w sprawdzaniu poczty (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) ), a czy w takim razie jest możliwe przesłanie obu wartości $topic i ['mail'] oraz ['text']
Go to the top of the page
+Quote Post
wookieb
post
Post #6





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Tak. Ale musisz obydwie wartości umieścic w polu value. Możesz je połączyc | a przy odbieraniu rozdzielic.
Go to the top of the page
+Quote Post
esem
post
Post #7





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 27.08.2008
Skąd: Skarżysko-Kamienna

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


Z połączeniem nie ma problemu:
Kod
echo "<option  value=\"".$topic['mail']."|".$topic['text']."\">".$topic['text']."</option>";

Przesyła bez problemu, tylko jak to rozdzielić teraz mam tak:
Kod
$topic = "$_POST[temat]";


Ten post edytował esem 27.08.2008, 12:23:19
Go to the top of the page
+Quote Post
wookieb
post
Post #8





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Kod
echo "<option  value=\"".$topic['mail'].'|'.$topic['text'].'"\">".$topic['text']."</option>";


Przy odbieraniu
Kod
list($mail, $topic)=explode('|', $_POST['temat']);
Go to the top of the page
+Quote Post
esem
post
Post #9





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 27.08.2008
Skąd: Skarżysko-Kamienna

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


Wielkie dzięki za pomoc
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: 23.08.2025 - 10:58