Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][MySQL][PHP]przekazanie wartości zmiennej do pliku
Forum PHP.pl > Forum > Przedszkole
mattii
mam plik w którym mam formularz, a w nim m.in. liste rozwijaną z której wybiera się klienta :

  1.  
  2. <form action="pliki/php/sprzedaz_dodaj_dodaj.php" method="post">
  3. <table id="rounded-corner" >
  4. <thead>
  5. <tr>
  6. <th scope="col" class="rounded-login">Kategoria</th>
  7.  
  8. <th scope="col" class="rounded-q2">Nazwa Kupca</th>
  9. <th scope="col" class="rounded-q3">Nazwa Towaru</th>
  10. <th scope="col" class="rounded-q3">Data Sprzedaży</th>
  11. <th scope="col" class="rounded-q3">Adres Dostawy</th>
  12. <th scope="col" class="rounded-q10">Cena Sprzedaży</th>
  13. </tr>
  14. </thead>
  15. <tbody>
  16. <tr>
  17.  
  18.  
  19. <td>
  20. <select name="kategoria">
  21. <?php
  22. for ($i=0;$i<$ile;$i++) {
  23. $wiersz=$wynik->fetch_assoc();
  24. //value="'.$wiersz['nazwa kategorii'].'"
  25. //echo '<input type="hidden" name="nazwa" value="'.$wiersz['id_kategorii'].'">';
  26.  
  27. echo '<option >';
  28.  
  29. echo $wiersz['nazwa_kategorii'];
  30. echo '</option>';
  31. }
  32. ?>
  33. </select>
  34. </td>
  35.  
  36. <td>
  37. <select name="nazwa_klienta">
  38. <?php
  39. for ($i=0;$i<$ile1;$i++) {
  40. $wiersz1=$wynik1->fetch_assoc();
  41. //value="'.$wiersz['nazwa kategorii'].'"
  42. echo '<option >';
  43. echo $wiersz1['id_klienta'];
  44. echo ' ';
  45. echo $wiersz1['id_osoby'];
  46. echo ' ';
  47. echo $wiersz1['imie'];
  48. echo ' ';
  49. echo $wiersz1['nazwisko'];
  50. echo '</option>';}
  51. ?>
  52. </select>
  53. </td>
  54.  
  55. <td>
  56.  
  57. <select name="nazwa">
  58. <?php
  59. for ($i=0;$i<$ile2;$i++) {
  60. $wiersz2=$wynik2->fetch_assoc();
  61.  
  62. echo '<option >';
  63. echo $wiersz2 ['id_tow_na_sp'];
  64. echo " ";
  65. echo $wiersz2['nazwa'];
  66. echo '</option>';}
  67. ?>
  68. </select>
  69.  
  70. </td>
  71. <td><input type="text" size="11" name="data_sprzedazy" size="6"></td>
  72. <td><input type="text" size="11" name="adres_dostawy" size="6"></td>
  73. <td><input type="text" size="11" name="Cena_sprzedazy" size="6"></td>
  74.  
  75. </tr>
  76. <tr><td colspan=4> <a href="index.php?strona=sprzedaz" title="zakup"><input type="submit" value="dodaj nowa sprzedaz"></a></td> </tr>
  77. </tbody>
  78. <tfoot>
  79. <tr>
  80. <td colspan="3" class="rounded-foot-left"><em>Dodawanie nowej sprzedaży.</em></td>
  81. <td class="rounded-foot-right">&nbsp;</td>
  82. </tr>
  83. </tfoot>
  84. </table> </form>



chodzi mi o rozwiązanie takie:

  1. <select name="nazwa_klienta">
  2. <?php
  3. for ($i=0;$i<$ile1;$i++) {
  4. $wiersz1=$wynik1->fetch_assoc();
  5. //value="'.$wiersz['nazwa kategorii'].'"
  6. echo '<option >';
  7. echo $wiersz1['id_klienta'];
  8. echo ' ';
  9. echo $wiersz1['id_osoby'];
  10. echo ' ';
  11. echo $wiersz1['imie'];
  12. echo ' ';
  13. echo $wiersz1['nazwisko'];
  14. echo '</option>';}
  15. ?>
  16. </select>


tutaj do drugiego pliku, wysyłam sobie jako nazwa_klienta id_klienta - ale potzrebuję także wysłać id_osoby -

jak to zmodyfikować aby to było możliwe questionmark.gif

kombinuje na różne sposoby całą niedziele, jednak bez owocnie, proszę o pomoc w tej materii.
Ellington
Ustaw id osoby, jako value dla option, ew. prześlij w polu hidden. Jeżeli id_osoby jest uzależnione od id_klienta, to generuj value pola hidden dynamicznie, za pomocą skryptu javascript, który odczyta wartość id_klienta i dopasuje odpowiednią wartość id_osoby.

