Beste mensen, ik ben een testopstelling aan het maken, maar ik kom een fout tegen op het moment als ik informatie uit mijn database wil halen en wil weergeven op mijn scherm.

ik krijg de volgende foutmelding :

Warning: mysql_fetch_array() expects parameter 1 to be resource, null given in C:\xampp\htdocs\pro\burger_overzicht.php on line 38

Hierbij staat de \htdocs\pro niet voor pro, maar voor prototype :P hoe kom ik hier vanaf?

het gaat uiteindelijk om dit stukje:

<?php
$query = "SELECT * FROM aanvraag";

while($row= mysql_fetch_array($query));
{
echo ("<tr><td>" . $row["burger_R"] . "</td>\n");
echo ("<td>" . $row["aanvraag_code"] . "</td>\n");
echo ("<td>" . $row["aanvraag"] . "</td>\n");
echo ("<td>" . $row["datum_aanvraag"] . "</td>\n");
echo ("<td>" . $row["status"] . "</td>\n");
echo ("<td>" . $row["datum_afronding"] . "</td>\n");
echo ("<td>" . $row["behandelaar_R"] . "</td>\n");

}
?>
Mijn hele script ziet er zo uit

<?php
session_start();
include('db_connect.php');

if (!empty($_SESSION['burgerservicenummer']))
{
echo 'Uw burgerservicenummer is ' . $_SESSION['burgerservicenummer'];
echo('<br><a href="uitloggen.php">Uitloggen</a><br /><hr>');
}
else
{
// dit persoon is niet ingelogd, terugverwijzen naar index
header('location: index.php') and exit;
}

?>

<html>
<head>
<title>Informatiesysteem Gemeente Leerdan - Overzicht aanvragen burger</title>
</head>
<body>
<h2>Overzicht aanvragen burger</h2>
<table border="1" width="100%">
<tr>
<th>Burgerservicenummer</th>
<th>Code aanvraag</th>
<th>Aanvraag</th>
<th>Datum aanvraag</th>
<th>Status</th>
<th>Datum afronding</th>
<th>Behandeld door</th>
</tr>

<?php
$query = "SELECT * FROM aanvraag";

while($row= mysql_fetch_array($query));
{
echo ("<tr><td>" . $row["burger_R"] . "</td>\n");
echo ("<td>" . $row["aanvraag_code"] . "</td>\n");
echo ("<td>" . $row["aanvraag_nummer"] . "</td>\n");
echo ("<td>" . $row["datum_aanvraag"] . "</td>\n");
echo ("<td>" . $row["status"] . "</td>\n");
echo ("<td>" . $row["datum_afronding"] . "</td>\n");
echo ("<td>" . $row["behandelaar_R"] . "</td>\n");

}
?>
</table>
</body>
</html>


Lees het nu nog eens.
Je probeert tekst in de functie mysql_fetch_assoc te stoppen terwijl die een resource verwacht.
ik heb het met hulp van een bekende veranderd naar
<?php
$query = "SELECT *
FROM aanvraag, burger, behandelaar
WHERE aanvraag.datum_afronding IS NULL";

//AND behandelaar.id_behandelaar = aanvraag.behandelaar_R AND burger.burgerservicenummer =
//aanvraag.burger_R";


$result = mysql_query($query) or
die(mysql_error());
while ($row = mysql_fetch_object($result))
?>
Wanneer ik de // in de 2 regels laat staan is de foutmelding verdwenen, maar toch krijg ik het niet voor elkaar om de gegevens uit de db te halen op het moment dat ik de // weg haal, terwijl het naar mijn idee toch goed staat


Ik weet het, ik ben ontzettend noob, maar kom er helaas niet uit :/
Bouw nette foutafhandeling in en je krijgt de fout op je scherm te zien. Kijk eens naar de tuts op www.phptuts.nl.
Het niet alleen een kwestie van slashes weghalen. De lege regel moet eruit, de "; achter IS NULL moet dan weg.
bedankt voor alle reacties, heb het toegepast en ik krijg nu inderdaad een overzicht van de gegevens in de database, alleen het enige wat er nu verkeerd is, wanneer ik het overzicht zie staan bij aanvraag code, status en 'behandeld door' het id van de aangemaakte informatie binnen de database, dit had eigenlijk een naam etc moeten zijn.

<?php
session_start();
include('db_connect.php');

if (!empty($_SESSION['burgerservicenummer']))
{
echo 'Uw burgerservicenummer is ' . $_SESSION['burgerservicenummer'];
echo('<br><a href="uitloggen.php">Uitloggen</a><br /><hr>');
}
else
{
// dit persoon is niet ingelogd, terugverwijzen naar index
header('location: index.php') and exit;
}

?>

<?php
<html>
<head>
<title>Informatiesysteem Gemeente Leerdan - Overzicht aanvragen burger</title>
</head>
<body>
<h2>Overzicht aanvragen burger</h2>
<table border="1" width="100%">
<tr>
<th>Code aanvraag</th>
<th>burgerservicenummer</th>
<th>Aanvraag</th>
<th>Datum aanvraag</th>
<th>Status</th>
<th>Datum afronding</th>
<th>Behandeld door</th>
</tr>

<?php
$query = "SELECT * FROM aanvraag, behandelaar";
//AND "aanvraag.behandelaar_R = behandelaar.gebruikersnaam";

$result = mysql_query($query) or
die (mysql_error());
while($row = mysql_fetch_array($result))
{
echo ("<tr><td>" . $row["burger_R"] . "</td>\n");
echo ("<td>" . $row["aanvraag_nummer"] . "</td>\n");
echo ("<td>" . $row["code_aanvraag_R"] . "</td>\n");
echo ("<td>" . $row["datum_aanvraag"] . "</td>\n");
echo ("<td>" . $row["status"] . "</td>\n");
echo ("<td>" . $row["datum_afronding"] . "</td>\n");
echo ("<td>" . $row["behandelaar_R"] . "</td></tr>\n");

}
?>
</table>
</body>
</html>
?>
Je moet nog wel even aan je query werken en daarmee de output.
1. $query = "SELECT * FROM aanvraag, behandelaar";
2. //AND "aanvraag.behandelaar_R = behandelaar.gebruikersnaam";
Alleen met 1 heb je een cartesisch produkt alle records van beide bij elkaar.
Je moet de relatie en goed leggen.

$query = "SELECT * FROM aanvraag, behandelaar
WHERE aanvraag.behandelaar_R = behandelaar.gebruikersnaam";
Uit de tabel behandelaar moet je dan de naam van de behandelaar tonen.
Ik hoop dat aanvraag.behandelaar_R = behandelaar.gebruikersnaam een koppeling op id van de behandelaar is....
Heb het voor mekaar gekregen. Na een paar uur ploeteren is het dan toch gelukt!

Bedankt voor alle reacties, heb er wel degelijk wat aan gehad

Reageren