Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] obsluga <selecta>
Forum PHP.pl > Forum > Przedszkole
trucksweb
czy ktos moglby mi powiedziec jak- zaznaczyc w polu <select><option..</select> zapisana w bazie wartosc ?

powiedzmy ze mam, 2tabele:
produkty(w niej jest id_stanu)
stany(przedtawia stany produktow, w niej jest id)

chce podczas edycji produktu, wyswietlic aktualnie wybrany stan produktu, w polu select oraz dac mozlisoc zmiany na inny stan.
mike
selected
trucksweb
to moze tak:
mam teraz w select:
  1. <?php
  2.  
  3. <select name="status" size="1" >
  4. ';?> <?php $zapytanie4 = "SELECT id_stanu, nazwa FROM stany_produktow ORDER BY id_stanu";
  5.  $wynik4 = @mysql_query($zapytanie4);
  6.  while ($row4 = mysql_fetch_array($wynik4, MYSQL_NUM)) {
  7.  echo "<option value=\"$row4[0]\" ";
  8.  
  9.  
  10. echo ">$row4[1]</option>"; } ?><?php
  11. echo '</select>
  12. ?>


a takie cos mi nei dziala:
  1. <?php
  2. if($row[9] == 1) echo ' selected="selected"';
  3.  
  4. ?>
Cezar708
idee można przedstawić za pomocą:
  1. <?php
  2. echo "<select name='mySelect'>";
  3. while ( $row = mysql_fetch_array($result) ){
  4. if ( $row['id'] == $id_edytowanego ){
  5. echo "<option value='{$row['id']}' selected='selected'>{$row['name']}</option>";
  6. } else {
  7. echo "<option value='{$row['id']}'>{$row['name']}</option>";
  8. }
  9. }
  10. echo '</select>';
  11. ?>


EDIT:
Nie ma co... zdążyłem z odpowiedzią... sad.gif
trucksweb
dzieki czarodziej.gif

