Evenementen script werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Eeyk Vd noot

Eeyk Vd noot

11/02/2014 19:07:45
Quote Anchor link
Goede dag,
ik heb hier een script gemaakt heb er een uurtje/half aangewerkt dus het is niet erg netjes.
maar het script geeft geen evenementen weer ziet iemand wat er fout is?

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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
}else{
  $dbkalender = mysql_query("SELECT * FROM `kalender`");
  $kalendert = mysql_fetch_object($dbkalender);

$dagen1 = date('j')-1;
$dagen2 = date('j');
$dagen3 = date('j')+1;
$dagen4 = date('j')+2;

$maanden = date('n');    
$jaren = date('y');

$sw2 = mysql_query("SELECT `dag`,`maand`,`jaar` FROM `kalender` WHERE `dag`='".mysql_real_escape_string($dagen2)."' AND `maand`='".mysql_real_escape_string($maanden)."' AND `jaar`='".mysql_real_escape_string($jaren)."'");
$vandaag = mysql_num_rows($sw2);
if($vandaag > 0){
mysql_query("UPDATE `kalender` SET `actief`='1' WHERE `dag`='".mysql_real_escape_string($dagen2)."' AND `maand`='".mysql_real_escape_string($maanden)."' AND `jaar`='".mysql_real_escape_string($jaren)."'");
}
else{
mysql_query("UPDATE `kalender` SET `actief`='0'");
}



if($kalendert->dag == $dagen1 and $kalendert->maand == $maanden and $kalendert->jaar == $jaren and $kalendert->actief == "0"){
$evelement1 = "<a href=\"evenementen.php?id=".md5($kalendert->id)."\" target=\"maintarget\"><strong>".$kalendert->titel."</strong>...</a>";
}
else{
$evelement1 = "Geen evenement.";
}

if($kalendert->dag == $dagen2 and $kalendert->maand == $maanden and $kalendert->jaar == $jaren and $kalendert->actief == "1"){
$evelement2 = "<a href=\"evenementen.php?id=".md5($kalendert->id)."\" target=\"maintarget\"><strong>".$kalendert->titel."</strong>...</a>";
}
else{
$evelement2 = "Geen evenement.";
}

if($kalendert->dag == $dagen3 and $kalendert->maand == $maanden and $kalendert->jaar == $jaren and $kalendert->actief == "0"){
$evelement3 = "<a href=\"evenementen.php?id=".md5($kalendert->id)."\" target=\"maintarget\"><strong>".$kalendert->titel."</strong>...</a>";
}
else{
$evelement3 = "Geen evenement.";
}

if($kalendert->dag == $dagen4 and $kalendert->maand == $maanden and $kalendert->jaar == $jaren and $kalendert->actief == "0"){
$evelement4 = "<a href=\"evenementen.php?id=".md5($kalendert->id)."\" target=\"maintarget\"><strong>".$kalendert->titel."</strong>...</a>";
}
else{
$evelement4 = "Geen evenement.";
}


$kalender = date('j')-1;
$kalender1 = date('j');
$kalender2 = date('j')+1;
$kalender3 = date('j')+2;

$maand = date('M');

echo "<table summary=\"text\" style=\"width: 704px;\" cellpadding=\"1\" cellspacing=\"1\">";
echo "<tr>";
echo "<td class=\"subtitle\" colspan=\"4\">Evenementen agenda</td>";
echo "</tr>";
echo "<tr>";
echo "<td class=\"MenuLink\" style=\"width: 175px; height: 68px;\" valign=\"top\">".$kalender."-".$maand;
echo "<br />".$evelement1."</td>";
echo "<td class=\"MenuLink\" style=\"width: 175px; height: 68px;\" valign=\"top\"><strong>".$kalender1."</strong>-<strong>".$maand."</strong>";
echo "<br />".$evelement2."</td>";
echo "<td class=\"MenuLink\" style=\"width: 175px; height: 68px;\" valign=\"top\">".$kalender2."-".$maand;
echo "<br />".$evelement3."</td>";
echo "<td class=\"MenuLink\" style=\"width: 175px; height: 68px;\" valign=\"top\">".$kalender3."-".$maand;
echo "<br />".$evelement4."</td>";
echo "</tr>";
echo "</table>";

}

?>



de mysql invoer is :

Dag : 11
maand : 2
jaar : 14
Actief : 0




het script ziet er als volgt uit : http://www.pocketmonsters.nl/menucentraal.php
de bedoeling is dat je waar nu geen evenement staat de aankomende evenementen worden weergeven.
en als er niks is er dus geen evenement staat.

ziet iemand wat er fout is?
Gewijzigd op 11/02/2014 19:10:21 door Eeyk Vd noot
 
PHP hulp

PHP hulp

20/04/2024 05:24:17
 
- Ariën  -
Beheerder

- Ariën -

11/02/2014 19:12:36
Quote Anchor link
het ziet er behoorlijk omslachtig uit?

Waarom haal je alle nog te komen evenementen niet gewoon met een while()-loop op? Ook kan ik zeker aanraden om eens naar DATETIME van MySQL te kijken, hiermee kan je heel makkelijk rekenen en kan je je code een stuk overzichtelijker maken.
 
Koen Hollander

Koen Hollander

11/02/2014 19:13:48
Quote Anchor link
Ik weet niet of ik het goed heb, maar een object kan je niet als een array behandelen in een echo. Probeer er eens fetch_assoc van te maken
 
