Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX][MySQL][PHP]Reload rekordu z zachowaniem formatowania
Forum PHP.pl > Forum > Przedszkole
rafik73
Witam
Mam listę danych z tabeli mysql, powiedzmy kolumna owoce. w php jest postawiony
warunek, że jeśli owoc to banan to kolor czcionki zmienia się na czerwony.
czyli wyświetla np:
1 jabłko
2 gruszka
3 banan
4 kiwi

Za pomocą AJAX po kliknięciu w przycisk aktualizuje rekordy, oczywiście bez przeładowania strony.
Czy można zrobić tak, żeby po zmianie rekordu 3 banan na inny owoc
w czasie rzeczywistym zostanie uwzględnione formatowanie i kolor rekordu 3 zmieni się na czarny?
rad11
Zwróć z serwera przy responsie to co Cię interesuje i na tej podstawie pokoloruj.
rafik73
Zwrócić wartość rekordu z owocem za pomocą json?

A jak przeładować rekord?

Tak sobie myślę,że może nie zwracać zawartości ajaxem, można po aktualizacji rekordu w bazie danych przeładować tylko ten fragment strony który odpowiada za wyświetlanie tego rekordu. Tylko jak? .load () ?

Nic? Żadnej sugestii?
viking
Możesz nawet jako htm i w odpowiednio już pokolorowane. Możesz w JS sprawdzić response i na bazie tych danych zrobić.
rafik73
Chcę,by warunek if w php to pokolorował,czyli żeby po zapisaniu do bazy niejako wykonało ponownie fragment kodu php z warunkiem if
viking
No to zwróć gotowy html i możesz go wczytać nawet przez load() w jquery.
rafik73
Spróbuje poniższy kod jak będę przy kompie:

[JAVASCRIPT] pobierz, plaintext
  1. $(#div).load ("stronazowocami.php #div")
[JAVASCRIPT] pobierz, plaintext
;
viking
$('#div')...
Ale to już podstawy totalne.
rafik73
Viking,nie przesadzaj - literówka, pisze w niedogodnych warunkach na tablecie ?

Problem jest dużo większy. Mam pętle, dzięki której jest wyświetlana lista samych niedziel.

  1. //tu pętla generuje same niedziele do zmiennej $data
  2. {
  3. // w tej pętli jest zapytanie do mysql wyszukujące rekordy zawierające $data
  4. if $data == true{
  5. //(wygląd 1)wyświetla (nakłada) rekord z zawartością, który można edytować (tu znajdują się selecty w 3 kolumnach i 3 kolorach - powiedzmy czerwony, żółty i niebieski)
  6. // przy każdym rekordzie jest przycisk edytuj
  7. }
  8. else
  9. {
  10. //(wygląd 2)wyświetla puste inputy dzięki którym można dodać rekord (tu znajdują się selecty w 3 kolumnach i 1 kolorze - powiedzmy szarym)
  11. //oraz przycisk dodaj
  12. }
  13. }//koniec pętli generującej niedziele


Za pomocą AJAX dodaję lub updatuje rekordy. Ten proces działa bez zarzutu. Ale chciałbym, żeby np.: po dodaniu rekordu
zmienił się wygląd 2 na wygląd 1 bez przeładowywania strony. Nie wiem jak spowodować, żeby zadziałał warunek if i naniosły się zmiany.

Location.reload() nie wchodzi w grę. Pomoże ktoś?

Pobieram ze skryptu:
  1. echo '<div id="xx">' ;
  2. if($nazwa=="1234")
  3. {
  4. $nazwa_color = "red" ;
  5. }
  6. else
  7. {
  8. $nazwa_color = "black" ;
  9. }
  10.  
  11. echo '<div style="padding-left:0px;float:left;margin-left:1px;"><input type="text" autocomplete="off"
  12. style="font-family:Tahoma;text-indent:2px;text-align:left;font-size:12px;width:500px;height:29px;background-color : White ; color : '.$nazwa_color.';border-width:1px;border-style:ridge;border-color:rgb(208,208,208);"
  13. name="nazwa" value="b" class="wyk_edit"></div>';
  14. echo'</div>';

w js:

[JAVASCRIPT] pobierz, plaintext
  1. $(this).parent().parent().parent().find(".xx").load("setup-wyklady/wyk_edit_proces.php #xx");
[JAVASCRIPT] pobierz, plaintext


Dlaczego nie uwzględnia warunku if?

Nikt nie pomoże?

Ok,poszło callbackiem przez
.html(), musiałem się troche dokładniej wczytać w manual.
Dziękuję za sugestie i pomoc, które mnie naprowadziły.
Temat do zamknięcia.
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.