Avatar billede dang Praktikant
11. januar 2004 - 23:14 Der er 6 kommentarer og
3 løsninger

mail() sammen med mysql_query("UPDATE

Jeg bruger den her til at vedligeholde min DB
mysql_query("UPDATE kuld set flag = 0 WHERE slet < '$idag'");
Den går bare ind og laver flaget om til nul hvis en forudbestemt dato overskrides !
Kan jeg flette den sammen med mail() så brugeren får tilsendt en mail om at deres status er ændret ????
Avatar billede exp Juniormester
11. januar 2004 - 23:18 #1
<?php
//forudgående kode

mysql_query("UPDATE kuld set flag = 0 WHERE slet < '$idag'");

mail($modtagermail, $emne, "Din status er ændret");
//efterfølgende kode
?>
Avatar billede jakobclausen Nybegynder
11. januar 2004 - 23:26 #2
Exp >>

Med dit forslag vil der jo ryge en mail afsted selvom der opstår fejl i rettelsen, hvilket nedenstående ikke vil.

<?php
//forudgående kode

$conn = mysql_connect("host", "bruger", "pass");
mysql_select_db("database");
$query = ("UPDATE kuld set flag = 0 WHERE slet < '$idag'");

if(mysql_db_query (database, $query, $conn))
{
    mail($modtagermail, $emne, "Din status er ændret");
}
//efterfølgende kode
?>
Avatar billede exp Juniormester
11. januar 2004 - 23:30 #3
true - men det var jo også _kun_ grundidéen jeg postede... :-)
Avatar billede dang Praktikant
11. januar 2004 - 23:55 #4
Jeg har ikke brug for en fejlmelding da det er et script der bliver kørt en gang i døgnet helt automatisk (eller næsten autoimatisk)jeg tror lige at jeg sætter hele koden ind så kan i bedre se hvad jeg mener !

<?
$idag = date("Y-m-d", mktime (0,0,0,date("m"),date("d"),date("Y")));
$tomorrow = date("Y-m-d", mktime (0,0,0,date("m"),date("d")+1,date("Y")));

$db = mysql_connect(mit login og pass :o)

mysql_select_db("xxxxxxxxxxx",$db);

$result = mysql_query("SELECT * FROM prune",$db);

$myrow = mysql_fetch_row($result);

if($myrow[0] <= $idag)
{
mysql_query("UPDATE kuld set flag = 0 WHERE slet < '$idag'");

mysql_query("UPDATE prune set imorgen = '$tomorrow'");
}

else
{
echo "har opdateret idag";
}
?>
Avatar billede Slettet bruger
12. januar 2004 - 01:21 #5
Hvis jeg forstår dig korrekt, så kan din UPDATE kuld godt komme til at rette i oplysninger for mere end en enkelt bruger på en gang?

Hvis det er tilfældet, så skal du hente de rækker, der vil blive ændret ud med en SELECT først.

$res=mysql_query("SELECT * FROM kuld WHERE flag IS NOT 0 AND slet < '$idag'");

Denne henter kun de rækker ud, der rent faktisk vil blive ændret, hvilket jeg forstod var det, du ønskede.

Derefter kører du bare en helt normal while($row=mysql_fetch_assoc($res))-løkke, som sender post til de udvalgte.
Avatar billede dang Praktikant
12. januar 2004 - 01:37 #6
Set i bakspejlet var det jo nok et åndsvagt spørgsmål, men jeg var ikke helt sikker på om jeg kune gøre det på den måde, så i har stort set ret alle 3
Så jeg gir 10 point til hver hvis der ikke er nogen der har noget imod det !!!
Sandbox, send lige et svar !
Avatar billede Slettet bruger
12. januar 2004 - 01:58 #7
OK
Avatar billede Slettet bruger
12. januar 2004 - 01:59 #8
Ok nu skal jeg nok klikke på radio-knappen ;-)
Avatar billede dang Praktikant
12. januar 2004 - 02:28 #9
Takker mange gange for hjælpen :o)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester