Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP pole SELECT
Forum PHP.pl > Forum > PHP
kondo
Witam,
Mam pytanie czy ktoś się orientuje w jaki sposób zwracać w PHP wartość zaznaczonego pola SELECT?
Pole SELECT mam napisane w PHP i pobiera rekordy z bazy danych:

echo "<select name='kategoria' size='1' style='width: 200px;>";
$result = mysql_query("SELECT Kategoria FROM Warsztaty");
while( $row = mysql_fetch_assoc( $result ))
{
$last_id = $row['Kategoria'];
echo "<option>";echo ''.$last_id.'<br />';echo "</option>";
}
echo"</select>";


Próbowałem robić to w ten sposób:
$zm = $_POST['kategoria'] ;
ale niestety nie działa sad.gif

Bardzo byłbym wdzięczny za pomoc



Pozdrawiam
jmail
zamień to

  1.  
  2. echo "<select name='kategoria' size='1' style='width: 200px;>";
  3. $result = mysql_query("SELECT Kategoria FROM Warsztaty");
  4. while( $row = mysql_fetch_assoc( $result ))
  5. {
  6. $last_id = $row['Kategoria'];
  7. echo "<option>";echo ''.$last_id.'<br />';echo "</option>";
  8. }
  9. echo"</select>";
  10.  
  11.  


na to

  1.  
  2. echo "<select name='kategoria' size='1' style='width: 200px;>";
  3. $result = mysql_query("SELECT Kategoria FROM Warsztaty");
  4. while( $row = mysql_fetch_assoc( $result ))
  5. {
  6. $last_id = $row['Kategoria'];
  7. echo "<option value='";echo .$last_id;echo"'>";echo ''.$last_id.'<br />';echo "</option>";
  8. }
  9. echo"</select>";
  10.  
  11.  


i to

$zm = $_POST['kategoria'] ;

Ci zadziała
kondo
Niestety nie działa sad.gif
Moj kod wygląda tak
<?php
require_once ('mysql_connect.php');

echo "<select name='kategoria' size='1' style='width: 200px;>";
$result = mysql_query("SELECT Kategoria FROM Warsztaty");
while( $row = mysql_fetch_assoc( $result ))
{
$last_id = $row['Kategoria'];
echo "<option value='";echo '.$last_id';echo "'>";echo ''.$last_id.'<br />';echo "</option>";
}
echo"</select>";

$zm = $_POST['kategoria'] ;
echo "$zm";

?>

i zmienna zm nic nie zwraca.
erix
  1. echo "<option value='";echo '.$last_id';echo "'>";echo ''.$last_id.'<br />';echo "</option>";

Możesz mi wytłumaczyć, co ma to na celu?
thek
BBCode...
  1. echo '<option value="'.$last_id.'">'.$last_id.'</option>';
Wystarczy to zmienić. No chyba że chcesz mieć jeszcze przejście do następnej linii to na końcu dodaj ."\n" przed średnikiem.

EDIT: używaj echo i apostrofów właściwie w czymś, co koloruje składnię to unikniesz masy problemów.
phpion
Hmmm, a nie brakuje Ci przypadkiem <form>? Jeśli jednak gdzieś go masz to pamiętaj, że domyślnie formularze przesyłane są metodą GET czyli odwołujesz się do wartości poprzez $_GET, a nie $_POST. Jeśli chciałbyś przesłać formularz metodą POST to dodaj mu atrybut method="post".
kondo
Cały kod wygląda w ten sposób:

<?php

require_once ('mysql_connect.php');

//echo "<form name='kat' action='w.php' method='post'>";
echo "<select name='kategoria' size='1' style='width: 200px;>";
$result = mysql_query("SELECT kategoria FROM Warsztaty");
while( $row = mysql_fetch_assoc( $result ))
{
$last_id = $row['kategoria'];
echo '<option value="'.$last_id.'">'.$last_id.'</option>';
}
echo"</select>";
//echo "<input type=submit name='Przeslij' value='Wczytaj'>";
//echo "</form>";


$zm = $_POST['kategoria'] ;
echo "$zm";

?>

Po dodaniu znaczników form i przycisku (zakeszowane linijki kodu)
skrypt nie wyświetla mi ani przycisku ani nie wypisuje rekordów z bazy

Całość skryptu ma na celu zrobienie wyszukiwarki typu:
http://www.f-media.com.pl/konrad/wyszukiwarka.html

to napisane jest w javascript. Głównie chodzi mi o to żeby wszystkie dane były pobierane z bazy, bo póki co ten skrypt działa z dysku i raczej ciężko go będzie przerobić, żeby
dane pobierał z bazy. Skrypt można zobaczyć włączając źródło strony


Pawel_W
bbcode...
  1. echo "<select name='kategoria' size='1' style='width: 200px;>";

brakuje ' po px;
fander
  1. <?php
  2. require_once ('mysql_connect.php');
  3. $result = mysql_query("SELECT kategoria FROM Warsztaty");
  4. $tmp = '';
  5. while ($ret = mysql_fetch_assoc($result)) {
  6. $tmp[] = $ret['kategoria'];
  7. }
  8. ?>
  9. <?php if(isset($tmp[0])){ ?>
  10. <form action="wyslij.php" method="POST">
  11. <select name="kategoria">
  12. <?php foreach ($ret as $key => $val) {?>
  13. <option value="<?php echo $val; ?>" ><?php echo $val; ?></option>
  14. <?php } ?>
  15. </select>
  16. </form>
  17. <?php } ?>


Cytat(kondo @ 21.09.2009, 14:48:37 ) *
...to napisane jest w javascript. Głównie chodzi mi o to żeby wszystkie dane były pobierane z bazy, bo póki co ten skrypt działa z dysku i raczej ciężko go będzie przerobić, żeby
dane pobierał z bazy. Skrypt można zobaczyć włączając źródło strony


jest to banalne do zrobienia przy pomocy ajaxa
kondo
Tylko problem w tym, że na ajaxie za bardzo się nie znam

a masz może jakieś przykładowe programy tego typu w ajaxie ?
Może mi się uda to jakoś ogarnąć.
Byłbym bardzo wdzięczny.....
fander
1) Polecam frimework jQuery oraz jego możliwości z ajaxem, http://docs.jquery.com/Ajax
2) A jeśli nie miałeś styczności z ajaxem to polecam http://www.webtips.pl/post21571.html
3) Kurs js http://www.w3schools.com/JS/default.asp

Najlepiej zacząć od pkt 3 później 2 a na końcu 1.
kondo
Dzięki za wszelkie podpowiedzi.

Ale chyba sam nie jestem w stanie napisać czegoś takiego w Ajaxie

Dlatego mam już ostatnie pytanie, czy ktoś byłby w stanie napisać taki skrypt:
http://www.f-media.com.pl/konrad/wyszukiwarka.html ?
Oczywiście nie za darmo.....

Jeśli ktoś jest zainteresowany to prosiłbym o kontakt:
K.Felijakowski@gmail.com

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.