Waarom werkt dit niet?
$sub is gecontroleerd
maar $replace is leeg

foreach ($sub as $value) {
$replace =  '<ul>';
$sql = mysql_query("SELECT id,naam,url FROM '".$value."s'"); 
while ($objj = mysql_fetch_object($sql)) {
$replace .= '<li><a href="'.$objj->url.'">'.$objj->naam.'</a></li>';
}
$replace .= '</ul>';
$menu = str_replace($value.'s',$replace,$menu);
}
en in je database staat dus een tabel met de naam 3s en daar staat ook daadwerkelijk iets in?
bouw een goede fout afhandeling voor je sql query, verder lijkt het er op dat je datamodel totaal verkeerd is
als ik
var_dump($sql);

doe, dan krijg ik dit

bool(false)

Toevoeging op 02/06/2011 16:35:44:

er zit een fout in de SQL query:


foreach ($sub as $value) {
$replace =  '<ul>';
$sql = mysql_query("SELECT id,naam,url FROM '".$value."s'") or die('fout'); 
while ($objj = mysql_fetch_object($sql)) {
$replace .= '<li><a href="'.$objj->url.'">'.$objj->naam.'</a></li>';
$obj =  $objj->url;
}
$replace .= '</ul>';
$menu = str_replace($value.'s',$replace,$menu);
}

ik krijg de foutmelding
er zit dus iets niet goed in je query... maar wat dat is weet ik niet. Heb je uberhaupt een database verbinding opgezet?
en dit is de foutmelding:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''3s'' at line 1

Toevoeging op 02/06/2011 16:38:21:

database verbinding bestaat en tabel bestaat ook
haal die aanhalingstekens eens weg, zo:

$sql = mysql_query("SELECT id,naam,url FROM ".$value."s");
Thomas van den Bulk op 02/06/2011 14:58:48

dus jij hebt tabellen in je db genaamd 5s en 4s etc.?


Leuk.
Begin dan maar opnieuw want tabelnamen mogen niet met een cijfer beginnen. En je hebt de tabelnaam ook nog tussen enkele quotes staan dus wordt het als zijnde tekst gezien. Handig werken zo, zonder foutafhandeling. Dat blijft gokwerk.
opgelost:


mysql_query("SELECT id,naam,url FROM '".$value."s'") or die('fout');

moest zijn

mysql_query("SELECT id,naam,url FROM ".$value."s") or die('fout');

(apostrofjes om 3s weg)
- SanThe - op 02/06/2011 16:39:41

[quote="Thomas van den Bulk op 02/06/2011 14:58:48"]
dus jij hebt tabellen in je db genaamd 5s en 4s etc.?


Leuk.
Begin dan maar opnieuw want tabelnamen mogen niet met een cijfer beginnen. En je hebt de tabelnaam ook nog tussen enkele quotes staan dus wordt het als zijnde tekst gezien. Handig werken zo, zonder foutafhandeling. Dat blijft gokwerk.
[/quote]

Vincent Huisman op 02/06/2011 16:18:15

bouw een goede fout afhandeling voor je sql query, verder lijkt het er op dat je datamodel totaal verkeerd is




Reageren