Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [AJAX][MySQL][PHP]Reload rekordu z zachowaniem formatowania
rafik73
post
Post #1





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 19.03.2014

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
rad11
post
Post #2





Grupa: Zarejestrowani
Postów: 1 270
Pomógł: 184
Dołączył: 7.10.2012
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Zwróć z serwera przy responsie to co Cię interesuje i na tej podstawie pokoloruj.
Go to the top of the page
+Quote Post
rafik73
post
Post #3





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 19.03.2014

Ostrzeżenie: (0%)
-----


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?
Go to the top of the page
+Quote Post
viking
post
Post #4





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


Możesz nawet jako htm i w odpowiednio już pokolorowane. Możesz w JS sprawdzić response i na bazie tych danych zrobić.


--------------------
Go to the top of the page
+Quote Post
rafik73
post
Post #5





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 19.03.2014

Ostrzeżenie: (0%)
-----


Chcę,by warunek if w php to pokolorował,czyli żeby po zapisaniu do bazy niejako wykonało ponownie fragment kodu php z warunkiem if
Go to the top of the page
+Quote Post
viking
post
Post #6





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


No to zwróć gotowy html i możesz go wczytać nawet przez load() w jquery.


--------------------
Go to the top of the page
+Quote Post
rafik73
post
Post #7





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 19.03.2014

Ostrzeżenie: (0%)
-----


Spróbuje poniższy kod jak będę przy kompie:

[JAVASCRIPT] pobierz, plaintext
  1. $(#div).load ("stronazowocami.php #div")
[JAVASCRIPT] pobierz, plaintext
;
Go to the top of the page
+Quote Post
viking
post
Post #8





Grupa: Zarejestrowani
Postów: 6 380
Pomógł: 1116
Dołączył: 30.08.2006

Ostrzeżenie: (0%)
-----


$('#div')...
Ale to już podstawy totalne.

Ten post edytował viking 25.01.2016, 14:50:10


--------------------
Go to the top of the page
+Quote Post
rafik73
post
Post #9





Grupa: Zarejestrowani
Postów: 182
Pomógł: 0
Dołączył: 19.03.2014

Ostrzeżenie: (0%)
-----


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.

Ten post edytował rafik73 28.01.2016, 21:31:24
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 19:22