Loading page

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
tsirman
Δημοσιεύσεις: 145
Εγγραφή: 14 Νοέμ 2002 22:57
Επικοινωνία:

Loading page

Δημοσίευση από tsirman » 24 Απρ 2006 18:55

Γεια χαρά και χρόνια πολλά.

Αν σε μια σελίδα έχουμε να εκτελέσουμε πολλά ερωτήματα και αργεί να φορτώσει και θέλουμε να βγάζει μια εικόνα για loading πως το κάνουμε;

Ευχαριστώ

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Loading page

Δημοσίευση από Rapid-eraser » 24 Απρ 2006 19:42

Koitas stnv la8os meria tote :P
Client side eivai to problima sou kai oxi server side...

Kalitera mia lisi se javascript
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Loading page

Δημοσίευση από skeftomilos » 24 Απρ 2006 23:36

Η καθυστέρηση οφείλεται στο ό,τι αργεί ο server να ολοκληρώσει την επεξεργασία της σελίδας; Ή μήπως οφείλεται στο μεγάλο όγκο του HTML κώδικα που αργεί να κατέβει στον browser;
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

Loading page

Δημοσίευση από cpulse » 25 Απρ 2006 00:59

Έχω προβληματιστεί κι εγώ με αυτό το θέμα.. δεν το έχω προσπαθήσει ποτέ αλλά θα μπορούσες να κάνεις output μια σελίδα με ένα redirect

<meta http-equiv="refresh" content="0;URL=http://www.xxx.xxx">

Στο τέλος του output να καλέσεις την flush() για να σιγουρέψεις ότι έχει στείλει το content της σελίδας. Μετά το flush() να κάνεις τους αργούς υπολογισμούς. Μετά φαντάζομαι οτι το refresh θα ενεργοποιηθεί αφού ολοκληρωθεί η σελίδα, δηλαδή όταν τελειώσουν οι υπολογισμοί.

Επίσης μέσα στην σελίδα να βάλεις και κανένα ani gif με ένα progress bar που να πηγαίνει συνεχώς απο το 0 στο 100%. Αυτό το έχω τεστάρει.. ο χρήστης δύσκολα το βαριέται γιατί πάντα ελπίζει οτι θα είναι το τελευταίο πέρασμα.

Αν το προσπαθήσεις πες μου τι αποτελέσματα είχε όλο αυτό... :)

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

Loading page

Δημοσίευση από cpulse » 25 Απρ 2006 01:47

Και... κλασσικά... ξέχασα να πω τα απλά...

στην φανταστική λύση που είπα η σελίδα που κάνει το flush() θα πρέπει να λέει "Παρακαλώ περιμένετε" ή κανένα ανέκδοτο...

και η σελίδα του redirect να λέει "Συγχαρητήρια για την υπομονή σας. Η αναμονή έλαβε τέλος." ή κάτι τέτοιο...

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Loading page

Δημοσίευση από ThyClub » 25 Απρ 2006 01:59

cpulse έγραψε:Και... κλασσικά... ξέχασα να πω τα απλά...

στην φανταστική λύση που είπα η σελίδα που κάνει το flush() θα πρέπει να λέει "Παρακαλώ περιμένετε" ή κανένα ανέκδοτο...

και η σελίδα του redirect να λέει "Συγχαρητήρια για την υπομονή σας. Η αναμονή έλαβε τέλος." ή κάτι τέτοιο...
:D

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

Loading page

Δημοσίευση από panosru » 25 Απρ 2006 07:59

kai an fortosei prin teleioso to anekdoto? :cry: ? :P :P :P

PS: poly oraio ayto ;) an kai ego to loading to protimo me JavaScript mias kai einai client side opos eipe kai o Rapid opote giati na epibaryno thn PHP..

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

Loading page

Δημοσίευση από cpulse » 25 Απρ 2006 10:08

Μα και το JavaScript πάλι κάποια PHP σελίδα δεν θα καλέσει; Άρα πάλι η PHP θα τα τραβήξει όλα..

