Dit is de regel:

$rows = mysql_result(mysql_query("SELECT COUNT(naam) FROM producten ORDER BY naam WHERE categorie = $get "),0);

En dit de foutmelding:
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in /home/banketpa/public_html/new/testpagina.php on line 99

Als ik WHERE categorie = $get weghaal werkt hij wel maar ik moet hem erin hebben staan iemand enig idee

De query is mislukt, maar dat controleer jij nergens. De helft van je code, de belangrijkste helft, ontbreekt dus nog.

En waar moet $get vandaan komen? En waarom controleer jij niet of deze wel bestaat en een geldige waarde heeft? Een controle of er wel resultaten zijn gevonden, kan evenmin kwaad...

Kortom, het grootste deel van je code ontbreekt nog. Zie de tutorials hoe je e.e.a. wel dient op te bouwen.
Doe eens voor de echte error:

$resultaat = mysql_query("SELECT COUNT(naam) FROM producten ORDER BY naam WHERE categorie = $get ") or die mysql_error();
$rows = mysql_result($resultaat,0);
Welk nut heeft het om ORDER BY te doen in het volgende statament

SELECT COUNT(naam)
FROM producten
ORDER BY naam
WHERE categorie = .........

1. ORDER BY slaat in dit geval nergens op
2. het is altijd

SELECT
FROM
[opt] WHERE
[opt] GROUP BY
[opt] ORDER BY

dus ik snap niet dat je presteerd om

ORDER BY
WHERE

te doen

En pruts a.u.b. je code nooit zo in elkaar als je nu hebt maar
<?php
define('DEBUG',true);

$sql = "SELECT COUNT(naam) FROM producten ORDER BY naam WHERE categorie = ". $get; // php variabelen buiten qoutes

if ($result = mysql_query($sql)) {
while ($row = mysql_fetch_assoc($result)) {
var_dump($row); // als voorbeeld
}
}
elseif (DEBUG && mysql_errno() >0) {
echo 'MySql Error: '. mysql_error().'<br />';
echo $sql;
}
else {
// doe hier iets met variabelen die niet gezet zijn
// doordat de query fout is gegaan
}
?>

op deze manier kan je dus ook de query eens goed bekijken en is de mysql_error() in veel gevallen ook nog eens te verklaren.
pgFrank schreef op 23.02.2008 21:02
De query is mislukt, maar dat controleer jij nergens. De helft van je code, de belangrijkste helft, ontbreekt dus nog.

En waar moet $get vandaan komen? En waarom controleer jij niet of deze wel bestaat en een geldige waarde heeft? Een controle of er wel resultaten zijn gevonden, kan evenmin kwaad...

Kortom, het grootste deel van je code ontbreekt nog. Zie de tutorials hoe je e.e.a. wel dient op te bouwen.


Er ontbreekt niks maar het gaat alleen om die regel de variable get staat gewoon in me script $get = $_GET['p'];

maar dat hoeven jullie niet te weten
Sterker nog, de hele ORDER BY slaat nergens op, er valt niks te sorteren! Je krijgt maar 1 resultaat retour, het aantal records dat aan de voorwaarde voldoet. En 1 resultaat valt niet te sorteren...
Oke hier is dan hele script

<?
session_start();
include("include/session.php");

$page = (!isset($_GET['page'])) ? 1 : $_GET['page'];
//aantal records per pagina
$max = 6;
$start = ($max * $page) - $max;
?>


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Banket Partners B.V.</title>
<link href="banketpartners.css" rel="stylesheet" type="text/css">
</head>

<body topmargin="0">
<table width="800" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td><img src="images/website/Navigatie.png" width="800" height="41" border="0" usemap="#navigatie"></td>
</tr>
<tr>
<td background="images/website/login.png" height="58"><table width="800" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="13">&nbsp;</td>
<td width="285">&nbsp;</td>
<td width="467"><div align="right"><strong>
<? if($session->logged_in){ ?> Welkom <i><u><? echo "$session->username"; ?></u></i><? }else{ ?><a href="inloggen.php">Inloggen</a><? } ?><? if($session->isAdmin()){ ?> | <a href="controlepaneel.php">Controle Paneel</a><? } ?> | <a href="adres.php">Adres</a> | <a href="faxlijst.php">Faxlijst</a>
<? if($session->logged_in){ ?> | </strong><a href="process.php"><strong>Uitloggen</strong></a><strong>
<? } ?>
</strong></div></td>
<td width="35">&nbsp;</td>
</tr>
</table></td>
</tr>
<tr>
<td><img src="images/website/banner.png" width="800" height="136"></td>
</tr>
<tr valign="top">
<td background="images/website/bg.png" height="502"><div id="gebak"><table width="800" border="0" cellspacing="0" cellpadding="0" >
<tr>
<td width="13">&nbsp;</td>
<td width="765" colspan="7"></td>
<td width="22">&nbsp;</td>
</tr>

<tr>
<td>&nbsp;</td>
<td colspan="7"><?php
$get = $_GET['p'];
$sql = "SELECT * FROM `producten` WHERE `categorie` = '$get' ORDER BY `artikelnummer` LIMIT " . $start . "," . $max . "";

$resultaat = mysql_query($sql) or die(mysql_error());

echo '<table border="0" cellspacing="0" cellpadding="0" width="500">';

