Hallo,

Ik gebruik het volgende stuk script voor een overzicht van de titels die in de database staan per categorie:


<?php
include 'admin/cms/library/config.php';
include 'admin/cms/library/opendb.php';
$mogelijk_cat = array("websites","visitekaartjes","recclamecampagnes","reclamecampagne-advies","briefpapier","huisstijlen","brochures","marktonderzoeken","overige"); //Categorieen
echo "\n<table>";
echo "\n <tr>";
foreach($mogelijk_cat as $cat){
  $i++;
  echo "\n  <td><br />";
  $sql = "SELECT * FROM portfolio WHERE categorie = '".$cat."' ORDER BY donatie DESC";
  $result=mysql_query($query);
  echo "<font face=\"Verdana\" size=\"2\"><b>".ucfirst($cat)."</font></b><br />";
  echo "\n<table border=\"0\" height=\"0\" cellspacing=\"0\" width=\"450\" >";

  while($res = mysql_fetch_array($sql)) { 
    echo "\n <tr>";
    echo "\n  <td align=\"left\" ><font face=\"Verdana\" size=\"2\">".$ucfirst['titel']."</font></td>";
    echo "\n </tr>";
}
  echo "\n</table><br />";
  echo "\n  </td>";
  if($i % 2 == 0){
    echo "\n </tr>";
    echo "\n <tr>";
  }
  else{
    echo "\n <td>&nbsp;&nbsp;&nbsp;</td>";
  }	
}
echo "\n </tr>";
echo "\n</table>";

include 'admin/cms/library/closedb.php';
?>


Helaas werkt dit niet!

Hij pakt de categorieën wel maar de titels die daar bij horen niet! De melding die ik krijg:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/jurgen/domains/***.nl/public_html/portfolio-overzicht.php on line 15


Wie weet een oplossing?
dit:
while($res = mysql_fetch_array($sql)) {

vervangen door dit:
while($res = mysql_fetch_array($result)) {
Bedankt voor je reactie maar ik krijg nog steeds de zelfde melding ;)
en dit:
$sql = "SELECT * FROM portfolio WHERE categorie = '".$cat."' ORDER BY donatie DESC";

door dit:

$sql = "SELECT * FROM portfolio WHERE categorie = ".$cat." ORDER BY donatie DESC";
Nee, de query is wel goed. Die enkele quotes moeten daar staan!

<?php
$result=mysql_query($query);
?>
Vervangen door:
<?php
$result=mysql_query($sql);
?>
klopt ik zag hem :)
Bedankt dat jullie allemaal zo fijn me me meedenken maar het probleem is nog steeds niet verholpen!
$ucfirst['titel'] moet zijn $res['titel'] op regel 17

ps. Wordt er nu nog een error gegeven en zo ja, welke?
Ook dit biedt helaas geen uitkomst
Heb je wel een database geselecteerd?

Normaal geeft deze error weer dat hij geen resultaten kan opvragen.

Meestal betekend dit dat je een query fout hebt of je hebt geen of de verkeerde database geselecteerd.
Ik heb het hele script van boven naar beneden nog een keer opnieuw geschreven en nu zitten er geen fouten meer in!

Het script:

<?php
include 'admin/cms/library/config.php';
include 'admin/cms/library/opendb.php';
$mogelijk_cat = array("websites","visitekaartjes","recclamecampagnes","reclamecampagne-advies","briefpapier","huisstijlen","brochures","marktonderzoeken","overige"); 
echo "\n<table>";
echo "\n <tr>";
foreach($mogelijk_cat as $cat){
  $i++;
  echo "\n  <td><br />";
  $query = "SELECT * FROM portfolio WHERE categorie = '".$cat."' ORDER BY titel DESC LIMIT 10";
  $result=mysql_query($query);
  echo "<font face=\"verdana\" size=\"4\" color=\"bf192A\">".ucfirst($cat)."</font></b><br />";
  echo "\n<table border=\"0\" height=\"0\" cellspacing=\"0\" width=\"450\" >";
  echo "\n <tr>";
  while($donatie = mysql_fetch_array($result))
  {
    if($color != "eeeeee"){
	  $color = "eeeeee";
	}
	else{
	  $color = "FFFFFE";
	}
    echo "\n <tr style=\"background-color: #".$color."\">";
    echo "\n  <td align=\"left\" ><font face=\"Verdana\" size=\"2\">".ucfirst($donatie['titel'])."</font></td>";
    echo "\n </tr>";
  }
  echo "\n</table><br />";
  echo "\n  </td>";
  if($i % 2 == 0){
    echo "\n </tr>";
    echo "\n <tr>";
  }
  else{
    echo "\n <td>&nbsp;&nbsp;&nbsp;</td>";
  }	
}
echo "\n </tr>";
echo "\n</table>";

include 'admin/cms/library/closedb.php';
?>

Reageren