Γενικά δεν συμπαθώ πολύ την JavaScript. Δεν είναι απαραίτητο οτι όλοι οι browsers έχουν υποστήριξη JavaScript και μάλιστα χωρίς bugs. Επίσης δεν μ'αρέσει που με την JavaScript δεν έχεις κεντρικό έλεγχο... κάποιος μπορεί να φτιάξει exploits εύκολα.

Τώρα αμα δεν τελειώσεις το ανέκδοτο μπορεί να πατήσεις το κουμπάκι ξανά για να το διαβάσεις όλο... κι αμα το πείς και σε κανένα φίλο σου να μπεί κι αυτός.. πάει ο server. :o

Άβαταρ μέλους
cpulse
Script Master
Δημοσιεύσεις: 1527
Εγγραφή: 21 Μαρ 2006 19:30
Τοποθεσία: Αθήνα village
Επικοινωνία:

Loading page

Δημοσίευση από cpulse » 25 Απρ 2006 10:19

Κοίτα τι βρήκα στο κουτάκι με τα web objects μου (να σαι καλά Θεμιστοκλή)... ό,τι πρέπει για την περίσταση... αντί για ανέκδοτο βάλε αυτό!
Συνημμένα
hypnotize.gif

Άβαταρ μέλους
tsirman
Δημοσιεύσεις: 145
Εγγραφή: 14 Νοέμ 2002 22:57
Επικοινωνία:

Loading page

Δημοσίευση από tsirman » 25 Απρ 2006 11:22

kai me javascript dld pos ginete?iparxei kati etimo?ine diskolo?

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

Loading page

Δημοσίευση από panosru » 25 Απρ 2006 12:33

an balo ayto gia loading to 70% tou plhthysmou tha klhnoun thn selida!! :lol: :lol: :lol:

Ego sympatho thn JavaScript kai nomizo pos mporeis na exeis poly kalo enegxo me thn JavaScript opos kai asfaleia.. arkei na prosexeis ti grafeis..

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Loading page

Δημοσίευση από fafos » 25 Απρ 2006 14:50

Kati se javascript pou xrhsimopoio ego:

To style:

Κώδικας: Επιλογή όλων

#divLoadCont&#123;position&#58;absolute; width&#58;250; height&#58;50; top&#58;300; left&#58;350; background-color&#58;white; layer-background-color&#58;white; font-family&#58;arial,helvetica; z-index&#58;100;&#125;
.load&#123;
  font-size &#58; 14px;
  font-family &#58; "Trebuchet MS";
  font-weight &#58; bold;
  color &#58; blue;border-width &#58; 2px 2px 2px 2px;border-style &#58; solid solid solid solid;border-color &#58; #ff8000 #ff8000 #ff8000 #ff8000;&#125;
.loads&#123;
  border-right-width &#58; 2px;
  border-bottom-width &#58; 2px;
  border-right-style &#58; solid;
  border-bottom-style &#58; solid;
  border-right-color &#58; black;
  border-bottom-color &#58; black;
&#125;
To parakato javascript sto head (an vgainei kapoios neos browser prepei na enhmeronete):

Κώδικας: Επιλογή όλων

<script type="text/javascript" language="JavaScript">
function checkBrowser&#40;&#41;&#123;
this.ver=navigator.appVersion
this.dom=document.getElementById?1&#58;0
this.ie7=&#40;this.ver.indexOf&#40;"MSIE 7"&#41;>-1 && this.dom&#41;?1&#58;0;
this.ie6=&#40;this.ver.indexOf&#40;"MSIE 6"&#41;>-1 && this.dom&#41;?1&#58;0;
this.ie5=&#40;this.ver.indexOf&#40;"MSIE 5"&#41;>-1 && this.dom&#41;?1&#58;0;
this.ie4=&#40;document.all && !this.dom&#41;?1&#58;0;
this.ns7=&#40;this.dom && parseInt&#40;this.ver&#41; >= 7&#41; ?1&#58;0;
this.ns6=&#40;this.dom && parseInt&#40;this.ver&#41; >= 6&#41; ?1&#58;0;
this.ns5=&#40;this.dom && parseInt&#40;this.ver&#41; >= 5&#41; ?1&#58;0;
this.ns4=&#40;document.layers && !this.dom&#41;?1&#58;0;
this.bw=&#40;this.ie7 || this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns5 || this.ns6&#41;
return this
&#125;
bw=new checkBrowser&#40;&#41;
//Hides the div
function hideIt&#40;div&#41;&#123;
if&#40;bw.bw&#41;&#123;
div="divLoadCont"
obj=bw.dom?document.getElementById&#40;div&#41;.style&#58;bw.ie4?document.all&#91;div&#93;.style&#58;bw.ns4?document&#91;div&#93;&#58;0; 
obj.visibility='hidden'
&#125;
&#125;
onload=hideIt;
</script>

