Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> PHP+mysql+pole select+formularz
majkel07
post
Post #1





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

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


Witam
jestem początkujący także prosze o wyrozumiałość
chce zbudowac skrypt, który pobierze dane z bazy Mysql wyświetli je w polu select, a następnie po wyborze z pola select jakiejś opcji ten wybór zostanie przekazany formularzem do innego pliku php i tam np. wyświetlony.
To było od strony teoretycznej od praktycznej wyglada to w ten sposób w bazie danych mam tabele z klientami, których cały czas przybywa, wyświetlam wszystkich jako opcje w polu select,po dokonaniu wyboru jednego klienta przekazuje go formularzem do innego pliku php np. zamówienia i wyswietlam jego pozstałe dane.
Oto co udało mi się stworzyć:

  1. $query = "select imiepacjenta, nazwiskopacjenta From pacjent order by 'id' DESC";
  2. $result = mysql_query($query);
  3. $num_results = mysql_num_rows($result);
  4. while($wybor = mysql_fetch_array($result)) {
  5. $dane .='<option value="'.$wybor['id'].'">'.$wybor['imiepacjenta'].' '.$wybor['nazwiskopacjenta'].'</option>';
  6. }
  7.  
  8.  
  9. echo '<form action="kartawys.php" method="post">';
  10. echo'<select name="pacjent" align="center">
  11. <option>Wybierz pacjenta '.$dane.'</option>
  12. </select><br/>';
  13. echo '<input type="submit" value="wybor">';
  14. echo '</form>';
  15. echo '<br></br>';


nie wiem czy trzeba tutaj użyć JS czy wystarczy selected?
z góry thx za wszelkie podpowiedzi
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
majkel07
post
Post #2





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

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


