query met variabelen
Iemand een idee waarom de query voor de foto niet uitgevoerd wordt?
-----------------------------------
Code (php)
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
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
include ("db_connect_local.php");
// query om de waarnemingen te selecteren
$query = " select s.soort,
s.euringnummer,
date_format(datum, '%d-%m-%Y'),
p.plaatsnaam ,
aantal,
from soort s,
waarnemingen w ,
plaats p
WHERE w.soort = s.euringnummer and
p.plaatsnummer = w.locatie and
TO_DAYS(NOW()) - TO_DAYS(datum) between 0 and 8
order by datum desc, soort";
$result = mysql_query ($query);
// query om te kijken of er een foto in de tabel staat
$zoekfoto = "select fotonr from vwg_foto where soort='". $soortc. "'";
?>
include ("db_connect_local.php");
// query om de waarnemingen te selecteren
$query = " select s.soort,
s.euringnummer,
date_format(datum, '%d-%m-%Y'),
p.plaatsnaam ,
aantal,
from soort s,
waarnemingen w ,
plaats p
WHERE w.soort = s.euringnummer and
p.plaatsnummer = w.locatie and
TO_DAYS(NOW()) - TO_DAYS(datum) between 0 and 8
order by datum desc, soort";
$result = mysql_query ($query);
// query om te kijken of er een foto in de tabel staat
$zoekfoto = "select fotonr from vwg_foto where soort='". $soortc. "'";
?>
<html>
<head>
<title>Weekoverzicht</title>
</head>
<body>
<table class="php_tabel" width="100%" border="0" cellspacing="1" cellpadding="2">
Code (php)
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
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
<?php
echo("<tr><td ><span class = \"vet\">Soort</td>
<td width=\"70\" class = \"vet\">Datum </td>
<td width=\"40\" class = \"vet\">Aant. </td>
<td width=\"100\"><span class = \"vet\">Locatie</td>
<td width=\"100\"><span class = \"vet\">Waarnemer</td>
<td><span class = \"vet\">Bijzonderheden</td></tr>");
//
// een voor een de waarnemingen ophalen
//
while (list($soort,$soortc,$datum, $locatie,$aantal,
$schat,$waarn,$bijz,$kaart,$blok,$hok) = mysql_fetch_row($result))
{
// nu kijken of er bij de soort een foto bestaat
$fotoresult = mysql_query($zoekfoto);
// is er een foto, dan een link aanmaken om daarna alle foto's te kunnen tonen
if ($fotoresult[fotonr] <> NULL)
{
$foto = "<a href=\"javascript:popvenster('fotos.php?soort=".$soortc."'); \">foto </a>";
}
else
{
$foto = "leeg";
}
echo("<tr><td valign=\"top\"><span class = \"vet\">$soort</td>
<td valign=\"top\" width=\"70\" nowrap>$datum </td>
<td valign=\"top\" width=\"40\" align= \"center\" >$aantal</td>
<td valign=\"top\" width=\"100\">$locatie</td>
<td valign=\"top\">$waarn</td>
<td valign=\"top\">$bijz </td></tr>");
}
?>
echo("<tr><td ><span class = \"vet\">Soort</td>
<td width=\"70\" class = \"vet\">Datum </td>
<td width=\"40\" class = \"vet\">Aant. </td>
<td width=\"100\"><span class = \"vet\">Locatie</td>
<td width=\"100\"><span class = \"vet\">Waarnemer</td>
<td><span class = \"vet\">Bijzonderheden</td></tr>");
//
// een voor een de waarnemingen ophalen
//
while (list($soort,$soortc,$datum, $locatie,$aantal,
$schat,$waarn,$bijz,$kaart,$blok,$hok) = mysql_fetch_row($result))
{
// nu kijken of er bij de soort een foto bestaat
$fotoresult = mysql_query($zoekfoto);
// is er een foto, dan een link aanmaken om daarna alle foto's te kunnen tonen
if ($fotoresult[fotonr] <> NULL)
{
$foto = "<a href=\"javascript:popvenster('fotos.php?soort=".$soortc."'); \">foto </a>";
}
else
{
$foto = "leeg";
}
echo("<tr><td valign=\"top\"><span class = \"vet\">$soort</td>
<td valign=\"top\" width=\"70\" nowrap>$datum </td>
<td valign=\"top\" width=\"40\" align= \"center\" >$aantal</td>
<td valign=\"top\" width=\"100\">$locatie</td>
<td valign=\"top\">$waarn</td>
<td valign=\"top\">$bijz </td></tr>");
}
?>
</table>
</body>
</html>
Dus moet je controleren of dat hier ook het geval is. Een query kan namelijk altijd mislukken, al is het maar omdat de databaseserver down is.
Voorbeeldje van een foutafhandeling:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
// De eerste twee regels van je code:
ini_set('display_errors', 1);
error_reporting(E_ALL);
// eerste deel van je code
$query = "....."; // Hier je query
$result = mysql_query($query);
// controleer of de query is gelukt:
if(!$result){
echo 'Mislukt: '.mysql_error().'<br />';
echo 'Met query: '..$query;
die(); // Beetje bot, kan beter
}
// rest van de code
?>
// De eerste twee regels van je code:
ini_set('display_errors', 1);
error_reporting(E_ALL);
// eerste deel van je code
$query = "....."; // Hier je query
$result = mysql_query($query);
// controleer of de query is gelukt:
if(!$result){
echo 'Mislukt: '.mysql_error().'<br />';
echo 'Met query: '..$query;
die(); // Beetje bot, kan beter
}
// rest van de code
?>
Heb nu:
ini_set('display_errors', 1);
error_reporting(E_ALL);
include ("db_connect_local.php");
// eerste deel van je code
// regel bestaat in de tabel ; gecontroleerd!
$query2 = "select fotonr
from vwg_foto
where soort='1340'";
$result2 = mysql_query($query2);
// controleer of de query is gelukt:
if(!$result2){
echo 'Mislukt: '.mysql_error().'<br />';
echo 'Met query: '.$query2;
die(); // Beetje bot, kan beter
}
else
{
echo 'Met query: '.$query2;
echo ("<br> resultaat: ". $result2['fotonr']);
die ();
}
en als resultaat op scherm
Met query: select fotonr from vwg_foto where soort='1340'
resultaat:
enig idee???
over en sluiten