kai auto akrivos kato apo to <body>:

Κώδικας: Επιλογή όλων

<script>
if&#40;bw.bw&#41; document.write&#40;'<div id="divLoadCont"><table width="250" height="50" align="center" valign="middle" class="loads" cellpadding="0" cellspacing="0"><tr><td width="250" height="50" align="center" valign="middle" class="load"><img src="loading.gif" title="Please wait...Loading..." align="left"><br>Please wait...Loading...<br>Παρακαλώ περιμένετε...</td></tr></table></div>'&#41;
</script>
Episynapto kai ena anim eikonidio (loading.gif) to opoio mporeite na allaksete me kapoio diko sas opos mporeite na allaksete kai xromata, grammatoseires keimena klp. Oi poio proxorhmenoi mporoun na xrhsimopoihsoun kai alles methodous emfanishs opos hmidiafanh background eos thn emfanish ths kanonikhs selidas
Συνημμένα
loading.gif
loading.gif (2.8 KiB) Προβλήθηκε 2137 φορές

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

Loading page

Δημοσίευση από soteres2002 » 25 Απρ 2006 18:13

iparxei kai ena "kolpo" me xrisi server side kodika. to pleonektima einai oti den eksartatai apo ton client, pou borei kai na min exei kan javascript. episis einai kai filiko pros text based browsers, opos lynx kai e-links.

me xrisi tis PHP, paratheto ligo pseudo-PHP kodika gia na analiso tin idea.

Κώδικας: Επιλογή όλων

while &#91;mia_baria_diergasia_ginetai tora&#93; &#123;
     emfanise "Please wait..."
     kane_flush_ton_buffer //ameso kserasma tou buffer me flush&#40;&#41;
     sleep gia_kapoia_deuterolepta;
&#125;

-->PHP
...

while&#40;process_finished&#40;&#41; == false&#41; &#123;
     print&#40;"Please wait...\r\n"&#41;;
     flush&#40;&#41;;
     sleep&#40;10&#41;;
&#125;

i process_finished&#40;&#41; tha einai mia apli sinartisi pou tha epistrefei mono true i false kai tha deixnei tin katastasi tis diadikasias, false an den exei teliosei true an einai idi teliomeni. 
auti omologo oti einai mia ligo atsali idea, skepsi, ilopoiisi. pantos tis perissoteres ton periptoseon den dimiourgei esthitiko problima dioti ipotithetai oti sto sleep interval tha balei kaneis px ena xroniko diastima 10 deuterolepton px opote kai i diergasia ipotithetai oti tha teliosei. to kako dld einai oti an kratisei perissotero xrono apo to interval pou exei thesei kaneis tha emfanistei perissoteres apo mia fora to minima, kai sigekrimena oses fores kseperastei to interval stin sleep.

mia skepsi pou mou irthe tora, kai fisika borei na sindiastei me client side scripting an laxei, px gia tin emfanisi i tin apokripsi kapoiou minimatos stin selida.

i idea pantos auti borei na sosei apo terastio kodika javascript. ki an sindiastei me client side kodika tha xriastoune mono liges grammoules gia na kanei hide kana div, opos to skeftomai tora panta.

Άβαταρ μέλους
soteres2002
S. & H. Moderator
Δημοσιεύσεις: 1524
Εγγραφή: 05 Μαρ 2004 22:17
Τοποθεσία: Ιωάννινα

Loading page

Δημοσίευση από soteres2002 » 25 Απρ 2006 18:37

paidia sorrry molis tora eida oti ipothike prin i idea me to flusharisma tou buffer.

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες