controle aantal berichten en melding na refresh

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Joop Slabbekoorn

Joop Slabbekoorn

29/01/2013 17:42:16
Quote Anchor link
beste mensen,

ik heb een mysql gebaseerde verzoekserver gemaakt deze draaid perfect
heb er een metta refresh opgezet van 1 minuut.

nu wil ik het eigenlijk zo maken dat hij voor en na de refresh kijkt
hoeveel berichten erin staan en als er een is bijgekomen het tabblad
gaat knipperen (net als bij msn) nu heb ik al een java scriptje maar
dat switcht alleen de titel en "nieuw verzoekje" en laat niet het tabblad knipperen.

mijn vragen: 1 hoe laat je hem checken of er een bericht is bijgekomen?
2 heb de ballen verstand van javascript en wie heeft er een scriptje dat
het tabblad laat knipperen

db-tabel: id, naam, artiest, titel, reactie, datum, tijd, ip

groeten joop

Toevoeging op 29/01/2013 18:43:42:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$result
= mysql_query("SELECT * FROM vs");
$rows = mysql_num_rows($result);
sleep( 60 );
$Newrows = Mysql_num_rows(mysql_query("SELECT * FROM vs");
if ($newrows = $rows){ return true;}
else { header ("location: verzoekadmin.php?tabblink=1");
?>


Dacht zelf zoiets maar weet niet zeker
 
PHP hulp

PHP hulp

26/11/2024 04:46:37
 
- SanThe -

- SanThe -

29/01/2013 18:50:13
Quote Anchor link
Dit is géén vergelijking: if ($newrows = $rows)

= is toekennen van een waarde.
== is vergelijken.
=== is vergelijken en checken of het type hetzelfde is.
 
Joop Slabbekoorn

Joop Slabbekoorn

29/01/2013 19:03:07
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$result
= mysql_query("SELECT * FROM vs");
$rows = mysql_num_rows($result);
sleep( 60 );
$Newrows = Mysql_num_rows(mysql_query("SELECT * FROM vs");
if ($newrows === $rows){ return true;}
else { header ("location: verzoekadmin.php?tabblink=1");}
?>


Idd === dan
Gewijzigd op 29/01/2013 20:43:03 door Joop Slabbekoorn
 
- SanThe -

- SanThe -

29/01/2013 19:06:00
Quote Anchor link
Probeer het eens uit zou ik zeggen.
 
Joop Slabbekoorn

Joop Slabbekoorn

29/01/2013 20:37:43
Quote Anchor link
Dit werkt helaas niet het laden van de pagina duurt nu 60 seconden er zou toch een betere manier moeten zijn dan bijvoorbeeld een aparte pagina te maken en twee pagina's te laten refreshen?
Gewijzigd op 29/01/2013 20:42:00 door Joop Slabbekoorn
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

29/01/2013 21:12:17
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
sleep(60);
?>

Vind je het dan gek dat ie er 60 seconden over doet? ;-)
Ga eens googlen op Javascipt/AJAX dan kan je gegevens opvragen zonder de pagina te verversen.
Als je dan ergens niet uitkomt horen we het wel.
 
Joop Slabbekoorn

Joop Slabbekoorn

29/01/2013 23:15:33
Quote Anchor link
klopt ger maar zei al heb de ballen verstand van java en
vroeg me af af het op een of andere manier mogelijk was met php
later vanavond dacht ik zal het ff beetje toelichten met script erbij
maar ja sleep = en blijft sleep en geen "ga door met het script en
voer ddit stukje over 60 seconden uit" dat is wat ik nodig heb.
maar goed ga morgen ff aan de rommel met java alleen het probleem
is dat ik niet goed snap wat ie dan doet :-)
 
Erwin H

Erwin H

29/01/2013 23:26:25
Quote Anchor link
Joop Slabbekoorn op 29/01/2013 23:15:33:
klopt ger maar zei al heb de ballen verstand van java

Maar dat maakt niet uit, als je maar iets begrijpt van Javascript.

(en ik maak alleen maar de opmerking omdat ik verbijsterd ben door het feit dat je de derde bent vandaag....)
 
Joop Slabbekoorn

Joop Slabbekoorn

29/01/2013 23:30:52
Quote Anchor link
Erwin H op 29/01/2013 23:26:25:
Maar dat maakt niet uit, als je maar iets begrijpt van Javascript.

nee dus snap er niks van, denk dat ik het maar laat schieten. of iemand moet me op weg willen helpen?
Erwin H op 29/01/2013 23:26:25:
(en ik maak alleen maar de opmerking omdat ik verbijsterd ben door het feit dat je de derde bent vandaag....)
hoe bedoel je derde vandaag???
 
Erwin H

Erwin H

29/01/2013 23:35:39
Quote Anchor link
Je bent de derde die niet begrijpt dat java !== javascript.
 
Joop Slabbekoorn

Joop Slabbekoorn

29/01/2013 23:46:49
Quote Anchor link
<html>
<head>
<title>verzoek server admin</title>
<link href="icon.png" rel="shortcut icon" type="image/x-icon" />
</head>
<script type="text/javascript">
<!--
var origTitle = document.title;
//snap ik var = $origTitle = document.title; spreekt voor zich
var hiliteTitle = "NIEUW VERZOEKJE!";
//snap ik ook = $hiliteTitle = "text";
var toggle = false;
//toggle is sluiten = false;

setInterval('wijzigTitel()', 500);
//interval voor functie wijzigtitel = 500 ms

function wijzigTitel()
//spreekt ook voor zich
{
document.title = toggle ? origTitle : hiliteTitle;
// ????????????????
toggle = !toggle;
// ????????????????
}
-->
</script>
<body>
</body>
</html>

oke maar wat is wat bijv. php: "mysql INSERT * INTO table" in javascript?
Gewijzigd op 29/01/2013 23:50:54 door Joop Slabbekoorn
 
Bart V B

Bart V B

29/01/2013 23:50:36
Quote Anchor link
Sorry, het is totaal offtopic, maar eh... Do we have a Winner? :)