Nie wiem, czy do końca Cie zrozumiałem, bo odczuwam lekki chaos w tym, co napisałeś.
mattii
czyli mam


  1. 1.
  2. <select name="nazwa_klienta">
  3. 2.
  4. <?php
  5. 3.
  6. for ($i=0;$i<$ile1;$i++) {
  7. 4.
  8. $wiersz1=$wynik1->fetch_assoc();
  9. 5.
  10. //value="'.$wiersz['nazwa kategorii'].'"
  11. 6.
  12. echo '<option value= "'.$wiersz1['id_osoby'].'" name= "id_osoby">';
  13. 7.
  14. echo $wiersz1['id_klienta'];
  15.  
  16. 11.
  17. echo $wiersz1['imie'];
  18. 12.
  19. echo ' ';
  20. 13.
  21. echo $wiersz1['nazwisko'];
  22. 14.
  23. echo '</option>';}
  24. 15.
  25. ?>
  26. 16.
  27. </select>
  28.  


i w drugim pliku - który mi zapisuje do bazy te dodane dane mam:

  1.  
  2. $id_kategorii=$_POST['kategoria'];
  3. $id_klienta=$_POST['nazwa_klienta'];
  4. $id_tow_na_sp=$_POST['nazwa'];
  5. $cena_sprzedazy=$_POST['cena_sprzedazy'];
  6. $data_sprzedazy=$_POST['data_sprzedazy'];
  7. $adres_dostawy=$_POST['adres_dostawy'];
  8. $id_osoby=$_POST['id_osoby'];
  9.  
  10. require "db_connect.php";
  11. // wywoluje funkcje db_connect()
  12. db_connect();
  13.  
  14. $zapytanie1="insert into sprzedaz (id_sprzedazy, towar_na_sprzedaz_id_tow_na_sp,towar_na_sprzedaz_kategoria_id_kategorii,
  15. klient_id_klienta, klient_osoba_id_osoby,data_sprzedazy, Cena, adres_dostawy )
  16. VALUES
  17. (NULL,'".$id_tow_na_sp."','".$id_kategorii."','".$id_klienta."','".$id_osoby."' ,'".$data_sprzedazy."',
  18. '".$cena_sprzedazy."', '".$adres_dostawy."')";
  19.  
  20. mysqli_query($bd_lacz, $zapytanie1);
  21.  
  22. $id_tow_na_sp= mysqli_insert_id($bd_lacz);
  23.  
  24.  



albo Ciebie źle zrozumiałem, albo ten pomysł nie działa:/

co do hiddena to już tak kombinowałem, ale jak wsadziłem tam hiddena to mi się wtedy option całe rozwalało:/

miałem cos takiego:
  1. <select name="nazwa_klienta">
  2. <?php
  3. for ($i=0;$i<$ile1;$i++) {
  4. $wiersz1=$wynik1->fetch_assoc();
  5. //value="'.$wiersz['nazwa kategorii'].'"
  6. echo '<option >';
  7. echo '<input type="hidden" value="'.$wiersz1[id_osoby].'" name="id_osoby">';
  8. echo $wiersz1['id_klienta'];
  9. echo ' ';
  10. echo $wiersz1['imie'];
  11. echo ' ';
  12. echo $wiersz1['nazwisko'];
  13. echo '</option>';}
  14. ?>
  15. </select>
  16.  
Pilsener
Co nie działało? Kolega dobrze radził, by przekazać id_osoby w name a np. id_klienta jako value, jeśli nie działa, to znaczy, że coś sknociłeś. Możesz też to połączyć, dać value="34_78", a potem to rozdzielić:
  1. list($id_klienta,$id_osoby) = explode("_",$zmienna_z_formularza)
mattii
Cytat(Pilsener @ 15.03.2010, 14:53:20 ) *
Co nie działało? Kolega dobrze radził, by przekazać id_osoby w name a np. id_klienta jako value, jeśli nie działa, to znaczy, że coś sknociłeś. Możesz też to połączyć, dać value="34_78", a potem to rozdzielić:
  1. list($id_klienta,$id_osoby) = explode("_",$zmienna_z_formularza)


nie rozumiem za bardzo powyższego:/

nie zadziałało tak jak kolega Ellington radził ponieważ id osoby mi nie zapisało do bazy - znaczy wrzucilo 0:/

ja to tak zrobilem:

  1.  
  2. [PHP] pobierz, plaintext
  3.  
  4. 1.
  5. 1.
  6. 2.
  7. <select name="nazwa_klienta">
  8. 3.
  9. 2.
  10. 4.
  11. <?php
  12. 5.
  13. 3.
  14. 6.
  15. for ($i=0;$i<$ile1;$i++) {
  16. 7.
  17. 4.
  18. 8.
  19. $wiersz1=$wynik1->fetch_assoc();
  20. 9.
  21. 5.
  22. 10.
  23. //value="'.$wiersz['nazwa kategorii'].'"
  24. 11.
  25. 6.
  26. 12.
  27. echo '<option value= "'.$wiersz1['id_osoby'].'" name= "id_osoby">';
  28. 13.
  29. 7.
  30. 14.
  31. echo $wiersz1['id_klienta'];
  32. 15.
  33.  
  34. 16.
  35. 11.
  36. 17.
  37. echo $wiersz1['imie'];
  38. 18.
  39. 12.
  40. 19.
  41. echo ' ';
  42. 20.
  43. 13.
  44. 21.
  45. echo $wiersz1['nazwisko'];
  46. 22.
  47. 14.
  48. 23.
  49. echo '</option>';}
  50. 24.
  51. 15.
  52. 25.
  53. ?>
  54. 26.
  55. 16.
  56. 27.
  57. </select>
  58.  
  59. czyli coś źle questionmark.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.