zet alles anders even tussen
<body>
en
</body>
tags
Link gekopieerd
ok hmmm en als je de laatste div nou is in de php code zet en hem echo't
Link gekopieerd
?
Onbekende gebruiker
16-11-2006 21:56
@Jeroen
Geprobeerd maar maakt geen verschil.
Weet je wat het vreemde is.
Als je bij groep kiest voor een groep waar nog niets inzit dan krijg je een foutmelding te zien. Kies maar eens in groep voor "dieren" (wel in FF want in IE werken de dropdown menu's niet)
Je ziet dan dat de pagina dan wel afgemaakt wordt. Ik heb de footer even rood gemaakt. En in de bron zie je ook dat alles af is.
Dus je zou haast zeggen dat het in de code zit van het maken van de tabel met die 3 kolommen erin.
Link gekopieerd
Offtopic: Waarom heb je zo'n gigantische lap code binnen de switch staan? Dat lijkt mij niet nodig en maakt de boel uitermate onoverzichtelijk. Bepaal binnen de switch welke functie(-s) je wilt aanroepen of welke waarde een variabele krijgt en klaar ben je.
Tevens is een betere scheiding tussen de logica (switch en databasegebeuren) en de output(html) een aanrader. Dat maakt het onderhoud een stuk eenvoudiger.
Link gekopieerd
?
Onbekende gebruiker
16-11-2006 22:09
@Frank
Ik zou niet weten hoe dat moet.
Ik doe veel met switch(true) omdat ik vaak in de knoop lig met het if en else gebeuren.
Dus er staat veel code in omdat dat tot uitvoer moet worden gebracht.
Ik heb dus voor ieder dropdown menu een switch gemaakt.
Link gekopieerd
En staat er in de switch iedere keer voor een groot deel dezelfde code? Ik ben daar wel bang voor, ik vermoed dat je iedere keer een query maakt, uitvoert en dan de output naar de browser stuurt.
Kun je eens wat meer code geven? Misschien kan ik er iets leuks en eenvoudigs van maken.
Link gekopieerd
while ($row = mysql_fetch_assoc($res)or die (mysql_error())){
Deze regel zorgt voror het probleem:
Hier staat letterlijk:
Waneer $row kan worden geset door mysql_fetch_assoc($res) gaan wij door. Wanneer we aan het einde van de "resultaat" zijn stoppen wij het script en geven wij een mysql_error() die niet is opgetreden.
Dus haal die die() even weg ;)
Link gekopieerd
?
Onbekende gebruiker
16-11-2006 22:56
@Eris
Knap zeg dat je dat weet.
Ik heb het weggehaald en nu gaat hij verder.
Bedankt!!
@Frank
Ik zal al mijn code hier neerzetten maar ik zie, nu de pagina weer verder gaat, dat het nog niet helemaal goed gaat met het afbreken van de drie kolommen. De tabel wordt niet mooi afgesloten.
En weet je misschien ook waarom de dropdown menu's het niet doen in IE?
En het gedoe met dat margin in IE wil ook maar niet lukken.
Ik heb in IE veel te veel ruimte om de dropdown boxen zitten.
Ik kom hier morgen op terug, ga nu slapen....
http://www.kadobon-geven.nl/index.php
<?php
error_reporting (E_ALL & ~E_NOTICE);
include("login.php");
//maak verbinding met de database
$connection = mysql_connect ($hostname,$user,$password) or die ( "Sorry maar ik kan geen contact maken met de database, probeer het later opnieuw of ververs uw browser.");
$db = mysql_select_db ($database, $connection) or die ("Sorry, maar ik kan de database niet openen.");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Kadobon-geven.nl - Geef eens een kado bon</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="shortcut icon" href="/favicon.ico" />
<link href="style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div class="container" id="container" align="center">
<div class="kop" id="kop"><img src="plaatjes/logo.jpg" alt="kadobon-geven.nl" width="770" height="100" />
</div> <!-- einde div kop -->
<div class="home" id="home">|<a href="http://www.kadobon-geven.nl" target="_parent">Home</a>
</div> <!-- einde div home -->
<div class="menulinks" id="menulinks">
<h1>Categorie</h1>
<div class="categorie" id="categorie">
<?php
$query = "SELECT cat_id,cat_naam FROM categorie ORDER BY cat_naam";
$result = mysql_query($query) or die ("Sorry maar ik kan de categorieën niet weergeven");
echo '<form method="POST">';
echo '<select name="categorie" class="select">';
while ($row = mysql_fetch_assoc($result)){
echo '<option value="'.$row['cat_id'] .'">'.$row['cat_naam'].'</option>';
}
echo '</select>';
echo ' <input name="submit" type="image" value="categorie" src="plaatjes/pijlrechts.gif" alt="Bekijk deze categorie" />';
echo '</form>';
?>
</div> <!-- einde div categorie in het menulinks-->
<h1>Groep</h1>
<div class="groep" >
<?php
$query = "SELECT groep_id,groep_naam FROM groep ORDER BY groep_naam";
$result = mysql_query($query) or die ("Sorry maar ik kan de groepen niet weergeven");
echo '<form method="POST">';
echo '<select name="groep" class="select">';
while ($row = mysql_fetch_assoc($result)){
echo '<option value="'.$row['groep_id'] .'">'.$row['groep_naam'].'</option>';
}
echo '</select>';
echo ' <input name="submit" type="image" value="groep" src="plaatjes/pijlrechts.gif" alt="Bekijk deze groep" />';
echo '</form>';
?>
</div> <!-- einde div groep in menulinks -->
<h1>Prijsklasse</h1>
<div class="prijstabel" >
<?php
$query = "SELECT prijs_id,prijs_naam FROM prijs ORDER BY prijs_id";
$result = mysql_query($query) or die ("Sorry maar ik kan de prijzen niet weergeven");
echo '<form method="POST">';
echo '<select class="select" name="prijs" class="select">';
while ($row = mysql_fetch_assoc($result)){
echo '<option value="'.$row['prijs_id'] .'" >'.$row['prijs_naam'].'</option>';
}
echo '</select>';
echo ' <input name="submit" type="image" value="prijs" src="plaatjes/pijlrechts.gif" alt="Bekijk deze categorie" />';
echo '</form>';
?>
</div> <!-- einde div prijs in menulinks -->
<h1>Zoeken</h1>
<div class="zoeken" >
<?php
echo '<FORM METHOD="POST" >';
echo '<input type="text" name="zoek" class="select">';
echo ' <input name="submit" type="image" value="zoek" src="plaatjes/pijlrechts.gif" alt="Bekijk het resultaat" />';
echo '</form>';
?>
</div> <!-- einde div zoeken in menulinks -->
<div class="onderkanttabel">
</div> <!-- einde div onderkanttabel in menulinks -->
</div>
<!-- einde div menulinks -->
<div class="menurechts" >
<h1>Maand Toppers!</h1>
<div class="topper" >
<?php
//laat de top kadobon zien
$queryTop = "
SELECT
l.link_id,
l.link_naam,
l.link_website,
l.link_kadobon,
l.link_plaatje,
l.link_omschrijving,
l.link_prijs,
COUNT(k.datumtijd) AS aantal_kliks
FROM
linken AS l
JOIN
kliks AS k
ON
k.link_id = l.link_id
WHERE
MONTH(k.datumtijd ) = MONTH( CURDATE( ) )
AND
YEAR(k.datumtijd ) = YEAR( CURDATE() )
GROUP BY k.link_id
ORDER BY aantal_kliks DESC
LIMIT 0,2";
$resultTop = mysql_query($queryTop);
while ($rowTop = mysql_fetch_assoc($resultTop)){
echo '<table class="toppertabel" align="center" >';
echo '<tr>';
echo '<td width="120" height="90"><img src="'.$rowTop['link_plaatje'].'" border="0"></td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="naam">'.$rowTop['link_naam'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="kliks">'.$rowTop['aantal_kliks'].' keer bezocht</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="omschrijving">'.$rowTop['link_omschrijving'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="prijs">'.$rowTop['link_prijs'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="linkbon"><a href="kadobon.php?kadobon=' . $rowTop['link_id'] . '" target="_blank" ><img src="plaatjes/kadobon.gif" border="0" alt="Meteen naar de kadobon" title="Meteen naar de kadobon" /></a> / <a href="website.php?website=' . $rowTop['link_id'] . '" target="_blank" ><img src="plaatjes/website.gif" border="0" alt="Naar de website" title="Naar de website" /></a></td>';
echo '</tr></table>'.PHP_EOL;
}
?>
</div> <!-- einde div topper in menurechts -->
<div class="onderkanttabel">
</div> <!-- einde div onderkanttabel in menurechts -->
</div> <!-- einde div menurechts -->
<div class="inhoud" >
<?php
switch (true){
//de tabel voor categorie
case ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['submit'] == 'categorie'):
$sql = "SELECT cat_id,cat_naam FROM categorie WHERE cat_id = '".$_POST['categorie']."'";
$res = mysql_query($sql)or trigger_error ("Sorry maar ik kan de categorie niet weergeven, probeer het later opnieuw.");
$row = mysql_fetch_assoc($res);
echo '<h1>' . $row['cat_naam'] . ' kadobonnen</h1>';
$sql = "SELECT * FROM linken WHERE cat_id = '".$_POST['categorie']."'";
$res = mysql_query($sql)or trigger_error ("Sorry maar ik kan de categorie niet weergeven, probeer het later opnieuw.");
if (mysql_num_rows($res) == 0) {
echo '<table class="zoek" align="center" width="450" border="0" cellspacing="0" cellpadding="4">';
echo '<tr>';
echo '<td>';
echo '<p align="center"><b>Er zijn nog geen kadobonnen in deze categorie.<br>Zoekt u alstublieft in een andere categorie.</b><br /><br />';
echo '</td>';
echo '</tr>';
echo '</table>';
}
else
{
echo '<table width="100%" class="tabelgroot" align="center" cellspacing="0" cellpadding="0">';
echo '<tr>';
$kolommen = 3;
while ($row = mysql_fetch_assoc($res)){
echo '<td valign="top" align="center">';
echo '<table class="kadobon" align="left" >';
echo '<tr>';
echo '<td width="120" height="90"><img src="'.$row['link_plaatje'].'" border="0"></td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="naam">'.$row['link_naam'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="omschrijving">'.$row['link_omschrijving'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="prijs">'.$row['link_prijs'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="linkbon"><a href="kadobon.php?kadobon=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/kadobon.gif" border="0" alt="Meteen naar de kadobon" title="Meteen naar de kadobon" /></a> / <a href="website.php?website=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/website.gif" border="0" alt="Naar de website" title="Naar de website" /></a></td>';
echo '</tr></table>'.PHP_EOL;
echo '</td>'.PHP_EOL;
$counter++;
if($counter==$kolommen)
{
echo '</tr></table><table width="100%" class="tabelgroot" align="center" cellspacing="0" cellpadding="0"><tr>'.PHP_EOL;
$counter = 0;
}
}//einde while
echo '</tr></table>'.PHP_EOL;
}
break;
//de tabel voor groepen
case ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['submit'] == 'groep'):
$sql = "SELECT groep_naam FROM groep WHERE groep_id = '".$_POST['groep']."'";
$res = mysql_query($sql)or trigger_error ("Sorry maar ik kan de groep niet weergeven, probeer het later opnieuw.");
$row = mysql_fetch_assoc($res);
echo '<h1>' . $row['groep_naam'] . ' kadobonnen</h1>';
$sql = "SELECT * FROM linken WHERE groep_id = '".$_POST['groep']."'";
$res = mysql_query($sql)or trigger_error ("Sorry maar ik kan de groepen niet weergeven, probeer het later opnieuw.");
if (mysql_num_rows($res) == 0) {
echo '<table class="zoek" align="center" width="450" border="0" cellspacing="0" cellpadding="4">';
echo '<tr>';
echo '<td>';
echo '<p align="center"><b>Er zijn nog geen kadobonnen in deze groep.<br>Zoekt u alstublieft in een andere groep.</b><br /><br />';
echo '</td>';
echo '</tr>';
echo '</table>';
}
else
{
echo '<table width="" class="tabelgroot" align="center" cellspacing="0" cellpadding="0">';
echo '<tr>';
$kolommen = 3;
while ($row = mysql_fetch_assoc($res)){
echo '<td valign="top" align="center">';
echo '<table class="kadobon" align="left" >';
echo '<tr>';
echo '<td width="120" height="90"><img src="'.$row['link_plaatje'].'" border="0"></td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="naam">'.$row['link_naam'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="omschrijving">'.$row['link_omschrijving'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="prijs">'.$row['link_prijs'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="linkbon"><a href="kadobon.php?kadobon=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/kadobon.gif" border="0" alt="Meteen naar de kadobon" title="Meteen naar de kadobon" /></a> / <a href="website.php?website=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/website.gif" border="0" alt="Naar de website" title="Naar de website" /></a></td>';
echo '</tr></table>';
echo '</td>';
$counter++;
if($counter==$kolommen)
{
echo '</tr></table>'.PHP_EOL;
$counter = 0;
}
}//einde while lus
echo '</tr></table>'.PHP_EOL;
}
break;
//de tabel voor prijs
case ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['submit'] == 'prijs') :
//Laat zien in welke prijsklasse de bezoeker heeft gezocht
$sql = "SELECT prijs_naam FROM prijs WHERE prijs_id = '".$_POST['prijs']."'";
$res = mysql_query($sql)or trigger_error ("Sorry maar ik kan de prijzen niet weergeven, probeer het later opnieuw.");
$row = mysql_fetch_assoc($res);
echo '<h1>Kadobonnen in de prijsklasse: € ' . $row['prijs_naam'] . '</h1>';
$sql = "SELECT * FROM linken WHERE prijs_id = '".$_POST['prijs']."'";
$res = mysql_query($sql)or trigger_error ("Sorry maar ik kan de prijzen niet weergeven, probeer het later opnieuw.");
if (mysql_num_rows($res) == 0) {
echo '<table class="zoek" align="center" width="450" border="0" cellspacing="0" cellpadding="4">';
echo '<tr>';
echo '<td>';
echo '<p align="center"><b>Er zijn nog geen kadobonnen in deze prijsklasse.<br>Zoekt u alstublieft in een andere prijsklasse.</b><br /><br />';
echo '</td>';
echo '</tr>';
echo '</table>';
}
else
{
echo '<table width="100%" class="tabelgroot" align="center" cellspacing="0" cellpadding="0">';
echo '<tr><td valign="top" align="center">';
$kolommen = 3;
while ($row = mysql_fetch_assoc($res)){
echo '<table class="kadobon" align="left" >';
echo '<tr>';
echo '<td width="120" height="90"><img src="'.$row['link_plaatje'].'" border="0"></td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="naam">'.$row['link_naam'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="omschrijving">'.$row['link_omschrijving'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="prijs">'.$row['link_prijs'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="linkbon"><a href="kadobon.php?kadobon=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/kadobon.gif" border="0" alt="Meteen naar de kadobon" title="Meteen naar de kadobon" /></a> / <a href="website.php?website=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/website.gif" border="0" alt="Naar de website" title="Naar de website" /></a></td>';
echo '</tr></table>';
$counter++;
if($counter==$kolommen)
{
echo '</td></tr></table><table width="100%" class="tabelgroot" align="center" cellspacing="0" cellpadding="0"><tr><td valign="top" align="center">'.PHP_EOL;
$counter = 0;
}
}//einde while lus
echo '</td></tr></table>'.PHP_EOL;
}
break;
//de tabel voor zoeken
//Als er een zoekopdracht uitgevoerd wordt laat dan de resultaten zien
case ($_SERVER['REQUEST_METHOD'] == 'POST' && $_POST['submit'] == 'zoek') :
//-- $_POST['zoekterm'] even door beveiliging(etje) halen.
$zoekterm=mysql_real_escape_string($_POST['zoek']);
//-- $_POST['zoekterm'] is de naam van het zoekveld in het formulier wat we
//-- hebben gemaakt in het vorige 'hoofdstuk'. Dit is dus de SQL code:
$sql = "SELECT * FROM linken WHERE link_omschrijving LIKE '%" . $_POST['zoek'] . "%'";
//-- voer de SQL code uit en zet dit in een variabele zodat we zometeen kunnen
//-- kijken of er een resultaat is
//-- EDIT: zo niet een TRIGGER_ERROR weergeven, dan loopt de rest van je code wel gewoon door
$res = mysql_query($sql)or trigger_error ("Sorry maar ik kan de zoekresultaten niet weergeven, probeer het later opnieuw.");
//-- bekijk nu of er een resultaat is, of het zoekwoord dus gevonden is of niet
if (empty($_POST['zoek'])) {
echo '<table class="zoek" align="center" width="450" border="0" cellspacing="0" cellpadding="4">';
echo '<tr>';
echo '<td>';
echo '<p align="center"><b>U heeft vergeten iets in te vullen</b><br /><br />';
echo '</td>';
echo '</tr>';
echo '</table>';
} elseif (mysql_num_rows($res) >= 1) {
//-- er is een resultaat gevonden, toon de resultaten via een while () loop
echo '<h1>U zocht op: ' . $_POST['zoek'] . '</h1>';
echo '<table width="100%" class="tabelgroot" align="center" cellspacing="0" cellpadding="0">';
echo '<tr><td valign="top" align="center">';
$kolommen = 3;
while ($row = mysql_fetch_assoc($res)){
echo '<table class="kadobon" align="left" width="">';
echo '<tr>';
echo '<td width="120" height="90"><img src="'.$row['link_plaatje'].'" border="0"></td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="naam">'.$row['link_naam'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="omschrijving">'.$row['link_omschrijving'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="prijs">'.$row['link_prijs'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="linkbon"><a href="kadobon.php?kadobon=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/kadobon.gif" border="0" alt="Meteen naar de kadobon" title="Meteen naar de kadobon" /></a> / <a href="website.php?website=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/website.gif" border="0" alt="Naar de website" title="Naar de website" /></a></td>';
echo '</tr></table>';
$counter++;
if($counter==$kolommen)
{
echo '</td></tr></table><table width="100%" class="tabelgroot" align="center" cellspacing="0" cellpadding="0"><tr><td valign="top" align="center">'.PHP_EOL;
$counter = 0;
}
}//einde while lus
echo '</td></tr></table>'.PHP_EOL;
}//einde elseif
else
{
echo '<table class="zoek" align="center" width="450" border="0" cellspacing="0" cellpadding="4">';
echo '<tr>';
echo '<td>';
echo '<p align="center"><b>Er zijn geen resultaten gevonden aan de hand van uw zoekterm.<br>Probeert u het opnieuw.</b><br /><br />';
echo '</td>';
echo '</tr>';
echo '</table>';
}
break;
default:
$sql = "SELECT * FROM linken ";
$res = mysql_query($sql)or trigger_error ("Sorry maar ik kan alle kadobonnen niet weergeven, probeer het later opnieuw.");
echo '<h1>Kadobonnen</h1>';
echo '<table class="tabelgroot" align="left" valign="top" cellspacing="0" cellpadding="0">';
echo '<tr>';
$kolommen = 3;
while ($row = mysql_fetch_assoc($res)){
echo '<td valign="top" align="center">'.PHP_EOL;
echo '<table class="kadobon" >';
echo '<tr>';
echo '<td width="120" height="90"><img src="'.$row['link_plaatje'].'" border="0"></td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="naam">'.$row['link_naam'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="omschrijving">'.$row['link_omschrijving'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="prijs">'.$row['link_prijs'].'</td>';
echo '</tr>'.PHP_EOL;
echo '<tr>';
echo '<td class="linkbon"><a href="kadobon.php?kadobon=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/kadobon.gif" border="0" alt="Meteen naar de kadobon" title="Meteen naar de kadobon" /></a> / <a href="website.php?website=' . $row['link_id'] . '" target="_blank" ><img src="plaatjes/website.gif" border="0" alt="Naar de website" title="Naar de website" /></a></td>';
echo '</tr></table>'. PHP_EOL;
$counter++;
if($counter==$kolommen)
{
echo '</td></tr></table>'.PHP_EOL.'<table class="tabelgroot" align="left" valign="top" cellspacing="0" cellpadding="0"><tr>'.PHP_EOL;
$counter = 0;
}
}//einde while lus
}//einde switch
?>
</div> <!-- einde div inhoud -->
<div class="footer" id="footer">
</div> <!-- einde div footer -->
</div> <!-- einde div container -->
</body>
</html>
Link gekopieerd