dus overal de a. en b. weg? en dit: ON (b.topic_id = a.id) ook weg?
Link gekopieerd
dit dus:
$sql1 = mysql_query("
SELECT
*
FROM
topic AS a
INNER JOIN
posts AS b
ON
(b.topic_id = a.id)
WHERE
a.sub_id = '".mysql_real_escape_string($_GET['sub_id'])."'
ORDER BY
b.datum
DESC
");
Link gekopieerd
SELECT
ietsvantabel1,
ietsvantabell1,
ietsvantabel2,
ietsvantabell2
FROM
tabel1 AS a
INNER JOIN
tabel2 AS b
ON
b.ID = a.ID
WHERE
a.sub_id = '".intval($_GET['sub_id'])."'
ORDER BY
b.datum
DESC
[Edit]
Een id is altijd een cijfer, gebruik daarvoor (int) of intval()
Link gekopieerd
Foutafhandeling inbouwen en de error in een echo doet wonderen. De error van de query geeft namelijk precies aan waar het fout gaat.
Link gekopieerd
NA dit is me script:
<?php
session_start();
// Database connectie maken
include('config.php');
// Sessie aanmaken herhalen
$_SESSION['login'] = $_SESSION['login'];
// Functies includen
include('Functies.php');
// Stylesheet koppelen
echo '<link href="CSS/Forum.css" rel="stylesheet" type="text/css">';
// Alles uit database halen
$sql1 = mysql_query("
SELECT
*,
*
FROM
topic AS a
INNER JOIN
posts AS b
ON
(b.topic_id = a.id)
WHERE
a.sub_id = '".intval($_GET['sub_id'])."'
ORDER BY
b.datum
DESC
");
// Aantal per pagina en aangeven hoeveel paginas er zijn
$per_pag = 15;
$aant_pag = ceil(mysql_num_rows($sql1) / $per_pag);
// Huidige pagina een waarde geven
if(isset($_GET['nr']))
{
$pagina = $_GET['nr'];
}
else
{
$pagina = 0;
}
// Bepalen vanaf welk rec we uit de db meoten halen
$van = $pagina * $per_pag;
// Gegevens van de huidige pagina uit de database halen
$sql2 = mysql_query("
SELECT
*,
*
FROM
topic AS a
INNER JOIN
posts AS b
ON
(b.topic_id = a.id)
WHERE
a.sub_id = '".intval($_GET['sub_id'])."'
ORDER BY
b.datum
DESC
LIMIT
$van, $per_pag
");
echo '<div class="Forum">';
// Alle pagina nummers echoën
if($aant_pag > 1)
{
echo '<div class="navigatie">';
if($pagina > 0)
{
echo '<a class="nav" href="?sub_id='.$_GET['sub_id'].'&nr='.($pagina - 1).'">Prev</a> ';
}
for($nmr = 0; $nmr < $aant_pag; $nmr++)
{
if($_GET['nr'] == $nmr)
{
echo '<b>'.($nmr + 1).'</b>';
}
else
{
echo '<a class="nav" href="?sub_id='.$_GET['sub_id'].'&nr='.$nmr.'">'.($nmr + 1).'</a>';
}
if($nmr < $aant_pag - 1) {
echo ", ";
}
}
if($aant_pag > $pagina + 1)
{
echo ' <a class="nav" href="?sub_id='.$_GET['sub_id'].'&nr='.($pagina + 1).'">Next</a>';
}
echo '</div>';
}
// Hoofdcategorie titel echoën
echo '<p class="titel-balk">Huiswerk</p>';
// Hoe wie wat waar balk.
echo '<div class="top-info-balk">';
echo '<p class="top-info-klein"></p>';
echo '<p class="top-info-groot">Topic</p>';
echo '<p class="top-info-klein">Replies</p>';
echo '<p class="top-info-middel1">Author</p>';
echo '<p class="top-info-klein">Views</p>';
echo '<p class="top-info-middel2">Last post</p>';
echo '</div>';
if(!mysql_query($sql1) OR !mysql_query($sql2))
{
if(mysql_num_rows($sql1) > 0)
{
// De gegevens echoën
while($rec2 = mysql_fetch_array($sql2))
{
// Aantal posts ophalen
$cnt = mysql_query("SELECT * FROM posts WHERE topic_id = '".$rec2['id']."'");
// Last post ophalen
$sql3 = mysql_query("SELECT * FROM posts WHERE topic_id = '".$rec2['id']."' ORDER BY id DESC LIMIT 1");
$rec3 = mysql_fetch_array($sql3);
// Alles weergeven
echo '<div class="top-frm-balk">';
/*
TopStatus
[ 0 ] => Gewoon
[ 1 ] => Op slot
[ 2 ] => Sticky (Toekomstig)
[ 3 ] => Verhuisd
*/
echo '<p class="top-frm-klein">';
if($_SESSION['login'] == $rec3['poster_id'])
{
if($rec2['status'] == '2')
{
echo '<img style="margin-top: 6.5px;" src="CSS/IMAGES/TopStatus4.gif">';
}
elseif($rec2['status'] == '1')
{
echo '<img style="margin-top: 6.5px;" src="CSS/IMAGES/TopStatus3.gif">';
}
elseif($rec2['status'] == '3')
{
echo '<img style="margin-top: 6.5px;" src="CSS/IMAGES/TopStatus5.gif">';
}
elseif($rec2['status'] == '0')
{
echo '<img style="margin-top: 6.5px;" src="CSS/IMAGES/TopStatus2.gif">';
}
}
else
{
if($rec2['status'] == '2')
{
echo '<img style="margin-top: 6.5px;" src="CSS/IMAGES/TopStatus4.gif">';
}
elseif($rec2['status'] == '1')
{
echo '<img style="margin-top: 6.5px;" src="CSS/IMAGES/TopStatus3.gif">';
}
elseif($rec2['status'] == '3')
{
echo '<img style="margin-top: 6.5px;" src="CSS/IMAGES/TopStatus5.gif">';
}
elseif($rec2['status'] == '0')
{
echo '<img style="margin-top: 6.5px;" src="CSS/IMAGES/TopStatus1.gif">';
}
}
echo '</p>';
echo '<p class="top-frm-groot">';
echo '<a class="toptitel" href="Showtopic.php?sub_id='.$_GET['sub_id'].'&topic_id='.$rec2['id'].'">'.$rec2['titel'].'</a><br>';
echo '</p>';
echo '<p class="top-frm-klein">'.mysql_num_rows($cnt).'</p>';
echo '<p class="top-frm-middel1">'.gebruikersnaam($rec2['poster_id']).'</p>';
echo '<p class="top-frm-klein">'.$rec2['views'].'</p>';
echo '<p class="top-frm-middel2">'.gebruikersnaam($rec3['poster_id']).'<br>'.$rec3['datum'].'</p>';
echo '</div>';
}
}
else
{
echo '<p class="error">Helaas, er zijn nog geen topics in deze categorie</p>';
}
}
else
{
echo '<p class="error">Helaas, er is een fout opgetreden bij een van de query´s</p>';
echo '<br>Query 1:<br>';
echo mysql_error($sql1);
echo '<br>Query 2:<br>';
echo mysql_error($sql2);
}
// Alle pagina nummers echoën
if($aant_pag > 1)
{
echo '<div class="navigatie">';
if($pagina > 0)
{
echo '<a class="nav" href="?sub_id='.$_GET['sub_id'].'&nr='.($pagina - 1).'">Prev</a> ';
}
for($nmr = 0; $nmr < $aant_pag; $nmr++)
{
if($_GET['nr'] == $nmr)
{
echo '<b>'.($nmr + 1).'</b>';
}
else
{
echo '<a class="nav" href="?sub_id='.$_GET['sub_id'].'&nr='.$nmr.'">'.($nmr + 1).'</a>';
}
if($nmr < $aant_pag - 1) {
echo ", ";
}
}
if($aant_pag > $pagina + 1)
{
echo ' <a class="nav" href="?sub_id='.$_GET['sub_id'].'&nr='.($pagina + 1).'">Next</a>';
}
echo '</div>';
}
if(isset($_SESSION['login']))
{
echo '</div><br>';
echo '<a href="Addtopic.php?sub_id='.$_GET['sub_id'].'"><img src="CSS/IMAGES/Addtopic.png" border="0"></a>';
}
else
{
echo '<p class="error">Uw moet inloggen voor u een topic kunt aanmaken.</p>';
echo '</div>';
}
?>
dus zoals je ziet zit er wel degelijk foutafhandeling in...
Link gekopieerd
Regel 17 geen foutafhandeling
Regel 51 geen foutafhandeling
Regel 113 onmogelijk
Regel 121 geen foutafhandeling
Regel 123 geen foutafhandeling
Link gekopieerd
R 17, en 51 worden gecheckt bij de onmogelijke regel XD
en 121 en 123 hebben indd geen foutafhandeling maar het gaat momenteel nu over de andere query's...
Wat is er onmogelijk aan als ik vragen mag?
Link gekopieerd
Hier voer je 2 query's uit.
$sql1 = mysql_query(...);
$sql2 = mysql_query(...);
Dus daar zit nu een resultset in en dan voer je daar weer een query op uit.
if(!mysql_query($sql1) OR !mysql_query($sql2))
Dat gaat niet lukken.
Link gekopieerd
Aaah
$Query =
"
SELECT
veld1,
veld2,
veld3
FROM
topic
WHERE
sub_id = '".intval($_GET['sub_id'])."'
ORDER BY
datum
DESC
";
# Result of query
$Result = mysql_query($Query);
# Kijken of de query is gelukt
if(!$Result) {......
Maar dit heeft toch hetzelfde effect?
Link gekopieerd