Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> PHP pole SELECT
kondo
post 20.09.2009, 23:37:38
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 20.09.2009

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


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
Go to the top of the page
+Quote Post
jmail
post 21.09.2009, 02:47:21
Post #2





Grupa: Zarejestrowani
Postów: 352
Pomógł: 53
Dołączył: 10.08.2009

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


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
Go to the top of the page
+Quote Post
kondo
post 21.09.2009, 12:23:11
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 20.09.2009

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


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.
Go to the top of the page
+Quote Post
erix
post 21.09.2009, 12:36:45
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




  1. echo "<option value='";echo '.$last_id';echo "'>";echo ''.$last_id.'<br />';echo "</option>";

Możesz mi wytłumaczyć, co ma to na celu?


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

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
thek
post 21.09.2009, 12:41:56
Post #5





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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.

Ten post edytował thek 21.09.2009, 12:43:29


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
phpion
post 21.09.2009, 12:59:03
Post #6





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




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".
Go to the top of the page
+Quote Post
kondo
post 21.09.2009, 13:48:37
Post #7





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 20.09.2009

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


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


Go to the top of the page
+Quote Post
Pawel_W
post 21.09.2009, 14:01:41
Post #8





Grupa: Zarejestrowani
Postów: 1 675
Pomógł: 286
Dołączył: 15.06.2009
Skąd: Wieliczka

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


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

brakuje ' po px;
Go to the top of the page
+Quote Post
fander
post 21.09.2009, 14:55:24
Post #9





Grupa: Zarejestrowani
Postów: 231
Pomógł: 22
Dołączył: 6.10.2008

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


  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
Go to the top of the page
+Quote Post
kondo
post 21.09.2009, 17:10:29
Post #10





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 20.09.2009

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


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.....
Go to the top of the page
+Quote Post
fander
post 22.09.2009, 14:08:22
Post #11





Grupa: Zarejestrowani
Postów: 231
Pomógł: 22
Dołączył: 6.10.2008

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


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.
Go to the top of the page
+Quote Post
kondo
post 22.09.2009, 21:51:20
Post #12





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 20.09.2009

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


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

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: 14.08.2025 - 06:37