Even wat betere uitleg:
Java is een programmeer taal.
JavaScript is een script taal.

Wat simpel gezegt op neer komt dat Java gecompileerd (soort van machine code) word.
Terwijl JavaScript gewone leesbare tekst blijft.

EDIT niet dat mijn javaSCRIPT zo denderend is kan ik je wel uitleggen wat die vraagtekens betekenen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
document.title = toggle ? origTitle : hiliteTitle; // dit is een modules true or false
toggle = !toggle; // de var toggle is niet gelijk aan toggle dus true

EDIT 2
Quote:
oke maar wat is wat bijv. php: "mysql INSERT * INTO table" in javascript?

Dat doe je niet in javascript, maar dat regel je in php.
Je zal iets van een AJAX call moeten doen om dit te bereiken.
Helaas ben ik een luie javascripter dus kan je dat niet uitleggen in javascript zelf.
Gewijzigd op 29/01/2013 23:57:31 door Bart V B
 
Joop Slabbekoorn

Joop Slabbekoorn

29/01/2013 23:55:18
Quote Anchor link
oke oke sorry allemaal bedoel natuurlijk javascript!!!
heeeeeele verkeerde afkorting sorry!!!

Toevoeging op 30/01/2013 00:00:47:

Bart V B op 29/01/2013 23:50:36:
EDIT niet dat mijn javaSCRIPT zo denderend is kan ik je wel uitleggen wat die vraagtekens betekenen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
document.title = toggle ? origTitle : hiliteTitle; // dit is een modules true or false
toggle = !toggle; // de var toggle is niet gelijk aan toggle dus true


oke dus de eerste toggle is de var en het vraagteken is in princiepe de uitlees functie die in dit geval false geeft?
 
Erwin H

Erwin H

