Ik heb nu een script:

heel het script:

<?php
include ('iplog.php');
if(isset($_GET['id']))
{
    $sql = "SELECT id,naam,bericht,fid FROM forum_topics ORDER BY id WHERE fid = '".$_GET['id']."'";
    $res = mysql_query($sql);
	while ($row = mysql_fetch_array($res))
		{
			echo '<b>'.$row['naam'].'</b><br>';
		}
}
else
{   
	$sql1 = "SELECT id,naam FROM forum_forums ORDER BY id";
	$res1 = mysql_query($sql1);	
	while ($row1 = mysql_fetch_array($res1))
		{
			echo "<b><a href=" . $_SERVER['PHP_SELF'] . "?id=" . $row['id'] . ">" .$row['naam'] . "</a></b><br>";
		}
}       
?>	


En als ik dan naar mijn pagina ga ( ik maak het voor een forum ) Dan krijg ik helemaal niks op het scherm???
Ik klopt gewoon in: www.mijndomein.nl/forum/forum.php

En ik krijg een witte pagina.

Voer ik een ID in, zo dus: www.mijndomein.nl/forum/forum.php?id=1 , Dan krijg ik de volgende error:

Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\forum\forum.php on line 7


Hoe kan het dat ik zonder ID niks zie,, en niet gewoon die index, en met id wel iets zie,, maar het gewoon een droge error is?? :-/

Mijn Mysql tabellen:

forum_forums:

id      naam

1 	test
2 	test2


id  	 naam  	 bericht  	 fid
0      	 testt 	    kind 	     1


Kleine uitleg over de Tabellen:
forum_forums:
id = gewoon het forum ID
naam = de naam van de forum

forum_topics:
id = topic ID
naam = Naam van de Poster
bericht = Het bericht dat erin staat ( in de topic )
fid = Forum ID, het ID van het forum waar het topic staat.

Ik hoop dat alles duidelijk is...
De query is niet goed, maar omdat je daar niet op controleert gaat je script rustig verder totdat de boel echt in de soep loopt.

Foutafhandeling mag NOOIT ontbreken! Alles wat fout kan gaan, zal ook fout gaan. Wet van Murphy.
juist...
Wat is dan de fout in mijn script?? Ik kan de fout niet vinden.
ORDER BY moet na WHERE, had je gewoon op mysql.com kunnen zien.
Als ik nu doe:
www.mijndomein.nl/forum/forum.php?id=1
krijg ik gewoon mooi de pagina die ik wil zien
Maar als ik nu invoer:
www.mijndomein.nl/forum/forum.php
dan zie ik nog steeds een lege/witte pagina...
Hoe kan ik dit dan oplossen??
mijn code is nu:

<?php
include ('iplog.php');
if(isset($_GET['id']))
{
    $sql = "SELECT id,naam,bericht,fid FROM forum_topics WHERE fid = '".$_GET['id']."' ORDER BY id";
    $res = mysql_query($sql);
	while ($row = mysql_fetch_array($res))
		{
			echo '<b>'.$row['naam'].'</b><br>';
		}
}
else
{   
	$sql1 = "SELECT id,naam FROM forum_forums ORDER BY id";
	$res1 = mysql_query($sql1);	
	while ($row1 = mysql_fetch_array($res1))
		{
			echo "<b><a href=" . $_SERVER['PHP_SELF'] . "?id=" . $row['id'] . ">" .$row['naam'] . "</a></b><br>";
		}
}       
?>	
dit heb ik nu:

<?php
include ('iplog.php');
if(isset($_GET['id']))
{
    $sql = "SELECT id,naam,bericht,fid FROM forum_topics WHERE fid = '".$_GET['id']."' ORDER BY id";
    $res = mysql_query($sql);
	while ($row = mysql_fetch_array($res))
		{
			echo "<b><a href=" . $_SERVER['PHP_SELF'] . "?page=" . $row['id'] . ">" .$row['naam'] . "</a></b><br>";
		}
}
elseif(isset($_GET['page']))
{
    $sql1 = "SELECT id,naam,bericht,fid FROM forum_topics WHERE id = '".$_GET['page']."' ORDER BY id";
    $res1 = mysql_query($sql1);
	while ($row1 = mysql_fetch_array($res1))
		{
			echo "<b>'.$row1['bericht'].'</b><br>";
		}
}
else
{   
	$sql2 = "SELECT id,naam FROM forum_forums ORDER BY id";
	$res2 = mysql_query($sql2);	
	while ($row2 = mysql_fetch_array($res2))
		{
			echo "<b><a href=" . $_SERVER['PHP_SELF'] . "?id=" . $row2['id'] . ">" .$row2['naam'] . "</a></b><br>";
		}
}
?>


En ik krijg nu de volgende error:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\apache\htdocs\forum\forum.php on line 18


en ik snap er geen kont van
De rest waren gewoon domme foutjes van mij,, maar ik snap nu niet wat ik heb foutgedaan!!??
echo "<b><a href=" . $_SERVER['PHP_SELF'] . "?page=" . $row['id'] . ">" .$row['naam'] . "</a></b><br>";

echo "<b>'.$row1['bericht'].'</b><br>";

volgens mijn staan de aanhalingstekens niet goed maar ik werk altijd met print...
dubbele quotes?
ja..
ok!!
bedankt,, gefixt ;-)

Reageren