Beste Sitedealers,
ik heb het onderstaande script, van een oud script, alleen wat ik me nu afvroeg, hoe kan ik dit ?
omzetten in nette werkende code, want hij slaat door een of andere reden in de query het allereerste item van het betreffende menu over..PHP Code:
<?php
$sM = $db->query("Select * From menu Order by id ASC");
if(!$sM->num_rows){
echo '<div class="gadget">
<h2>Geen menu</h2>
<div class="clr"></div>
<p>Er is op dit moment geen menu aanwezig!</p>
</div>';
}else{
while($fM = $sM->fetch_assoc()){
$sPm = $db->query("Select * From pages Where page_menu=".$fM['id']." Order by id ASC LIMIT 0,10");
$fPm = $sPm->fetch_assoc();
?>
<div class="gadget">
<h2><?php echo $fM['name']; ?></h2>
<div class="clr"></div>
<ul class="sb_menu">
<?php
while($fPm = $sPm->fetch_assoc()){
?>
<li><a href="<?php echo $fPm['short_title']; ?>.html"><?php echo $fPm['main_title']; ?></a></li>
<?php
}
?>
</ul>
</div><?php } ?>
Ik heb al lopen puzzelen met hoe en wat al wat met join query's geprobeerd, maar dat was niet echt successvol..
Dit is de database:
Menu
id | name | menu_active
1 Main Menu 1
2 Members 1
Pages
id | short_title | long_title | page_text | page_menu
1 home Home blaat 1
2 ControlPanel ** blaat 2
hoop dat 1 van jullie mij nog op dit tijdstip verder kan helpen,
Met vriendelijke groet,
Kevin
Aanvullend bericht:
Op regel 14 in bovenstaand script zat de fout, in de whil selecteerde hij dus de var $fPm ... en daarop een assoc.. wat dus fouten oplevert.
enkel de regel verwijderen hielp.
Iemand toevallig nog een oplossing voor het inkorten van dit script ?
- 2 Whiles in elkaar.
-
19-06-2011, 01:40 #1
- Berichten
- 1.004
- Lid sinds
- 17 Jaar
2 Whiles in elkaar.
Laatst aangepast door Kevin I. : 19-06-2011 om 01:43 Reden: Automatisch samengevoegd.
-
-
20-06-2011, 10:23 #2
- Berichten
- 118
- Lid sinds
- 18 Jaar
Re: 2 Whiles in elkaar.
Niet getest:
PHP Code:<?php
$SQL_main = mysql_query("
SELECT m.*,p.name,p.short_title,p.main_title FROM menu AS m
LEFT JOIN pages AS p
ON(m.id=p.pagina_menu)
ORDER BY m.id ASC
") or die(mysql_error());
// NUM_rows is niet een aanrader - maar aangezien je het wilt gebruiken:
$total = mysql_num_rows($SQL_main);
if($total == 0){
echo '<div class="gadget">
<h2>Geen menu</h2>
<div class="clr"></div>
<p>Er is op dit moment geen menu aanwezig!</p>
</div>';
}else{
?>
<div class="gadget">
<h2><?php echo $fM['name']; ?></h2>
<div class="clr"></div>
<ul class="sb_menu">
<?php
while($fPm = mysql_fetch_array($SQL_main)){
?>
<li><a href="<?php echo $fPm['short_title']; ?>.html"><?php echo $fPm['main_title']; ?></a></li>
<?php
}
?>
</ul>
</div>
<?
}
?>
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic