Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX]Przekazanie zmiennej php
Forum PHP.pl > Forum > Przedszkole
Randallmaster
Witam potrzebuje pobrać zmienną php z pliku nazwa.php i wyświetić ją w miesjscu <option value="

W pliku nazwa.php jest dodanie do bazy danych oraz wczytuje wartość którą chce pobrać

  1. $.ajax({
  2. type: "POST",
  3. url: "../ins/nazwa.php",
  4. data: data,
  5. success: function(){
  6. var value = '<?=$zmienna ?>';
  7. alert(value);
  8. var row = '<option value="<?= zmienna; ?>" selected>' + nazwa.val() + ':' + nazwa.val() + '</option>';
  9. $('#identyfikator').append(row);
  10.  
  11. }
!*!
Twój kod przeczy pytaniu jakie zadajesz. Popatrz na pierwszy przykład w dokumentacji jak przesłać dane do skryptu http://api.jquery.com/jQuery.ajax/, odebrać możesz je np. poprzez json, po stronie PHP json-encode i/lub json_decode
Randallmaster
dobrze ale w pliku nazwa.php zapisywane są dane pobrane z formularza do bazy danych. Później chce pobrać id dodanego pliku do bazy i wyświetlenie w value..

Dlatego myślałem żeby w pliku nazwa.php poza zapisem wczytać id i pobrać ja w data..
!*!
I właśnie od tego jest json. odsyłasz dane z php z powrotem do js. a nie mieszasz kod PHP z JS.

Zresztą pokaż kod w całości + opis jak to robisz.
Randallmaster
ciężko mi się pracuje z manualami ponieważ w 100% nie znam angielskiego.. którego json powinienem użyć? Mógłbyś zaproponować jakiś kod

  1. $(document).ready(function(){
  2. $("form#form_kontrachent").submit(function() {
  3. var kon_name_firm = $('input[name=kon_name_firm]');
  4.  
  5. var data = 'kon_name_firm=' + kon_name_firm.val();
  6.  
  7. $.ajax({
  8. type: "POST",
  9. url: "../ins/kontrahent.php",
  10. data: data,
  11. success: function(){
  12. var row = '<option selected>' + kon_name_firm.val() + '</option>';
  13. $('#select_kon').append(row);
  14.  
  15. }
  16.  
  17. });
  18. return false;
  19. });
  20. });


kontrahent.php:
  1. <?php
  2. include("../inc/db.php");
  3. // Odbieranie danych metodą post
  4. $kon_name_firm = htmlspecialchars(trim($_POST['kon_name_firm']));
  5.  
  6.  
  7.  
  8. $dodaj = "INSERT INTO t_kontrahent (kon_name_firm) VALUES ('$kon_name_firm')";
  9. mysql_query($dodaj) or die(mysql_error());
  10.  
  11. ?>


wszystko działa tylko nie potrafię pobrać id aktualnie dodanego rekordu... sad.gif
!*!
http://www.kess.snug.pl/?sid=10&pid=50
Randallmaster
tylko właśnie chodzi o to że nie potrafie umieścić tego id w ajax w <option value="$id"
Tajgeer
Wykorzystaj callback, aby pobrać zwróconą przez skrypt wartość.
http://api.jquery.com/jQuery.ajax/

Na przykład:
JS:
  1. $.ajax(
  2. {
  3. type: "POST",
  4. url: "../ins/kontrahent.php",
  5. data: data,
  6. success: function(value)
  7. {
  8. var row = '<option value="' + value + '" selected>' + kon_name_firm.val() + '</option>';
  9. $('#select_kon').append(row);
  10. }
  11. });

ins/kontrahent.php:
  1. <?php
  2. include("../inc/db.php");
  3. // Odbieranie danych metodą post
  4. $kon_name_firm = htmlspecialchars(trim($_POST['kon_name_firm']));
  5.  
  6.  
  7.  
  8. $dodaj = "INSERT INTO t_kontrahent (kon_name_firm) VALUES ('$kon_name_firm')";
  9. mysql_query($dodaj) or die(mysql_error());
  10.  
  11. ?>
Randallmaster
Tajgeer Działa!

Tylko nie rozumiem dlaczego..

W pliku podałeś tylko echo a tutaj dałeś value dlaczego?
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.