- Ariën  -
Beheerder

- Ariën -

11/02/2014 19:17:09
Quote Anchor link
Waar wordt het als een array dan behandeld, Koen? Verder raad ik ook aan om gewoon met array's te werken.
 
Erwin H

Erwin H

11/02/2014 20:55:06
Quote Anchor link
Eeyk Vd noot op 11/02/2014 19:07:45:
Goede dag,
ik heb hier een script gemaakt heb er een uurtje/half aangewerkt dus het is niet erg netjes.
maar het script geeft geen evenementen weer ziet iemand wat er fout is?

Losse vertaling: je hebt zelf gewoon geen zin om er serieus naar te kijken dus laat je het anderen maar doen.

In dat geval, ik heb er 10 seconden naar gekeken en kan de fout ook niet vinden. Jammer...

Kom op zeg, werk er serieus aan en doe er serieus moeite voor, dan zijn anderen ook bereid je te helpen, maar als je op zo'n manier ergens mee bezig bent kan je beter gelijk stoppen.
 
Eeyk Vd noot

Eeyk Vd noot

11/02/2014 20:57:26
Quote Anchor link
Erwin H op 11/02/2014 20:55:06:
Eeyk Vd noot op 11/02/2014 19:07:45:
Goede dag,
ik heb hier een script gemaakt heb er een uurtje/half aangewerkt dus het is niet erg netjes.
maar het script geeft geen evenementen weer ziet iemand wat er fout is?

Losse vertaling: je hebt zelf gewoon geen zin om er serieus naar te kijken dus laat je het anderen maar doen.

In dat geval, ik heb er 10 seconden naar gekeken en kan de fout ook niet vinden. Jammer...

Kom op zeg, werk er serieus aan en doe er serieus moeite voor, dan zijn anderen ook bereid je te helpen, maar als je op zo'n manier ergens mee bezig bent kan je beter gelijk stoppen.



hahaha :) ik heb er een uurtje aangewerkt maar ben onderhand al 2 uur kwijt om te zoeken en proberen.

Maar je hebt wel gevoel voor humor.
 
- Ariën  -
Beheerder

- Ariën -

11/02/2014 21:01:00
Quote Anchor link
Ik heb al eerder een indicatie gegeven dat het zwaar omslachtig gebouwd is, dus waarom pak je niet de gum, en ga je het opnieuw en logischer opbouwen met de tips die ik je heb gegeven?
Gewijzigd op 11/02/2014 21:01:15 door - Ariën -
 
Mathieu Posthumus

Mathieu Posthumus

11/02/2014 21:01:27
Quote Anchor link
Erwin H je help ons en dat wil je dat weet ik,
maar please reageer niet altijd zo wreed!
 
D B

D B

11/02/2014 21:02:12
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
$dagen1 = date('j')-1;
$dagen2 = date('j');
$dagen3 = date('j')+1;
$dagen4 = date('j')+2;

$kalender = date('j')-1;
$kalender1 = date('j');
$kalender2 = date('j')+1;
$kalender3 = date('j')+2;


Dat is 2 keer hetzelfde :) is niet nodig om dat dubbel te doen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
echo "<table summary=\"text\" style=\"width: 704px;\" cellpadding=\"1\" cellspacing=\"1\">";

echo '<table summary="text" style="width:704px;" cellpadding="1" cellspacing="1">';
?>


Zo hoef je niet zo veel te escapen :)

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<strong>".$kalender1."</strong>-<strong>".$maand."</strong>";

<strong>".$kalender1."-".$maand."</strong>";


Bepaalde reden dat het streepje niet meegenomen word in de <strong> ?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
 mysql_query("SELECT * FROM `kalender`");

$sw2 = mysql_query("SELECT `dag`,`maand`,`jaar` FROM `kalender` WHERE `dag`='".mysql_real_escape_string($dagen2)."' AND `maand`='".mysql_real_escape_string($maanden)."' AND `jaar`='".mysql_real_escape_string($jaren)."'");
?>


Beginnersfoutje, probeer duidelijk te zijn welke kolommen je wilt selecteren uit de tabel. Ook zijn de `` om de tabelnaam bij fatsoenlijke tabelnamen niet nodig. En al helemaal niet om de kolomnamen.



Verder zou ik je adviseren om eens goed te kijken wat de output van je query is, en dan je if regels eens goed controleren. Bijvoorbeeld $kalendert->dag of dit wel allemaal goed uit je query komt.

Ps. misschien kun je hier ook nog wat mee in je mysql_query:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?
 BETWEEN NOW() INTERVAL -1 DAY
    AND NOW() INTERVAL +2 DAY
?>
Gewijzigd op 11/02/2014 21:09:53 door D B
 
- Ariën  -
Beheerder

- Ariën -

11/02/2014 21:11:40
Quote Anchor link
Eigenlijk zou je dag, maand en jaar niet eens apart hoeven op te slaan als je een apart veld maakt voor je datum, met de DATETIME-functie. Pas dan kan je lekker met INTERVALS gaan spelen.
 
Eeyk Vd noot

Eeyk Vd noot

11/02/2014 21:35:46
Quote Anchor link
Bedankt! voor de informatie ik ga er morgen mee aan de slag. :)

Toevoeging op 11/02/2014 23:51:10:

het werkt bedankt!
 



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.