Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Dane z tablicy w liście rozwijanej
Forum PHP.pl > Forum > Przedszkole
esem
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"
wookieb
Kod
foreach($topic_array as $topic)
{
echo "<option value=\"".$topic['text']."\">".$topic['text']."</option>"
}
esem
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
wookieb
Właśnie masz to zrobione. sprawdz
Kod
print_r($_POST);

co otrzymujesz od tego selecta.
esem
Zgadza się tutaj ja popełniłem błąd w myśleniu (a bardziej w sprawdzaniu poczty sad.gif), a czy w takim razie jest możliwe przesłanie obu wartości $topic i ['mail'] oraz ['text']
wookieb
Tak. Ale musisz obydwie wartości umieścic w polu value. Możesz je połączyc | a przy odbieraniu rozdzielic.
esem
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]";
wookieb
Kod
echo "<option  value=\"".$topic['mail'].'|'.$topic['text'].'"\">".$topic['text']."</option>";


Przy odbieraniu
Kod
list($mail, $topic)=explode('|', $_POST['temat']);
esem
Wielkie dzięki za pomoc
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.