/edit
cos nie bardzo chce to dzialac- owszem zapisuje nwoe wartosci do bazy ale nie chce wyswietlac prawidlowo:
  1. <?phpif(isset($_POST['wyslany'])) {
  2.  
  3.  
  4.  
  5. //if(eregi (stripslashes(trim($_POST['nazwa'])))) {
  6. $n = trim(mysql_escape_string($_POST['nazwa']));
  7. //}else {
  8. //$n = FALSE;
  9. //echo '<div class="ostrzezenie">Podaj prawidłową nazwę produktu</div>';
  10. //}
  11.  
  12. //if($_POST['j_m']) {
  13. $j_m = trim(mysql_escape_string($_POST['j_m']));
  14. //}else {
  15. //$j_m = FALSE;
  16. //echo '<div class="ostrzezenie">Wybierz prawidłową jednostkę miary !</div>';
  17. //}
  18.  
  19. //if($_POST['stan']) {
  20. $stan = trim(mysql_escape_string($_POST['stan']));
  21. //}else {
  22. //$stan = FALSE;
  23. //echo '<div class="ostrzezenie">Podaj prawidłowy stan magazynowy ! np. 10 </div>';
  24. //}
  25. //if($_POST['st_vat']) {
  26. $st_vat = trim(mysql_escape_string($_POST['st_vat']));
  27. //}else {
  28. //$st_vat = FALSE;
  29. //echo '<div class="ostrzezenie">Wybierz prawidłową stawkę VAT ! </div>';
  30. //}
  31. //if($_POST['cena']) {
  32. $cena = trim(mysql_escape_string($_POST['cena']));
  33. //}else {
  34. //$cena = FALSE;
  35. //echo '<div class="ostrzezenie">Podaj prawidłową cenę produktu ! NETTO </div>';
  36. //}
  37. //if($_POST['id_dostawcy']) {
  38. $id_d = trim(mysql_escape_string($_POST['id_dostawcy']));
  39. //}else {
  40. //$id_d = FALSE;
  41. //echo '<div class="ostrzezenie">Możesz wybrać dostawcę produktu. </div>';
  42. //}
  43. $id_k = trim(mysql_escape_string($_POST['id_kategorii']));
  44. $o = trim(mysql_escape_string($_POST['opis']));
  45. $stan_min = trim(mysql_escape_string($_POST['stan_min']));
  46. $kwiu = trim(mysql_escape_string($_POST['kwiu']));
  47. $cena_zakupu = trim(mysql_escape_string($_POST['cena_zakupu']));
  48. $nr_katalogowy = trim(mysql_escape_string($_POST['nr_katalogowy']));
  49. $uwagi = trim(mysql_escape_string($_POST['uwagi']));
  50.  
  51. $status = trim(mysql_escape_string($_POST['status']));
  52. //$id_d = trim(mysql_escape_string($_POST['id_dostawcy']));
  53.  
  54. if($n) {
  55. $zapytanie = "UPDATE produkty SET id_dostawcy='$id_d', nazwa='$n', opis='$o', kwiu='$kwiu', j_m='$j_m', stan='$stan', stan_min='$stan_min', st_vat='$st_vat', cena='$cena', cena_zakupu='$cena_zakupu', uwagi='$uwagi', status='$status', nr_katalogowy='$nr_katalogowy' WHERE id=$id";
  56. $wynik = @mysql_query($zapytanie);
  57. }
  58. }//koniec wyslany
  59.  
  60.  
  61. //wyswietlenie informacji o produkcie
  62. $zapytanie = "SELECT * FROM produkty WHERE id=$id";
  63. $wynik = @mysql_query($zapytanie);
  64.  
  65.  //jesli produkt o podanym id istnieje to wyswietl jego dane
  66.  if(@mysql_num_rows($wynik) == 1) {
  67.  //pobiera informacje
  68.  $row = mysql_fetch_array($wynik, MYSQL_NUM);
  69.  
  70. echo '
  71.  
  72. <form action="?akcja=edytuj_produkt&id='. $id .'" method="post">
  73. <table>
  74. <tr><td>Nazwa</td><td><input type="text" name="nazwa" size="20" maxlength="40" value="'. $row[3] .'" /></td></tr>
  75. <tr><td>kwiu</td><td><input type="text" name="kwiu" size="20" maxlength="40" value="'. $row[5] .'" /></td></tr>
  76. <tr><td>Dostawca</td><td>
  77. <select name="id_dostawcy" size="1" >
  78.  
  79. ';?> <?php $zapytanie2 = "SELECT id, nazwa FROM dostawcy WHERE status=0 ORDER BY id";
  80.  $wynik2 = @mysql_query($zapytanie2);
  81.  while ( $row2 = mysql_fetch_array($wynik2) ) {
  82.  // echo "<option value=\"$row4[0]\" ";
  83.  
  84.  if ( $row2['0'] == $id_d ){
  85. echo "<option value='{$row2['0']}' selected='selected'>{$row2['1']}</option>";
  86. } else {
  87. echo "<option value='{$row2['0']}'>{$row2['1']}</option>";
  88. }
  89. }
  90.  
  91.  
  92.  
  93.  
  94. echo </select></td></tr>
  95.  
  96.  
  97. ?>


wie ktos czemu ?
drPayton
I przy update i przy select korzystasz ze zmiennej $id która nigdzie nie jest zadeklarowana (chyba, że przegapiłem). Pewnie chodziło o t± z formularza, a wtedy nie $id, tylko $_POST['id']
trucksweb
no wlasnie, jakos nie ma wartosci dla tej zmiennej, nawet przy
$_POST['id']
sad.gif

/edit,
jakos dziwnie,ze zmienna nie przyjmuje wartosci, ale jak dalem
  1. <?php
  2. $row['2']
  3. ?>
zamiast $id_d czy $_POST['id'] to smiga smile.gif
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.