dzieki sadistic_son
bardzo mi pomogłes
jednak nie chce działac cos nie tak z kartawys.php
zamiast id mam nrpacjenta w bazie danych
plik kartawys.php wyglada tak:
  1.  
  2. if(isset($_POST['wyslij']))
  3. { //sprawdza czy w ogole kliknieto w przycisk wysylania2.
  4. if(isset($_POST['pacjent']) ;{ //sprawdza czy wybrano coś z selecta i czy nie jest to wybor domyslny
  5. $select=intval($_POST['pacjent']); //intval tworzy liczbę z tego co było w $_POST['pacjent']. To zabezpieczenie jakby ktoś chciał wysłać coś innego. A to ma być liczba bo tym polem przekazywane jest id - czyli liczba.4.
  6. $connection = @mysql_connect('localhost', 'root', 'root')
  7. or die('Brak połączenia z serwerem MySQL');
  8. $db = @mysql_select_db('gabinet', $connection)
  9. or die('Nie mogę połączyć się z bazą danych');
  10.  
  11. $result=mysql_query("SELECT imiepacjenta, nazwiskopacjenta FROM pacjent WHERE nrpacjenta=$select LIMIIT 1");
  12. $num=mysql_num_rows($result);
  13. if($num>0){ echo'Wybrany pacjent to ';
  14. while($p=mysql_fetch_array($result){
  15. echo "$p[imiepacjenta] $p[nazwiskopacjenta]";
  16. }
  17. }else{ echo 'nie ma takiego pacjenta';}
  18. }else{echo 'prosze wybrac pacjenta z pola select';}}
  19.  
  20.  


formularz
  1.  
  2. $query = "select nrpacjenta, imiepacjenta, nazwiskopacjenta From pacjent order by 'nrpacjenta' DESC";
  3. $result = mysql_query($query);
  4. $num_results = mysql_num_rows($result);
  5. if($num_results>0){
  6. echo '<form action="kartawys.php" method="post">';
  7. echo'<select name="pacjent" align="center">';
  8. while($wybor = mysql_fetch_array($result)) {
  9. echo'<option value="'.$wybor['nrpacjenta'].'">'.$wybor['imiepacjenta'].' '.$wybor['nazwiskopacjenta'].'</option>';
  10. }
  11. echo'</select><br/>';
  12. echo '<input type="submit" name="wyslij" value="wyslij">';
  13. echo '</form>';
  14. echo '<br></br>';}
  15. else{
  16. echo 'brak wynikow';}
  17.  

jakbys jeszcze mógl rzucic okiem wielkie dzieki

sadistic_son
prosze rzuć okiem co zrobiłem nie tak, bo nie działa!!!!

czy ktos mi moze pomóc (IMG:style_emoticons/default/questionmark.gif)

tak tez nie działa (IMG:style_emoticons/default/sad.gif)
  1. if(isset($_POST['wyslij']))
  2. { //sprawdza czy w ogole kliknieto w przycisk wysylania2.
  3. if(isset($_POST['pacjent']);)
  4. { //sprawdza czy wybrano coś z selecta i czy nie jest to wybor domyslny
  5. $select= intval($_POST['pacjent']); //intval tworzy liczbę z tego co było w $_POST['pacjent']. To zabezpieczenie jakby ktoś chciał wysłać coś innego. A to ma być liczba bo tym polem przekazywane jest id - czyli liczba.4.
  6.  
  7.  
  8. $connection = @mysql_connect('localhost', 'root', 'root')
  9. or die('Brak połączenia z serwerem MySQL');
  10. $db = @mysql_select_db('gabinet', $connection)
  11. or die('Nie mogę połączyć się z bazą danych');
  12.  
  13.  
  14.  
  15. $result=mysql_query("SELECT imiepacjenta, nazwiskopacjenta FROM pacjent WHERE nrpacjenta=".$select."");
  16. $num=mysql_num_rows($result);
  17. if($num>0){ echo "Wybrany pacjent to ";
  18. while($p=mysql_fetch_array($result){
  19. echo stripslashes($p["imiepacjenta"] $p["nazwiskopacjenta"]);
  20. }
  21. }else{ echo "nie ma takiego pacjenta";}
  22. }else{echo "prosze wybrac pacjenta z pola select";}}


po wielu dniach ciezkiego boju i dzieki nieocenionej pomocy sadistic_son
udało się
oto ostateczny kod pliku kartawys.php
  1. if(isset($_POST['wyslij']))
  2. { //sprawdza czy w ogole kliknieto w przycisk wysylania2.
  3. if(isset($_POST['pacjent']))
  4. { //sprawdza czy wybrano coś z selecta i czy nie jest to wybor domyslny
  5. $select= intval($_POST['pacjent']); //intval tworzy liczbę z tego co było w $_POST['pacjent']. To zabezpieczenie jakby ktoś chciał wysłać coś innego. A to ma być liczba bo tym polem przekazywane jest id - czyli liczba.4.
  6.  
  7.  
  8. $connection = @mysql_connect('localhost', 'root', 'root')
  9. or die('Brak połączenia z serwerem MySQL');
  10. $db = @mysql_select_db('gabinet', $connection)
  11. or die('Nie mogę połączyć się z bazą danych');
  12.  
  13.  
  14.  
  15. $result=mysql_query("SELECT imiepacjenta, nazwiskopacjenta FROM pacjent WHERE nrpacjenta=".$select."");
  16. $num=mysql_num_rows($result);
  17. if($num>0){ echo "Wybrany pacjent to ";
  18. while($p=mysql_fetch_array($result)){
  19. echo stripslashes($p["imiepacjenta"]);
  20. echo stripslashes ($p["nazwiskopacjenta"]);
  21. }
  22. }else{ echo "nie ma takiego pacjenta";}
  23. }else{echo "prosze wybrac pacjenta z pola select";}}
  24.  
  25.  


formularz
  1.  
  2. $connection = @mysql_connect('localhost', 'root', 'root')
  3. or die('Brak połączenia z serwerem MySQL');
  4. $db = @mysql_select_db('gabinet', $connection)
  5. or die('Nie mogę połączyć się z bazą danych');
  6.  
  7. $query = "select nrpacjenta, imiepacjenta, nazwiskopacjenta From pacjent order by 'nrpacjenta' DESC";
  8. $result = mysql_query($query);
  9. $num_results = mysql_num_rows($result);
  10. if($num_results>0){
  11. echo '<form action="kartawys.php" method="post">';
  12. echo'<select name="pacjent" align="center">';
  13. while($wybor = mysql_fetch_array($result)) {
  14. echo'<option value="'.$wybor['nrpacjenta'].'">'.$wybor['imiepacjenta'].' '.$wybor['nazwiskopacjenta'].'</option>';
  15. }
  16. echo'</select><br/>';
  17. echo '<input type="submit" name="wyslij" value="wybierz">';
  18. echo '</form>';
  19. echo '<br></br>';}
  20. else{
  21. echo 'brak wynikow';}
  22.  

jakby się komuś przydało
temat do zamknięcia pozdro
Go to the top of the page
+Quote Post

Posty w temacie


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: 4.10.2025 - 18:02