EDIT: database struktuur toegevoegd
EDIT2:ik kreeg reacties van mensen dat de inhoud pas onder de banners begon. Ik heb alles dus weer in een tabel gezet. En dus de code hieronder is gewijzigd.

Ik heb een soort startpagina gemaakt. Ik wil graag achter iedere link laten zien hoe vaak er op geklikt is en dan bv 1 keer per jaar alles op nul zetten.

Dit is de code die ik heb met al een stukje van Jan Koehoorn erin verwerkt. Hopelijk wil hij me verder helpen.

<?php
if (isset ($_GET['cat_id']) )
{
    // eerst de teller updaten
    $sql = "
        UPDATE winkel_linken
        SET kliks = kliks + 1
        WHERE l.cat_id = " . $_GET['cat_id'];
    if (mysql_query ($sql)) {
        trigger_error (mysql_error ());
    }
?>


Testpagina


<?php
<?php
error_reporting (E_ALL & ~E_NOTICE);
include("diversen.inc"); 
include("statistieken.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.");
?>
<html>
<head>
<title>*De winkel top 10* de beste online winkels</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="shortcut icon" href="http://www.winkeltop10.nl/chart.ico">
<meta name="title" content="Winkel top 10" />
<meta name="description" content="In de winkel top 10 staan de beste online winkels vermeldt. " />
<meta name="keywords" content="online,winkels,online winkels,winkelen,shoppen,webwinkels" />
<meta name="URL" content="http://www.winkeltop10.nl" />
<meta name="language" content="Nederlands" />
<meta name="author" content="E.Visser" />
<meta name="copyright" content="© www.winkeltop10.nl" />
<meta name="robots" content="INDEX, FOLLOW" />
<meta name="revisit-after" content="3 days" />
<meta name="reply-to" content="infoATwinkeltop10.nl" />
<meta name="document-class" content="Living Document" />
<meta name="document-classification" content="Consumer" />
<meta name="document-rights" content="Copyrighted Work" />
<meta name="document-type" content="Public" />
<meta name="document-rating" content="General" />
<meta name="document-distribution" content="Global" />
<meta name="document-state" content="Dynamic" />
<meta name="cache-control" content="Public" />
<link href="/style.css" rel="stylesheet" type="text/css">
</head>
<body>
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
	<tr>
		<td colspan="3" id="header"><!-- SiteSearch Google -->
        <form method="get" action="http://www.google.nl/custom" target="google_window">
        	<div class="zoeken" id="zoeken">
        		<table border="0">
        			<tr>
        				<td nowrap="nowrap" valign="top" align="left" height="32"> </td>
        				<td nowrap="nowrap">
        					<input type="hidden" name="domains" value="www.winkeltop10.nl">
        					<input name="q" type="text" class="zoekvenster" value="" size="20" maxlength="255">
        					<input name="sa" type="submit" class="zoekknop" value="Doorzoek deze site">
       					</td>
       				</tr>
        			<tr>
        				<td>&nbsp;</td>
        				<td nowrap="nowrap">
        					<table>
        						<tr>
        							<td>
        								<input type="radio" name="sitesearch" value="" checked="checked">
        								<font size="-1" color="#ffffff">Web</font> </td>
        							<td>
        								<input type="radio" name="sitesearch" value="www.winkeltop10.nl">
        								<font size="-1" color="#ffffff">www.winkeltop10.nl</font> </td>
       							</tr>
       						</table>
        					<input type="hidden" name="client" value="pub-0817825055293462">
        					<input type="hidden" name="forid" value="1">
        					<input type="hidden" name="channel" value="1420807200">
        					<input type="hidden" name="ie" value="ISO-8859-1">
        					<input type="hidden" name="oe" value="ISO-8859-1">
        					<input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;FORID:1">
        					<input type="hidden" name="hl" value="nl">
       					</td>
       				</tr>
       			</table>
       		</div><!--einde div zoeken-->
       	</form>
        <!-- Einde SiteSearch Google --></td>
	</tr>
	<tr>
		<td height="3" colspan="3" id="streepje"></td>
	</tr>
	<tr>
		<td valign="top" id="menulinks"><script language="javascript" type="text/javascript" src="http://views.m4n.nl/_v?AffiliateID=2895&zoneid=185950"></script>
<script language="javascript" type="text/javascript" src="http://ti.tradetracker.nl/-1/1239/6171/js"></script></td>
		<td align="center" valign="top" id="inhoud"><?php

//Maak de top10

echo '<div align="center"><table class="tabelborder10" cellspacing="0" align="center" width="750"><tr>';
echo '<td class="kopje10" colspan="4">Welkom op de Winkel Top 10<br>Hier onder staan de beste 10 winkels van deze week.</td></tr>';
echo '<tr><td class="link10" rowspan="10">';
?>
<!-- tabel voor statistieken -->
<table border="0" cellspacing="0" cellpadding="0">
	<tr>
    	<td class="tekstkoptellers"><img src="/plaatjes/bezoeker.gif" alt="Nu online:" width="32" height="32" border="0" align="left">&nbsp;</td>
    	<td align="left" valign="middle" class="tekstkoptellers"><!--Begin van het who's online script van Icstats-->
        		<script language='JavaScript' src='http://www.icstats.nl/asp/extra/whoson.asp?siteID=259645' type="text/javascript" ></script>
        		<!--Einde van who's online script--></td>
	</tr>
	<tr>
		<td class="stats" align="right"><?php echo $laatZienTeller1['teller1']; ?>&nbsp;</td>
		<td align="left" class="tekstkoptellers">Linken</td>
	</tr>
	<tr>
		<td class="stats" align="right"><?php echo $laatZienTeller3['teller3']; ?>&nbsp;</td>
		<td align="left" class="tekstkoptellers">Categorieën</td>
	</tr>
	<tr>
    	<td class="stats" align="right"><?php echo $laatZienTeller4['teller4']; ?>&nbsp;</td>
    	<td align="left" class="tekstkoptellers">Linkpartners</td>
	</tr>
</table>
<!-- einde tabel voor statistieken -->
<?php
echo '</td>';

echo '<td class="link10">1.&nbsp;';
?>
<a href="http://www.speelgoedpostorder.nl/?campaignID=426&materialID=4412&affiliateID=6171" target="_blank">Speelgoedpostorder.nl</a>
<?php 
echo '</td>';
echo '<td class="link10">6.&nbsp;';
?>
<a href="http://www.rpholidays.nl/tradetracker/?campaignID=283&materialID=2518&affiliateID=6171" target="_blank">RP Holidays</a>
<?php 
echo '</td>';
echo '<td rowspan="5" class="link10">';
?>
<script language="javascript" type="text/javascript" src="http://ti.tradetracker.nl/19/71/6171/js"></script>
<?php
echo '</td>';
echo '</tr><tr>';
echo '<td class="link10">2.&nbsp;';
?>
<a href="http://www.dokteronline.com/viagra_bestellen.php?campaignID=333&materialID=2864&affiliateID=6171" target="_blank">Online apotheek en arts</a>
<?php
echo '</td>';
echo '<td class="link10">7.&nbsp;';
?>
<a href="http://ds1.nl/c/?wi=36953&ws=&si=173&li=8815" title="Adverteren op www.winkeltop10.nl" onmouseover="window.status='Adverteren op www.winkeltop10.nl';return true;" onmouseout="window.status=' ';" target="_blank">Vakantiehuisje.tv</a>
<?php
echo '</td>';
echo '';
echo '</tr><tr>';
echo '<td class="link10">3.&nbsp;';
?>
<a href="http://www.yourhosting.nl/goto.php?afid=22226759" target="_blank">YourHosting.nl</a>
<?php
echo '</td>';
echo '<td class="link10">8.&nbsp;';
?>
<a href="http://ds1.nl/c/?wi=36953&ws=&si=129&li=13765" title="Adverteren op www.winkeltop10.nl" onmouseover="window.status='Adverteren op www.winkeltop10.nl';return true;" onmouseout="window.status=' ';" target="_blank">123tijdschrift.nl</a>
<?php
echo '</td>';
echo '';
echo '</tr><tr>';
echo '<td class="link10">4.&nbsp;';
?>
<a href="http://www.gadgethouse.nl/tradetracker/?campaignID=107&materialID=733&affiliateID=6171" target="_blank">Gadgethouse.nl</a>
<?php
echo '</td>';
echo '<td class="link10">9.&nbsp;';
?>
<a href="http://www.nonplusultra.nl/tradetracker/?campaignID=119&materialID=1008&affiliateID=6171" target="_blank">Nonplusultra.nl</a>
<?php
echo '</td>';
echo '';
echo '</tr><tr>';
echo '<td class="link10">5.&nbsp;';
?>
<a href="http://www.coolmove.nl/ttcm/?campaignID=355&materialID=3334&affiliateID=6171" target="_blank">Coolmove.nl</a>
<?php
echo '</td>';
echo '<td class="link10">10.&nbsp;';
?>
<a href="http://www.gift4one.nl/cadeaus/?campaignID=407&materialID=4094&affiliateID=6171" target="_blank">Gift4one.nl</a>
<?php
echo '</td>';
echo '';

echo '</tr></table></div>';
//einde top 10




//als er op de link geklikt word om meer linken uit die categorie te bekijken laat dan de vervolg pagina zien.
if (isset ($_GET['cat_id']) )
{
    // eerst de teller updaten
    $sql = "
        UPDATE winkel_linken
        SET kliks = kliks + 1
        WHERE l.cat_id = " . $_GET['cat_id'];
    if (mysql_query ($sql)) {
        trigger_error (mysql_error ());
    }
    
    //Laat de categorie naam zien boven in de tabel
    $sql = "
        SELECT c.cat_id, c.cat_naam, l.link_naam, l.url, l.java, l.link_tekst
        FROM winkel_categorie AS c, winkel_linken AS l
        WHERE c.cat_id = " . $_GET['cat_id'] . "
        AND c.cat_id = l.cat_id
        ORDER BY l.link_naam ASC
        ";
    $res = mysql_query($sql) or die ("Sorry maar ik kan de naam van de categorie niet weergeven, probeer het later opnieuw.");
    $teller = 0;
    $list_completed = false;
    while ($row = mysql_fetch_assoc ($res)) {
        
        if ($teller % 10 == 0) {
            echo '<ul>';
            echo '<li class="kopje">' . $row['cat_naam'] . '</li>' .PHP_EOL ;
        }
switch(true)//haal de juiste link soort uit de database
{
case ($row['java']):
		echo '<li class="link">-<script language="javascript" type="text/javascript" src="' . $row['java'] . '"></script></a></li>' . PHP_EOL;
		break;

default:
		echo '<li class="link">-<a href="' . $row['url'] .'" target="_blank">'. $row['link_tekst'].'</a></li>' . PHP_EOL;
		break;
}

        $list_completed = false;
        if ($teller % 10 == 9) {
            echo '<li class="leesmeer"><a href="http://www.winkeltop10.nl" target="_parent">Terug</a></li>' . PHP_EOL;
            echo '</ul>';
            $list_completed = true;
        }
     $teller++;
    }
    if (!$list_completed) {
        echo '<li class="leesmeer"><a href="http://www.winkeltop10.nl" target="_parent">Terug</a></li>' . PHP_EOL;
        echo '</ul>';
    }
}
else
{

echo '<table align="center"><tr>';
$kolommen = 4;

//Laat de categorie naam zien boven in de tabel
$queryNaam = 'SELECT * FROM winkel_categorie ORDER BY cat_naam';
$resultNaam = mysql_query($queryNaam) or die ("Sorry maar ik kan de naam van de categorie niet weergeven, probeer het later opnieuw.");
while ($rowNaam = mysql_fetch_object($resultNaam))
{
//Laat zien hoeveel linken er in die categorie zitten:
$teller = 'SELECT COUNT(link_id) AS teller FROM winkel_linken  WHERE cat_id = '. $rowNaam->cat_id .'';
$resultaatTeller = mysql_query($teller) or die ("Sorry maar kan de teller niet weergeven.");
$laatZienTeller = mysql_fetch_assoc($resultaatTeller);
echo '<td valign="top"><table width="175" align="left" class="tabelborder" cellspacing="0" cellpadding="0">';
echo '<tr>';
echo '<td class="kopje">'.$rowNaam->cat_naam.'&nbsp;<div class="teller"> ' . $laatZienTeller['teller'].'</div>' ;
echo '</td>';
echo '<tr>';
echo '<td class="tekst">'.$rowNaam->categorie_tekst.'</div>' ;
echo '</td>';
echo '</tr>'.PHP_EOL;
//Laat de linken zien
$queryLink = 'SELECT * FROM winkel_linken WHERE cat_id = '. $rowNaam->cat_id .' ORDER BY RAND()  LIMIT 0,5';
$resultLink = mysql_query($queryLink) or die ("Sorry maar ik kan de linken van de categorie niet weergeven, probeer het later opnieuw.");
$j = 0;
while ($rowLink = mysql_fetch_object($resultLink))
{
    $j++;
switch(true)//haal de juiste link soort uit de database
{
case ($rowLink->java):
    echo '<tr>';
    echo '<td class="link">-<script language="javascript" type="text/javascript" src="' . $rowLink->java . '"></script></a>';
    echo '</td>';
    echo '</tr>'.PHP_EOL;
break;

default:

    echo '<tr>';
    echo '<td class="link">-<a href="'. $rowLink->url.'" target="_blank">'.$rowLink->link_tekst.'</a>';
    echo '</td>';
    echo '</tr>'.PHP_EOL;
break;
}


    if($j == 5){        
        echo '<tr>';
        echo '<td class="meer">';
        echo '<a href="index.php?cat_id='.$rowNaam->cat_id.'"><font class="meer">Meer in de categorie '.$rowNaam->cat_naam.'&nbsp;-></font></a>';
        echo '</td>';
        echo '</tr>';
        }
    
}
        
        

        echo '</table>'.PHP_EOL;
    
$counter++;
    if($counter==$kolommen)
    {
        echo '</td></tr></table><table align="center"><tr>';
        $counter = 0;
    }
}

echo '</td></tr></table>'.PHP_EOL;
}

?>
</td>
		<td valign="top" id="menurechts"><script type="text/javascript"><!--
google_ad_client = "pub-0817825055293462";
google_ad_width = 120;
google_ad_height = 600;
google_ad_format = "120x600_as";
google_ad_type = "text_image";
google_ad_channel ="8662621847";
google_color_border = "4261B6";
google_color_bg = "4261B6";
google_color_link = "FFFFFF";
google_color_text = "FFFFFF";
google_color_url = "000000";
//--></script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></td>
	</tr>
	<tr>
		<td colspan="3" id="footer"><?php
    $querysubmenu = "SELECT sub_id FROM winkel_submenu ";
    $resultsubmenu = mysql_query($querysubmenu) or die ("Sorry maar ik kan het submenu niet weergeven");
	while ($rowsubmenu = mysql_fetch_object($resultsubmenu))
{
switch(true)
	{
case (($rowsubmenu->sub_id) == 1):
		echo '<a class="home" href="http://www.winkeltop10.nl" class="home" target="_parent">Home</a>&nbsp;|';
		break;

case (($rowsubmenu->sub_id) == 2):
		echo '<a class="home" href="disclaimer.php" class="home" target="_blank">&nbsp;Disclaimer</a>&nbsp;|';
		break;

case (($rowsubmenu->sub_id) == 3):
		echo '<a class="home" href="linktoevoegen.php" class="home" target="_blank">&nbsp;Link Toevoegen</a>&nbsp;|';
		break;

case (($rowsubmenu->sub_id) == 4):
		echo '<a class="home" href="contact.php" class="home" target="_blank">&nbsp;Contact</a>&nbsp;|';
		break;

case (($rowsubmenu->sub_id) == 5):
		echo '<a class="home" href="http://www.winkeltop10.nl/icstats/clickout.php?siteId=259645&url=www.deluxewebhosting.nl/deluxe/index.php" class="home" target="_blank">&nbsp;Hosting: DeLuxeWebhosting</a>&nbsp;|';
		break;

default:
		echo '';
		break;
	}
}
?>
&copy;<?php
$d = date("Y"); // Huidig jaar
$o = 2006; // Jaar van oprichten

if ($d <= $o) {
   echo $o;
}
else {
   echo $o."-".$d;
}
?> Winkeltop10.nl</td>
	</tr>
</table>

<?php
//Begin script van ICStatistieken
//Als de bezoeker op de pagina komt is het id -> 1
if (!isset ($_GET['cat_id']) )
{
?>
<!--ICStats statistieken start-->
<script type='text/javascript' src='http://www.icstats.nl/javascript/icstats.js'></script>
<script type='text/javascript'>
<!--
   icstats('http://www.icstats.nl/asp/icstats.asp?siteID=259645&p=id1');
-->
</script>
<noscript>
   <p><img id='ICStats' width='1' height='1' style='border:none;' alt='' src='http://www.icstats.nl/asp/icstats.asp?siteID=259645&amp;p=id1' /></p>
</noscript>
<!--ICStats statistieken einde-->
<?php
}
//Als de bezoeker op een categorie klikt  dan wordt alleen het pagina cat_id weergegeven
else
{
?>
<!--ICStats statistieken start-->
<script type='text/javascript' src='http://www.icstats.nl/javascript/icstats.js'></script>
<script type='text/javascript'>
<!--
   icstats('http://www.icstats.nl/asp/icstats.asp?siteID=259645&p=top<?php echo ($_GET['cat_id']); ?>');
-->
</script>
<noscript>
   <p><img id='ICStats' width='1' height='1' style='border:none;' alt='' src='http://www.icstats.nl/asp/icstats.asp?siteID=259645&amp;p=top<?php echo ($_GET['cat_id']); ?>' /></p>
</noscript>
<!--ICStats statistieken einde-->
<?php
}

//Einde script ICStatistieken
?>

</body>
</html>



winkel_categorie
Tabel opmerkingen: Categorie namen

Veld 	Type 	Null 	Standaardwaarde
cat_id  	int(5) 	Ja  	NULL 
cat_naam  	varchar(255) 	Ja  	 


 Indexen:
Sleutel naam 	Type 	Kardinaliteit 	Veld
PRIMARY 	PRIMARY 	52  	cat_id



winkel_linken
Veld 	Type 	Null 	Standaardwaarde
link_id  	int(5) 	Ja  	NULL 
link_winkel  	varchar(255) 	Ja  	 
link_naam  	varchar(255) 	Ja  	 
url  	text 	Ja  	 
java  	varchar(255) 	Ja  	 
link_tekst  	varchar(255) 	Ja  	 
kliks  	int(11) 	Ja  	0 
cat_id  	int(5) 	Ja  	0 


 Indexen:
Sleutel naam 	Type 	Kardinaliteit 	Veld
PRIMARY 	PRIMARY 	215  	link_id


Ik heb een nieuwe database van MyAdmin en ik kan alleen een printversie krijgen van de tabelstruktuur. Daarom ziet dit er niet zo netjes uit.
Robert schreef op 03.10.2006 13:12
Je hebt de quotes verkeerd ;)