while ($rij = mysql_fetch_assoc($resultaat)) {

$naam = $rij["naam"];
$prijs = $rij["prijs"];
$afbeelding = $rij["afbeelding"];
$toegevoegd = $rij["toegevoegd"];
$descriptie = $rij["descriptie"];
$inhoud = $rij["inhoud"];
$artikel = $rij["artikelnummer"];

echo '<tr>';
echo '<td width="158" rowspan="4"><img src="images/';
echo $afbeelding;
echo '" width="158" height="128"></td><td width="13">&nbsp;</td><td width="329"><b>Naam:</b> ';
echo $naam;
echo '</td></tr><tr><td>&nbsp;</td><td><b>Prijs:</b> ';
if($session->logged_in){
echo $prijs;
}else{
echo "<s>U moet ingelogd zijn</s>";
}
echo '</td></tr><tr><td>&nbsp;</td><td><b>Inhoud:</b> ';
echo $inhoud;
echo '</td></tr><tr><td>&nbsp;</td><td><b>Descriptie:</b><br>';
echo $descriptie;
echo '</td></tr><tr><td><b>Artikel nummer:</b> ';
echo $artikel;
echo '</td><td>&nbsp;</td><td>&nbsp;</td></tr><tr><td>&nbsp;</td><td>&nbsp;</td><td><b>Toegevoegd op:</b> ';
echo $toegevoegd;
echo '</td></tr><tr><td colspan="3"><hr><br></td></tr>';
}
echo "\n";
echo '</table>';
?></td>
<td>&nbsp;</td>
</tr>
<tr>
<td>&nbsp;</td>
<td colspan="7"><?
//hier aan jou mysql gegevens aanpassen
$rows = mysql_result(mysql_query("SELECT COUNT(naam) FROM producten WHERE categorie = " . $get . " ORDER BY naam "),0);
$pages = ceil($rows / $max);
if ($page > 1) {
$previous = $page - 1;
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $previous . "&p=" . $get . "\"><<</a>&nbsp";
}
for ($i = 1; $i <= $pages; $i++) {
if ($page == $i) {
if ($i == $pages) {
echo "<b>" . $i . "</b>&nbsp";
} else {
echo "<b>" . $i . "</b>,&nbsp";
}
} else {
if ($i == $pages) {
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $i . "&p=" . $get . "\">" . $i . "</a>&nbsp";
} else {
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $i . "&p=" . $get . "\">" . $i . "</a>,&nbsp";
}
}
}
if ($page < $pages) {
$next = $page + 1;
echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?page=" . $next . "&p=" . $get . "\">>></a>";
}
?></td>
<td>&nbsp;</td>
</tr>
</table></div>
<br></td>
</tr>
<tr>
<td><img src="images/website/copyright.png" width="800" height="76" border="0" usemap="#copyright"></td>
</tr>
</table>
<p>&nbsp;</p>

<map name="navigatie"><area shape="rect" coords="101,8,147,33" href="index.php">
<area shape="rect" coords="173,9,242,31" href="producten.php">
<area shape="rect" coords="265,10,331,31" href="informatie.php">
<area shape="rect" coords="355,9,407,31" href="nieuws.php">
<area shape="rect" coords="423,8,514,32" href="klantworden.php">
<area shape="rect" coords="532,9,585,30" href="contact.php">
<area shape="rect" coords="603,11,669,31" href="vacatures.php">
</map>
<map name="copyright"><area shape="rect" coords="111,11,216,26" href="http://www.banketpartners.nl">;
<area shape="rect" coords="677,4,772,43" href="feed.xml">
<area shape="rect" coords="649,45,783,60" href="http://www.marksweb.nl"; target="_blank" alt="Designer's Homepage">
</map></body>
</html>
mark schreef op 23.02.2008 21:15
Er ontbreekt niks maar het gaat alleen om die regel de variable get staat gewoon in me script $get = $_GET['p'];

maar dat hoeven jullie niet te weten
Leg dan eens uit hoe het kan dat jij geen fatsoenlijke foutmelding op je scherm of in een logboek krijgt.

En wanneer jij hulp nodig hebt, zul je wel relevante informatie moeten geven. $get = $_GET['p']; is leuk en aardig, maar wie zegt dat $_GET['p'] bestaat en een geldige waarde heeft? Dat controleer jij nergens, daar ontbreekt dus een stuk code.

Ps. Eigenwijs gaan doen op het moment dat je het niet meer snapt, is niet zo handig...
Waarschijnlijk hebben jullie geen idee waar het over gaat want jullie andwoorden zijn een beetje in een hele verkeerde richting

officiele script http://www.sitemasters.be/?pagina=scripts/scripts&cat=19&id=249

dat is hem met een paar aanpassingen waaronder die where...

en die order by zit erop zodat hij alle artikelen ken sorteren op nummer en hij krijgt er neit 1 binnen maar 30
En dacht je echt dat we dit helemaal gingen lezen?

Je script lijkt gevoelig voor SQL injectie.

Je hebt nog geen echte SQL fout gegeven. Lees de post van Noppes daar staat in wat er fout is.
pgFrank schreef op 23.02.2008 21:19
[quote='mark schreef op 23.02.2008 21:15']Er ontbreekt niks maar het gaat alleen om die regel de variable get staat gewoon in me script $get = $_GET['p'];

maar dat hoeven jullie niet te weten
Leg dan eens uit hoe het kan dat jij geen fatsoenlijke foutmelding op je scherm of in een logboek krijgt.

En wanneer jij hulp nodig hebt, zul je wel relevante informatie moeten geven. $get = $_GET['p']; is leuk en aardig, maar wie zegt dat $_GET['p'] bestaat en een geldige waarde heeft? Dat controleer jij nergens, daar ontbreekt dus een stuk code.

Ps. Eigenwijs gaan doen op het moment dat je het niet meer snapt, is niet zo handig...[/quote]

Ach naja ik wil alleen weten wat ik vraag wat ik eraan ken doen niet of jullie hele lessen willen geven over controleren want in me URL heb ik echt wel index.php?p=gebak&page=1

En bovendien werkt de script 100% behalve als ik dus WHERE categorie " . $get . " erin zet

Reageren