Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wykonanie skryptu php bez przeładowania całej strony
Majcon
post 17.04.2013, 21:05:05
Post #1





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 27.11.2012
Skąd: Sieradz

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


Witam posiadam taki kod
  1. $data .= trim(addslashes($_POST['data']));
  2. if(!empty($data)) {
  3. $czas = strtotime($data);
  4. $czas1 = $czas+86400;
  5. $sel = $db->query("SELECT * FROM `ggczat_log` WHERE `kanal` = '{$canal}' AND `last` > '{$czas}' AND `last` < '{$czas1}' ORDER BY `last` ASC");
  6. if($sel->num_rows != 0){
  7. while($row = $sel->fetch_assoc())
  8. {
  9. $czas = date("d.m.Y G:i:s", $row['last']);
  10. $log .= "<br><b>".htmlspecialchars($row['nick'])."</b> {{$czas}} ".htmlspecialchars($row['log']);
  11. }
  12. }else{
  13. $log = "<font color='red'><b>Brak logów</b></font>";
  14. }
  15. }
ten kod po wybraniu daty i kliknieciu szukaj pobiera nick czas i wiadomości z podanego dnia

problem jest w tym że aby to się wykonało trzeba odświeżyć całą stronę a chciałbym żeby po kliknieciu szukaj zaladowalo zmienną $log do <div id="bla"></div> bez przeladowywania strony

p.s. nie znam w ogóle ajaxu ;p
Powód edycji: [nospor]:
Go to the top of the page
+Quote Post
Szymciosek
post 17.04.2013, 22:28:57
Post #2





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


http://www.webdeveloper.com/forum/showthre...t-data-from-php

Pobiera dane z php, po kliknięciu możesz to dać w taki kod:
Kod
$('#element').click(function() {
    //tutaj kod ajax i w success wrzucasz:
    $('#field').text('text');
});
Go to the top of the page
+Quote Post
Majcon
post 17.04.2013, 22:42:07
Post #3





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 27.11.2012
Skąd: Sieradz

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


ech i tak dalej nie rozumie i nie wiem-_-
Go to the top of the page
+Quote Post
pyro
post 18.04.2013, 08:19:14
Post #4





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


jquery.com -> $.ajax -> success


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
PrinceOfPersia
post 18.04.2013, 08:51:19
Post #5





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

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


Cytat
problem jest w tym że aby to się wykonało trzeba odświeżyć całą stronę a chciałbym żeby po kliknieciu szukaj zaladowalo zmienną $log do <div id="bla"></div> bez przeladowywania strony

p.s. nie znam w ogóle ajaxu ;p

to nie zrobisz. Daruj sobie. Ajax jest przereklamowany i nie wszystkie strony muszą go posiadać. Jeśli nie znasz ajaxa/JS i nie chcesz poznać, to nie rób. PHP + lekki HTML też ma rację bytu dzisiaj i potrafi szybszy być niż ajax.


--------------------
Go to the top of the page
+Quote Post
nospor
post 18.04.2013, 08:54:33
Post #6





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6297
Dołączył: 27.12.2004




Cytat
nie wiem jak nazwać
Jakbyś pomyślał, to byś wiedział. Nie chcesz chyba bym użył motywacji w postaci zamknięcia wątku? Poproszę na PW poprawny tytuł, bo już sam zapewne nie możesz edytować.

Skoro nie znasz w ogóle ajax, a chcesz go użyć, to się go naucz. Teraz to nie to samo co 5 lat temu, że nie było o tym żadnych informacji. Teraz są pęczki tutków, pęczki przykładów, pęczki bibliotek, które AJAX sprowadzają do dwóch linijek kodu.

Zainteresuj się jQuery i wróć gdy będziesz miał konkretny problem


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Qleer
post 18.04.2013, 14:21:47
Post #7





Grupa: Zarejestrowani
Postów: 51
Pomógł: 7
Dołączył: 6.06.2008
Skąd: Gdzieś na dysku twardym.

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


Cytat(PrinceOfPersia @ 18.04.2013, 09:51:19 ) *
to nie zrobisz. Daruj sobie. Ajax jest przereklamowany i nie wszystkie strony muszą go posiadać. Jeśli nie znasz ajaxa/JS i nie chcesz poznać, to nie rób. PHP + lekki HTML też ma rację bytu dzisiaj i potrafi szybszy być niż ajax.

PHP + lekki HTML potrafi być szybszy niż ajax facepalmxd.gif


--------------------
zmoderowano
Go to the top of the page
+Quote Post
PrinceOfPersia
post 18.04.2013, 14:40:00
Post #8





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

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


Cytat(Qleer @ 18.04.2013, 15:21:47 ) *
PHP + lekki HTML potrafi być szybszy niż ajax facepalmxd.gif

no niestety, wiele rozdmuchanych serwisów ajaxowych, zamula bardziej niż proste stronki oparte o HTML i PHP, które wczytują się czasem w ułamek sekundy (a ajax potrafi zamulać z kilka sekund).