30/01/2013 00:01:02
Quote Anchor link
"Joop:

oke maar wat is wat bijv. php: "mysql INSERT * INTO table" in javascript?

Niets. Dat kan namelijk helemaal niet. Php is een server side taal die op de server draait, javascript is een client side taal die in de browser draait. In de browser kan je geen direct gebruik maken van de database op de server. Een insert uitvoeren in javascript is dus onmogelijk.
 
Joop Slabbekoorn

Joop Slabbekoorn

30/01/2013 00:07:08
Quote Anchor link
Erwin H op 30/01/2013 00:01:02:
"Joop:

oke maar wat is wat bijv. php: "mysql INSERT * INTO table" in javascript?

Niets. Dat kan namelijk helemaal niet. Php is een server side taal die op de server draait, javascript is een client side taal die in de browser draait. In de browser kan je geen direct gebruik maken van de database op de server. Een insert uitvoeren in javascript is dus onmogelijk.

precies dus nu moet ik een mix van javascript om zonder te refreshen elke 60 seconden te checken via php of er een bericht bij is gekomen. pffffff nu word het leuk en hoe laat ik javascript dan php uitvoeren (zogezegd)
 
Bart V B

Bart V B

30/01/2013 00:33:01
Quote Anchor link
Zoals gezegd ben ik een luie javascripter. :)
Een voorbeeld van autoloading met Jquery vind je hier:
http://www.jquery4u.com/tutorials/auto-refresh-div-content-jquery-ajax/
 
Joop Slabbekoorn

Joop Slabbekoorn

30/01/2013 17:01:05
Quote Anchor link
ben flink aan het stoeien lukt nog niet echt maar ja

kan iemand mij helpen om het bovenstaande javascript alleen uit te voeren als tabblad niet actief is?
blur??? focus??? daar kom ik ff niet uit nu heb dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
<script type='text/javascript'>
  <!--
   var
origTitle = document.title;
   var
hiliteTitle = 'NIEUW VERZOEKJE!';  
   var
toggle = false;
   var
toggle1 = true;
  
   setInterval('wijzigTitel()', 500);
  
   (
window).focus
   function wijzigTitel()
   {

     document.title = toggle1 ? origTitle : hiliteTitle;
     toggle1 = !toggle;
   }
  
   (
window).blur
   function wijzigTitel()
   {

     document.title = toggle ? origTitle : hiliteTitle;
     toggle = !toggle;
   }
 -->

 </script>

?>


Toevoeging op 31/01/2013 01:12:01:

heb het bijna voor elkaar dit is wat ik gedaan heb:

aantalregels.txt aangemaakt -> chmod rechten gegeven -> php uitlezen aantalregels en weg laten schrijven in $aantal -> $aantal vergelijken met $numrows (aantal database regels) -> if {doe niks} else {het blink javascriptje} en daar achteraan $numrows weg laten schrijven in aantalregels.txt

werkt prima maar zou liever kijken of $aantal == $numrows +1 maar daar kom ik ff niet uit dus heb ik nu tijdelijk ook een weggschrijf scriptje aan het verwijderen geplakt (anders gaat hij uiteraard als je er een verwijderd ook zeggen nieuw bericht.

nadeel 1 is dat hij nu na een minuut niet meer knippert omdat ie dan weer gelijk is en wil eigenlijk niet de dj op een button laten klikken van "jaja ik heb het gezien"

nadeel 2 is dat hij ook echt een minuut knippert ook als je het na 10 seconden ziet

dus als er nog mensen zijn die bijvoorbeeld iets van een "tabblad is actief dus je mag uit" ideetje en iets van een "wacht met refreshen want tabblad is nog niet actief geweest na het nieuwe bericht" ideetje voor me hebben of bereid zijn een klein javascriptje voor me te maken heeeeeel graag!!!

groetjes joop
Gewijzigd op 30/01/2013 17:04:50 door Joop Slabbekoorn
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.