11. marts 2003 - 23:34Der er
32 kommentarer og 1 løsning
popup ved ny post?
JEg har et community hvor man har intern besked system, jeg er bare ikke helt klar over hvordan man laver en funktion som giver en bruger en popup besked når man modtager ny post..
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Dette vil kræve du har en frame, som står og opdatere f.eks. hvert 5 sek. så skal den tjekke om der er komme noget nyt post brugeren ikke har læst og er der det, kan du lave denne funktion:
<script language="javascript"> var popup = window.open("besked.php", "ahv", "top=0,left=0,width=200,height=400,status=0,resizable=0,scrollbars=0,menubar=0,toolbar=0"); </script>
Er dette tilstrækkeligt eller ønsker du en færdig funktion?
Hvis du nu har et felt i din database som f.eks. kan stå til 1 eller 0. 1 for læst og 0 for ulæst, når brugeren så læser et brev skal den så skifte til 1, på denne måde kan du i en frame som evt. sætte til 0 px så ingen kan se den, her opdatere du f.eks. hvert 5 sekund og tjekker på alle poster der svarer til brugerens id samt at dette "læse" felt står på 0, kommer den igennem kan du så smække det javascript på dem intet schaefners eller min.
Burde virke: <?php $query = mysql_query("SELECT * FROM profil_post WHERE modtager = 'etellerandet' ORDER BY id DESC"); $row = mysql_fetch_array($query); if ($row[laest] == 0) { ?> <script>alert('Du har modtaget ny post');</scrip> <?php } ?>
Ja det er rigtigt nok, men der bliver vel nødt til at være et felt mere i databasen om at nu har personen set denne besked så den ikke dumper frem hele tiden, evt kald dette felt set og sær det til 1 og tjek så om dette felt er 1 når du kører funktionen.
schaefner, så vil der ikke dukke noget op mens man surfer der inde vil der? den bliver jo nødt til at blive reloaded hvis den skal tjekke om der er en som har skrevet til en.
$check = mysql_query("SELECT * FROM bruger_post where laest='0' and til_Id='$bruger_id' and til_slet = '0' and til_popup = '0'") or die (mysql_error());
if(mysql_num_rows($check) != 0) {
$res1 = mysql_query("SELECT * FROM bruger_post where laest='0' and til_Id='$bruger_id' and til_slet = '0'") or die (mysql_error()); while($row1 = mysql_fetch_array($res1)) { mysql_query("UPDATE bruger_post set til_popup = '1' where post_Id = '{$row1["post_Id"]}'"); } ?> <script language="javascript"> var popup = window.open("besked.php", "ho....", ",left=180,top=200,width=200,height=10,status=0,resizable=0,scrollbars=0,menubar=0,toolbar=0"); </script> <?php
ahv >> ja de får kun popupen 1 gang, men det er lidt små irreterende at status varen lige loader hvert 20 sec. nu.. kan man lave noget så den ikke gør det? istedert for meta refresh..
Du kan lave en "evig" while som bliver ved med at stå åben, dog er dette meget krævende og anbefales ikke.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.