oczywiście winę ponosi nie ajax, a raczej mnóstwo dołączanych skryptów JS, mnóstwo styli CSS, i rozbuchany HTML - ale mimo wszystko. Więc jeśli założyciel tego tematu robi formularz, i gdzieś przeczytał, że AJAX może przyśpieszyć mu stronę, ale nie chce mu się uczyć AJAXa, to zawsze może np. odchudzić i zoptymalizować stronę (skoro AJAX jest i tak poza jego zasięgiem, skoro go nie umie, i zapewne nie chce mu się go uczyći)

Ten post edytował PrinceOfPersia 18.04.2013, 14:41:26


--------------------
Go to the top of the page
+Quote Post
nospor
post 18.04.2013, 15:00:06
Post #9





Grupa: Moderatorzy
Postów: 36 457
Pomógł: 6297
Dołączył: 27.12.2004




Cytat
i gdzieś przeczytał, że AJAX może przyśpieszyć mu stronę
Autor nic nie wspominał o żadnym przyspieszeniu. Autor poprostu chce to mieć bez przeładowania strony. Nic o szybkości nie wspomina.

I już samo wywołanie ajax dla wyszukiwania będzie szybsze niż wyszukiwanie z przeladowaniem strony.


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Majcon
post 18.04.2013, 19:53:38
Post #10





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 27.11.2012
Skąd: Sieradz

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


Witam nazwa tematu "Wykonanie skryptu php bez przeładowania całej strony"

Mam coś takiego
Kod
        <script type="text/javascript">
            $(document).ready(function(){
                    $('form').submit(function(){
                            var czas = $('#data').val();
               $.post("test.php", { 'czas': czas }, function(data){

i nie wiem co dalej wstawić żeby mi się wykonało i wyświetliło w divie o id np log
plik test.php
Kod
$sel = $db->query("SELECT * FROM `tabela`");
while($r = $sel->fetch_assoc()){
$hmm .= $r['cos'];
}


Go to the top of the page
+Quote Post
PrinceOfPersia
post 18.04.2013, 21:38:28
Post #11





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

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


http://api.jquery.com/load/


--------------------
Go to the top of the page
+Quote Post
Szymciosek
post 18.04.2013, 21:40:40
Post #12





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


Nie rozumiem co ma do tego load()?
Jemu chodzi o to żeby php zwrócił dane BEZ PRZEŁADOWANIA strony, do czego przyda się tutaj ajax.
Go to the top of the page
+Quote Post
Majcon
post 18.04.2013, 21:43:43
Post #13





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 27.11.2012
Skąd: Sieradz

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


no właśnie i część kodu mam a dalej nie wiem sleep.gif nawet nie wiem czy ta część jest dobra

Ten post edytował Majcon 18.04.2013, 21:45:54
Go to the top of the page
+Quote Post
PrinceOfPersia
post 18.04.2013, 21:45:36
Post #14





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

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


Cytat
Nie rozumiem co ma do tego load()?
Jemu chodzi o to żeby php zwrócił dane BEZ PRZEŁADOWANIA strony, do czego przyda się tutaj ajax.

przecież .load() to jedna z ajaxowych funkcji jQuery ohmy.gif
"Load data from the server and place the returned HTML into the matched element."

chociaż łatwo można pomylić z tym: "Note: The event handling suite also has a method named .load(). jQuery determines which method to fire based on the set of arguments passed to it."

Ten post edytował PrinceOfPersia 18.04.2013, 21:46:15


--------------------
Go to the top of the page
+Quote Post
Majcon
post 18.04.2013, 22:05:44
Post #15





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 27.11.2012
Skąd: Sieradz

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


a to czasami nie jakoś tak
$('#log').text(); questionmark.gif
Go to the top of the page
+Quote Post
Szymciosek
post 18.04.2013, 22:07:16
Post #16





Grupa: Zarejestrowani
Postów: 1 168
Pomógł: 126
Dołączył: 5.02.2010
Skąd: Świdnica

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


$("#log").text() -> możesz przypisać do zmiennej

$("#log").text('new text'); -> a tak nadajesz nowy tekst.
Go to the top of the page
+Quote Post
Majcon
post 18.04.2013, 22:17:26
Post #17





Grupa: Zarejestrowani
Postów: 113
Pomógł: 1
Dołączył: 27.11.2012
Skąd: Sieradz

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


to jak to teraz zrobić żeby zmienna $hmm z kodu php wyświetlił się za pomocą text lub load sleep.gif
Go to the top of the page
+Quote Post
pyro
post 21.04.2013, 08:15:49
Post #18





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


  1. $("form").on("submit", function() {
  2. var $this = $(this);
  3. $this.preventDefault();
  4. $.ajax({
  5. url: "/skrypt.php",
  6. success: function(data) {
  7. $("divZWynikiem").html(data);
  8. }
  9. });
  10.  
  11. });


Ten post edytował pyro 21.04.2013, 08:18:18


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
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 Wersja Lo-Fi Aktualny czas: 27.04.2024 - 12:13