Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> AJAX a zapytania skorelowane/podzapytania - czy współpracują?
x X x
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 21.01.2014

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


Czy AJAX obsługuje podzapytania/zapytanie skorelowane?

Mam zapytanie, które jest poprawnie wyświetlane jako zapytanie SQL w PHPMyAdminie (XAMPP 1.8.3-2 dla OSX). Ale którego moja ajaxowa tabela w systemie nie potrafi wyświelić. Nie pojawiają się żadne dane, nawet nie pojawia się pusta tabela zadeklarowana w pliku. Zwykłe zapytania oczywiście działają poprawnie.

Ten post edytował x X x 5.03.2014, 16:18:44
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
x X x
post
Post #2





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 21.01.2014

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


Może i coś nazwałem nieprawidłowo, sugerowałem się wyglądem. Z resztą zamieściłem kod. No ale sorry, nie jestem jakiś mega w temacie.

Tak czy inaczej temat owego zapytania został zakończony, teraz muszę napisać funkcję, która doda mi do bazy danych nowy rekord, jeżeli zedytuję przynajmniej jedno puste pole w wyświetlanych wynikach. Ale to nie wiem czy mogę tutaj prosić o pomoc gdzieś?

EDYCJA: 9.03

Dobra, pomóżcie mi jeszcze w jednej sprawie. Tak wygląda moja wynikowa tabela na stronie:

https://www.dropbox.com/s/3kunkkqnjiv6eov/Z...%2013.11.00.png

Jak widać tabela passes ma na razie tylko 3 rekordy (są tylko 3 id). Jeżeli kliknę na pola, do których przypisane są możliwości edycji pojawia się coś takiego jak na załączniku (jeżeli klikam w pole tekstowe jak komentarz pojawia się okno tekstowe). W przypadku oceny wybieram z listy na sztywno zapisanych w funkcji javascript, która wygląda w ten sposób:

  1.  
  2. $('.editable-select.pass', oTable.fnGetNodes()).editable(
  3. window.location.pathname.replace('Show', 'EditAjax'),
  4. {
  5. indicator: 'Zapisywanie',
  6. tooltip: 'Kliknij, żeby zedytować',
  7. id: 'row_id',
  8. cancel : 'Porzuć',
  9. submit : 'OK',
  10. type : 'select',
  11. data : " {'0':'0' , '2':'2' , '3':'3' , '3.5':'3.5' , '4':'4' , '4.5':'4.5' , '5':'5' , 'ZAL':'ZAL'} ",
  12. submitdata : function(value, settings){
  13. return {ajax: true}
  14. },
  15. callback: function(value, settings){
  16. $(this).text(value.replace(/ /g, ""));
  17. }
  18. }
  19. );


Dla zwykłych pół tekstowych funkcja nazywa się po prostu editable, siedzi ona gdzieś bodajże w bibliotece jquery (bo w pliku search_results.html, z którego pochodzi powyższa funkcja czegoś takiego nie ma).

Pozostałę funkcje, które są używane moim zdaniem do zapisu i późniejszego wyświetlania to:

EditAjax (z pliku Controller.php):
  1. public function EditAjax(){
  2. if(!empty($_POST)){
  3. $v = explode('-', $_POST['row_id']);
  4. $arr = array();
  5. $id = $v[1];
  6. $arr[$v[0]] = $_POST['value'];
  7. parent::EditRecord($id, $arr);
  8. if(isSet($_POST['select_edit'])){
  9. $Table = parent::RewriteTable(parent::GetTable($_POST['select_edit']), $_POST['edit_id']);
  10. echo $Table[$_POST['value']]['name'];
  11. } else {
  12. echo $_POST['value'];
  13. }
  14. }
  15. }


EditRecord (z pliki Modules.php):
  1. public function EditRecord($id, $arr, $tab = '', $tab_id = ''){
  2. if($tab == '') $tab = $this->table;
  3. if($tab_id == '') $tab_id = $this->table_id;
  4. $Result = $this->DB->update($tab, $arr, $tab_id.' = '.$id);
  5. $this->AddLog('edit', $tab, $id);
  6. return $Result;
  7. }