<?php
include("diversen.inc");
//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.");


if(isset($_GET['link_id']) && (is_numeric($_GET['link_id']))) {
mysql_query("UPDATE winkel_linken SET kliks = kliks+1 WHERE link_id = ".$_GET['link_id']) or die(mysql_error());
$resultLink = mysql_query("SELECT * FROM winkel_linken WHERE link_id = ".$_GET['link_id']) or die(mysql_error());
$rowLink = mysql_fetch_object($resultLink);
header("Location: http://".$rowLink->url);
exit("U wordt doorgestuurd");
}
?>


Oke, die foutmelding is weg maar ik kom nog steeds op de Elsevier pagina terecht.

Klik maar eens op een link:
Test maar even
De kliks worden al wel geregistreerd :)
echo $rowLink->url eens in plaats van het doorsturen dan, even controleren of die goed wordt opgehaald.. echo ook even de query.
Ik heb het gevonden.
Een "stom" foutje:
<?php
header("Location: ".$rowLink->url);
?>
De http:// staat al in de database.
Mooi Elsy :) Blij dat het is gelukt. Het werkt nu naar volle tevredenheid?
Ik ben er nog niet.....even wachten
EDIT: Kijk onderaan
Ik heb het geloof ik gevonden wat betreft de eerste pagina:

