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.
[offtopic]
<?php
define (ENTER,"\n");
echo 'blabla'.ENTER;
?>
is toch het zelfde als
<?php
echo 'blabla'.PHP_EOL;
?>
maar dan makkelijker?
[/offtopic]
Turmin schreef op 27.09.2006 18:52
[offtopic]
<?php
define (ENTER,"\n");
echo 'blabla'.ENTER;
?>
is toch het zelfde als
<?php
echo 'blabla'.PHP_EOL;
?>
maar dan makkelijker?
[/offtopic]


Ik heb dit ooit van iemand overgenomen en wat jij schrijft ken ik niet.

Kun je dus volstaan met het volgende:
echo 'blabla'.PHP_EOL;
en dus niets boven aan je pagina zetten?
PHP_EOL = "\r\n"

Dus 'enter' zou je kunnen vervangen en de define weglaten
@ Turmin: PHP_EOL werkt nog niet op elke server.
Jan, ik ben er...
Hahaha, ik ook! Waar waren we gebleven?
Je had al een stukje code doorgegeven en ik moest een tussenpagina.php aanmaken. In de database staat al een tabel kliks.

Ik test met deze pagina: Index2.php

<?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 ());
}
?>
Sorry, de database heet winkel_linken en ik heb een rij kliks genoemd.



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 
Oké, als ik me goed herinner was dit de opzet:

1) iemand klikt op een link
2) wordt doorgestuurd naar de tussenpagina waar via een GET de teller geupdate wordt
3) meteen daarna doorsturen naar de eigenlijke link met de header functie.

Heb je al een veld kliks in de tabel winkel_linken?
Ja, dat is de bedoeling.
Achter iedere link wil ik dan laten zien hoe vaak er op geklikt is.
En dan 1 keer per jaar ofzo alles op nul zetten.

Ja die kliks staat er al in.

EDIT: Daarna wil ik graag dat de 10 best bezochte linken boven in die apart gekleurde tabel komen te staan.

Reageren