webForumDet fria alternativet

olika färger

PHP

7 svar · 523 visningar · startad av Rawhead

Medlem sedan mars 20077 inlägg
Frågan#1

Det jag är ute efter är att kunna bestämma olika färger på viss text, ska försöka förklar här.
Jo En person går in och anmäler sitt intresse för att bli medlem i föreningen, när han fyllt i sina uppgifter så ska man i admin panelen editera denna personens uppgifter och skriva in datum för när personen har betalt medlemsavgift när datumet är ifyllt så ska medlemmens uppgifter visas i grönfärg, när det sen har gått 11 månader så ska personens uppgifter ändras till gult, då vet man att personen bara har 1 månad kvar av medlemsskapet och man skickar ut ett mail och påminner denne om att om en månad går medlemskapet ut.

Är det då någon som skulle kunna hjälpa mig med detta färgkods script??

Medlem sedan juni 20006 031 inlägg
#2

Om du verkligen vill ha det på det sättet så får du ha if-satser där du jämför datumet med dagens datum.

Men är det inte bättre att det automatiskt skickas ett mail när det är 30 dagar kvar så slipper du skicka mailen manuellt?
T.ex skapa ett Cron-job som körs en gång om dagen och skickar mailen.

Medlem sedan mars 20077 inlägg
#3

Jo det verkar ju nice.
Men det är det här med if satser jag e förbannat dålig på, jag har tjuvkollat på lite olika varianter men inte lyckats att få till det riktigt.
Learning by doing e kul men jobbigt :p
Det jag behöver hjälp med är hur en sådan if sats kan se ut.

Medlem sedan juni 20006 031 inlägg
#4

Lessen att jag inte haft tid att ge dig ett exempel, men här är ett som visar hur man kan göra.

<?php 
// datum som medlemskapet är betalt t.o.m
// det hämtar du förmodligen från databasen
$betaldTill = '2007-04-10';

// dela upp år, månad och dag
list($ar, $manad, $dag) = explode('-', $betaldTill);

// ändra till en unix timestamps så vi kan jämföra dom
$sistamanaden = mktime(0, 0, 0, $manad, $dag, $ar);
$idag = mktime(0, 0, 0, date("m")+1, date("d"), date("Y")); // observera att vi lägger på en månad på dagens datum!

if($idag > $sistamanaden) {
	echo "gul länk";
} else {
	echo "grön länk";
}
?>
Medlem sedan mars 20077 inlägg
#5

Tackar Pedda ska kolla detta så fort jag får lite tid över ;)

Medlem sedan mars 20077 inlägg
#6

Suck nä det här blir knas, jag är nog en sån där person som inte ska syssla med sånt här... x( fast det e ju ganska kul endå ;)

snälla kan någon reda upp denna kod

$result = dbquery("SELECT * FROM ".$db_prefix."medlemmar".$orderby." ORDER BY medlemmar_id DESC, medlemmar_namn2 LIMIT $rowstart,10");
		while ($data = dbarray($result)) {
echo "<tr>\n<td class='small' width='22%'><img src='".THEME."images/bullet.gif' alt=''> <a href='".FUSION_SELF."?step=edit&stats_id=".$data['medlemmar_id']."'><b>".$data['medlemmar_namn2'].", ".$data['medlemmar_namn1']."</b></a></td>\n";
echo "<td class='small' align='center' width='12%'>".$data['medlemmar_adress']."</td>";

echo "<td class='small' align='center' width='14%'>".$data['medlemmar_epost']."</td>";
echo "<td class='small' align='center' width='14%'>".$data['medlemmar_hemtel']."</td>";
echo "<td class='small' align='center' width='15%'>".$data['medlemmar_mobil']."</td>";
list($ar, $manad, $dag) = explode('-', $betaldTill);

$sistamanaden = mktime(0, 0, 0, $manad, $dag, $ar);
$idag = mktime(0, 0, 0, date("m")+1, date("d"), date("Y")); 

if($idag > $sistamanaden) {
    echo "#FFFF33";
} else {
    echo "#00FF00";
}
echo "<td class='small' align='center' width='5%'>$betaldTill = ".$data['medlemmar_fee']."</td>";
Medlem sedan juni 20006 031 inlägg
#7

Du måste ange att variabeln $betaldTill är ditt fält i databasen.

Så innan du kör list( ... ) lägger du till:

$betaldTill = $data['datumnamnet'];

Ersätt "datumnamnet" med vad fältet heter i din databas.

Jag har tagit för givet att fältet är datetime?

/red.
Såg nu i din sista rad i koden att den verkar heta medlemmar_fee så ändra till

$betaldTill = $data['medlemmar_fee'];

innan list()

Medlem sedan mars 20077 inlägg
#8

Tack Pedda i mina ögon e du KUNG ;)

Funkar perfekt nu :P

292 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
150 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
152 ms — ändringar (db)