Chyba tyle z tego co potrzebne.

Muszę teraz zedytować lub napisać nową funkcję, która zamiast robić update - doda nowy rekord do tabeli passes, przekazując do niej pobrane z tabeli class_id, student_id i, w zależności co w pierwszej kolejności zedytuje pracownik: pass, pass_date, comments. Mógłby ktoś przy tym pomóc?

Myślę, że na prostym schemacie funkcja taka powinna wyglądać następująco:

IF (pass_id == NULL){
INSERT INTO passes (...) VALUES ($class_id, $student_id, $pass, $pass_date, $comments)
}ELSE{
parent::EditAjax
}

to tylko schemat, ale moim zdaniem tak to powinno wyglądać. Jestem słaby z takich funkcji, gdyby ktoś pomógł będę wdzięczny.

Ten post edytował x X x 9.03.2014, 13:40:38
Go to the top of the page
+Quote Post

Posty w temacie
- x X x   AJAX a zapytania skorelowane/podzapytania - czy współpracują?   5.03.2014, 16:17:50
- - nospor   Cos ci sie pomieszalo..... mysql nie ma zadnego zw...   5.03.2014, 16:22:53
- - x X x   Hm no w systemie tworzy się pewna tabela, która ma...   5.03.2014, 16:31:24
- - nospor   Ja nie mowie, ze to nie jest wina ajaxa. Ja mowie,...   5.03.2014, 16:33:51
- - x X x   Plik controller.php: [PHP] pobierz, plaintext pub...   5.03.2014, 19:18:54
- - PrinceOfPersia   przecież to nie AJAX, to zwykły HTML. pomieszany ...   6.03.2014, 07:51:59
- - x X x   Nie jest to cały kod. search_result.html to tylko ...   6.03.2014, 13:28:33
|- - PrinceOfPersia   Cytat(x X x @ 6.03.2014, 13:28:33 ) N...   7.03.2014, 07:12:25
- - nospor   Podam ci jeszcze raz linka do tematu: Temat: Jak p...   6.03.2014, 13:50:41
- - x X x   Nie wiem czy robię to dobrze, ale z plikiem html o...   6.03.2014, 14:55:18
- - nospor   mysql_query($Result) Jakie $result? Prz...   6.03.2014, 14:59:13
- - x X x   Tak jak napisałem wcześniej. Tak jak to rozumiem, ...   6.03.2014, 15:08:41
- - nospor   $Result ma zapisane rekordy pobrane z bazy. P...   6.03.2014, 15:17:42
- - x X x   To w jaki sposób wyświetlić zawartość zmiennej ...   6.03.2014, 15:20:49
- - nospor   print_r($Result); ? przenosze na przedszkol...   6.03.2014, 15:21:48
- - x X x   Nie dostaję żadnych wyników oraz żadnego komunikat...   6.03.2014, 15:44:05
- - nospor   No bo juz ci mowilem, ze widac, ze $Result ta...   6.03.2014, 15:52:34
- - x X x   No to dlaczego jeżeli, tak jak w pliku search_resu...   6.03.2014, 15:59:19
- - x X x   PrinceOfPersia, wielce dziękuję ci za powyższą odp...   7.03.2014, 13:01:30
|- - PrinceOfPersia   Cytat(x X x @ 7.03.2014, 13:01:30 ) P...   8.03.2014, 07:00:51
- - x X x   Może i coś nazwałem nieprawidłowo, sugerowałem się...   8.03.2014, 16:58:52
- - x X x   Chciałem napisać to w moim poprzednim temacie (któ...   10.03.2014, 18:00:43
- - Kshyhoo   A mnie się udało napisać... łączę wątki.   10.03.2014, 18:09:06
- - x X x   Nie chodziło mi o ten wątek, ale z działu Bazy Dan...   13.03.2014, 19:38:17


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

 



RSS Aktualny czas: 20.01.2026 - 15:05