Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP] pole select i edycja update rekordu
Forum PHP.pl > Forum > Przedszkole
d2b
Witam,

Bardzo bym prosił o nakierowanie w kierunku rozwiązania problemu.
A mianowicie mam np. wynik z bazy danych :



do edycji używam takiego kodu:
  1. // formularz Edycji samochodu
  2.  
  3. if ($_GET['akcja'] == 'edytuj') {
  4.  
  5. $zapytanie_edytujace = "SELECT * FROM `samochody` WHERE `samochody_id`=".$_GET['id'];
  6. $samochody = mysql_query($zapytanie_edytujace);
  7. $rekord = mysql_fetch_assoc($samochody);
  8. ?>
  9. <p><b>Edytuj Samochód</b></p>
  10.  
  11. <form action="<?php echo $_SERVER['PHP_SELF'] ?>" method="POST">
  12. <table align="left" bgcolor="#CCCCCC" bordercolor="#CCCCCC">
  13. <tr>
  14. <td>ID:</td>
  15. <td><input readonly name="id" value="<?php echo $rekord['samochody_id'] ?>" size="2"/></td>
  16. </tr>
  17. <tr>
  18. <td>Nazwa Marki:</td>
  19. <td><select name='marka' style="width: 244px;"><br />
  20. <?php
  21. $zapytanie = "SELECT * FROM marka";
  22. $wynik = mysql_query($zapytanie) or die(mysql_error());
  23. while ($row = mysql_fetch_assoc($wynik)){
  24.  
  25. echo '<option value="'.$row['marka_id'].'">'.$row['nazwa_marki']."</option>\n";
  26. }
  27. ?>
  28. </select></td>
  29. </tr>
  30. <tr>
  31. <td>Model:</td>
  32. <td><input name="model" value="<?php echo $rekord['model'] ?>" style="width: 244px;" /></td>
  33. </tr>
  34. <tr>
  35. <td>Rok Produkcji:</td>
  36. <td><input name="rok_prod" value="<?php echo $rekord['rok_produkcji'] ?>" style="width: 244px;" /></td>
  37. </tr>
  38. <tr>
  39. <td>Pojemność:</td>
  40. <td><input name="pojemn" value="<?php echo $rekord['pojemnosc'] ?>" style="width: 244px;" /></td>
  41. </tr>
  42. <tr>
  43. <td>Liczba Drzwi:</td>
  44. <td><input name="ldrzwi" value="<?php echo $rekord['liczba_drzwi'] ?>" style="width: 244px;" /></td>
  45. </tr>
  46. <tr>
  47. <td>Typ:</td>
  48. <td><select name='typ' style="width: 244px;"><br />
  49. <?php
  50. $zapytanie = "SELECT * FROM typ";
  51. $wynik = mysql_query($zapytanie) or die(mysql_error());
  52. while ($row = mysql_fetch_assoc($wynik)){
  53.  
  54. echo '<option value="'.$row['typ_id'].'">'.$row['typ']."</option>\n";
  55. }
  56. ?>
  57. </select></td>
  58. </tr>
  59. <tr>
  60. <td>Opis:</td>
  61. <td><textarea name='desc' style="height: 220px; width: 244px;"><?php echo $rekord['opis'] ?></textarea></td>
  62. </tr>
  63. <tr>
  64. <td>Adres url do zdjęcia:</td>
  65. <td><input name="img" value="<?php echo $rekord['zdjecie'] ?>" size="40" /></td>
  66. </tr>
  67. <tr>
  68. <td>Kolor:</td>
  69. <td><select name='color' style="width: 244px;"><br />
  70. <?php
  71. $zapytanie = "SELECT * FROM kolor";
  72. $wynik = mysql_query($zapytanie) or die(mysql_error());
  73. while ($row = mysql_fetch_assoc($wynik)){
  74.  
  75. echo '<option value="'.$row['kolor_id'].'">'.$row['kolor']."</option>\n";
  76. }
  77. ?>
  78. </select></td>
  79. </tr>
  80. <tr>
  81. <td><input type="submit" name="zmien" value="Zmień" /></td>
  82. </tr>
  83. </table>
  84.  
  85.  
  86. </form>



Ogólnie chodzi mi o to, że podczas edycji odrazu zaznacza mi w polach select 1 wartości pól zamiast takie jakie są wybrane w bazie.
Przykład:


- Powinno być standardowo jak na 1 screenie.


Chodzi tu o nazwę marki, typ i kolor. Chciałbym by podczas edycji było ustawione to zgodnie z rekordami w bazie, a nie z tym co jest pierwsze na liście.
Szukałem rozwiązania i jakoś widocznie nie wiem jak to zatytułować. ;(
Dziękuje z góry za pomoc. Dopiero zaczynam swoją przygodę z php itd.
KrzysiekKCN
Kod
<?php
$rekord = mysql_fetch_assoc($samochody);
//(..)
//select
$zapytanie = "SELECT * FROM marka";
$wynik = mysql_query($zapytanie) or die(mysql_error());
while ($row = mysql_fetch_assoc($wynik)){
if ($row['nazwa_marki'] == $rekord['nazwa_marki']) {
    echo '<option value="'.$row['marka_id'].'" selected>'.$row['nazwa_marki']."</option>\n";
} else {
    echo '<option value="'.$row['marka_id'].'">'.$row['nazwa_marki']."</option>\n";
}
?>


coś takiego powinno pomóc
d2b
Ok dziękuje ślicznie za pomoc wink.gif kombinowałem coś podobnego no ale nie wychodziło.

Tylko malutka poprawka musiała być wink.gif

  1. if ($row['marka_id'] == $rekord['marka_id']) {
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.