Dit moet volgens mij gewoon dit worden:

<?php
echo '<tr>';
echo '<td class="link">-<a href="tussenpagina.php?link_id='. $rowLink->link_id.'" target="_blank">'.$rowLink->link_tekst.'</a>';
echo '</td>';
echo '<td class="kliks">'.$rowLink->kliks.'';
echo '</td>';
echo '</tr>'.PHP_EOL;
?>

en op de tussenpagina.php weet ik het nog niet.
Verder kom ik niet.
Hier klopt niets van maar misschien ben ik op de juiste weg.

<?php
include("diversen.inc");
//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.");


if(isset($_GET['link_id']) && (is_numeric($_GET['link_id']))) {
mysql_query("UPDATE winkel_linken SET kliks = kliks+1 WHERE link_id = ".$_GET['link_id']) or die(mysql_error());
$resultLink = mysql_query("SELECT * FROM winkel_linken WHERE link_id = ".$_GET['link_id']) or die(mysql_error());
$rowLink = mysql_fetch_object($resultLink);

if ($rowLink->java)
{
header("Location: <script language="javascript" type="text/javascript" src="' . $rowLink->java . '"></script>);
}
else
{
header("Location: ".$rowLink->url);
}
exit("U wordt doorgestuurd");

}
?>
Ik weet niet of het zo werkt, maar heb even een paar quotes veranderd.
<?php
include("diversen.inc");
//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.");


if(isset($_GET['link_id']) && (is_numeric($_GET['link_id']))) {
mysql_query("UPDATE winkel_linken SET kliks = kliks+1 WHERE link_id = ".$_GET['link_id']) or die(mysql_error());
$resultLink = mysql_query("SELECT * FROM winkel_linken WHERE link_id = ".$_GET['link_id']) or die(mysql_error());
$rowLink = mysql_fetch_object($resultLink);

if ($rowLink->java)
{
header("Location: <script language=\"javascript\" type=\"text/javascript\" src=\"' . $rowLink->java . '\"></script>");
}
else
{
header("Location: ".$rowLink->url);
}
exit("U wordt doorgestuurd");

}
?>

Reageren