Hoeveel kliks per link?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 4 5

03/10/2006 19:52:00
Quote Anchor link
Zo ziet de link er compleet uit van m4n:
<script language="javascript" type="text/javascript" src="http://views.m4n.nl/_v?AffiliateID=2895&zoneid=181285"></script>


Het werkte eerst wel omdat je dan gewoon een gedeelte van dat script op je website zet en de src met een variabele erin.
Zo heb ik het nu nog op de index.php wie online staat.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
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>';
    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;
}

?>


Als je hier boven een link gaat staan zie je meteen de url waar je naar toe moet.
-------------------------

Maar nu moet er dus een tussenpagina.php tussen komen die het link_id uit de browser leest als ik het goed heb en hem daar dan dmv een variabele inleest en je doorstuurd.
Dit gaat goed met een gewonen url maar niet met een javascript url omdat daar dat hele gedoe blijkbaar bij omheen moet komen te staan.

Nu op de index2.php waar ik hier mee oefen staat nu deze code :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?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;
?>


Als je boven een link gaat staan zie je dit:
http://www.winkeltop10.nl/index2.php/tussenpagina.php?link_id=92
Gewijzigd op 01/01/1970 01:00:00 door
 
PHP hulp

PHP hulp

18/11/2024 15:24:20
 
Robert Deiman

Robert Deiman

03/10/2006 20:24:00
Quote Anchor link
Wel raar Elsy, ik kom nu elke keer op je hoofdpagina uit, maar wat ook raar is is dat de hele Javascript er zo uit komt te zien, als die in de bron van je tussenpagina in elkaar zit.
Stond er eerder nog meer omheen, of werkt het alleen als je het in de <head> </head> tags van een pagina zet.
Probeer dat eens, de standaard tags (<html><head></head><body></body></html) voor een pagina erbij in bouwen en dan je script tussen de head tags.
 

03/10/2006 21:01:00
Quote Anchor link
Bedoel je dit?

Dit is dus de tussenpagina.php

<html>
<head>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?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)
{

echo '<script language="javascript" type="text/javascript" src="'.$rowLink->java.'"></script>';
}

else
{
header("Location:".$rowLink->url);
}

exit("U wordt doorgestuurd");

}

?>

</head>
<body></body>
</html>
Gewijzigd op 01/01/1970 01:00:00 door
 

03/10/2006 21:10:00
Quote Anchor link
Volgens mij komen we er gewoon niet uit. Misschien kan ik het beste niet met java script url's werken en gewoon de normale url pakken.
Maar ik dacht dat het wel kon.

-Dan kan ik ook verder want ik wil nog graag in dat bovenste gedeelte de best bezochte 10 linken hebben staan.

-En hoe zet je alle kliks op linken bv 1keer per jaar weer op nul?
 
Robert Deiman

Robert Deiman

03/10/2006 21:24:00
Quote Anchor link
De 1e 10 linken eruit halen.. (de 10 meest bezochte)

"SELECT link FROM tabel ORDER BY visits DESC LIMIT 0,10"


Je kan bijvoorbeeld met:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if(date("m-d") == "1-1"){
  // het is weer 1 januari
  //UPDATE tabel SET visits=0

  }
?>


Edit:

Heb je die javascript al wel aan de praat gehad dan, bijvoorbeeld bij zoals het eerder was?
Gewijzigd op 01/01/1970 01:00:00 door Robert Deiman
 

03/10/2006 21:27:00
Quote Anchor link
Ja, dat lukte wel omdat dan wat er om de src heen zit gewoon al in de pagina staat en je dan rechtstreeks door op die link te klikken naar de pagina gaat van de adverteerder.
 

03/10/2006 21:39:00
Quote Anchor link
EDIT: Ik heb trouwens de javascript url's even gewijzigd in gewone url's en nu werkt de doorverwijspagina goed.

Robert:


Je kan bijvoorbeeld met:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if(date("m-d") == "1-1"){
  // het is weer 1 januari
  //UPDATE tabel SET visits=0

  }
?>


[


Zet je dat dan op de tussenpagina neer?
En hoe dan precies?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?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:".$rowLink->url);

exit("U wordt doorgestuurd");

}

?>
Gewijzigd op 01/01/1970 01:00:00 door
 

03/10/2006 22:30:00
Quote Anchor link
Hoe doe je dat trouwens om voor de top 10 de cijfers 1 tot 10 weer te geven.
Ik weet niet goed waar het stukje script moet staan.

Dit heb ik nu:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
echo '<table><tr>';
$kolommen = 2;
//Laat de 10 best bezochte linken zien
$queryKlik = "SELECT link_naam, url FROM winkel_linken ORDER BY kliks DESC LIMIT 0,10";
$resultKlik = mysql_query($queryKlik) or die ("Sorry maar ik kan de beste 10 winkels niet weergeven, probeer het later opnieuw.");

//geeft de top 10 aan van 1 tot 10
for ($teller = 0;
     $teller <= 10;
      $teller++)
while ($rowKlik = mysql_fetch_object($resultKlik))
{

echo '<td align="left" class="link10" >';

echo ''. $teller.'.<a href="'. $rowKlik->url.'" target="_blank">'.$rowKlik->link_naam.'' ;

$counter++;
    if($counter==$kolommen)
    {

        echo '</td></tr><tr>';
        $counter = 0;
    }
    
}

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


ps. ga morgen verder
 
Robert Deiman

Robert Deiman

03/10/2006 22:33:00
Quote Anchor link
Ik bedenk me net dat dat wat te kort door de bocht is, (mooi dat het wel werkt met de links nu trouwens) als je van 1 januari uitgaat, dan blijft die de hele tabel gedurende de hele dag 1 januari elke keer resetten. Ik zal nog eens rustig nadenken over dit probleem, en ga er hierbij vanuit dat je elk jaar op 1-1 de data weer wilt resetten. (dit kan je handmatig doen, of door cronjobs te maken, maar volgens mij kan het ook in je script ingebouwd worden. Misschien heeft Jan hier weer een schitterende oplossing voor)
 
Robert Deiman

Robert Deiman

03/10/2006 22:37:00
Quote Anchor link
En over de top 10:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
echo '<table><tr>';
$kolommen = 2;
//Laat de 10 best bezochte linken zien
$queryKlik = "SELECT link_naam, url FROM winkel_linken ORDER BY kliks DESC LIMIT 0,10";
$resultKlik = mysql_query($queryKlik) or die ("Sorry maar ik kan de beste 10 winkels niet weergeven, probeer het later opnieuw.");

//geeft de top 10 aan van 1 tot 10
$teller=1;
while ($rowKlik = mysql_fetch_object($resultKlik))
{

echo '<td align="left" class="link10" >';

echo ''. $teller.'.<a href="'. $rowKlik->url.'" target="_blank">'.$rowKlik->link_naam.'</a></td>' ;

$teller++;
  
}

echo '</tr></table>'.PHP_EOL;
?>
 

04/10/2006 09:32:00
Quote Anchor link
Robert:
Ik bedenk me net dat dat wat te kort door de bocht is, (mooi dat het wel werkt met de links nu trouwens) als je van 1 januari uitgaat, dan blijft die de hele tabel gedurende de hele dag 1 januari elke keer resetten. Ik zal nog eens rustig nadenken over dit probleem, en ga er hierbij vanuit dat je elk jaar op 1-1 de data weer wilt resetten. (dit kan je handmatig doen, of door cronjobs te maken, maar volgens mij kan het ook in je script ingebouwd worden. Misschien heeft Jan hier weer een schitterende oplossing voor)


Uh, Robert....

Misschien is het beter om alle kliks te resetten per maand, anders krijg je wel een erg groot getal erachter te staan. (hoop ik tenminste) En dan is de top 10 ook leuker.

En ik heb even gekeken maar het is mogelijk om cronjobs te maken maar dit is nieuw voor mij.

Afbeelding
Gewijzigd op 01/01/1970 01:00:00 door
 

04/10/2006 09:41:00
Quote Anchor link
Robert:
En over de top 10:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
echo '<table><tr>';
$kolommen = 2;
//Laat de 10 best bezochte linken zien
$queryKlik = "SELECT link_naam, url FROM winkel_linken ORDER BY kliks DESC LIMIT 0,10";
$resultKlik = mysql_query($queryKlik) or die ("Sorry maar ik kan de beste 10 winkels niet weergeven, probeer het later opnieuw.");

//geeft de top 10 aan van 1 tot 10
$teller=1;
while ($rowKlik = mysql_fetch_object($resultKlik))
{

echo '<td align="left" class="link10" >';

echo ''. $teller.'.<a href="'. $rowKlik->url.'" target="_blank">'.$rowKlik->link_naam.'</a></td>' ;

$teller++;
  
}

echo '</tr></table>'.PHP_EOL;
?>


Jee, weer zo simpel, ik zit daar weer een uur in mijn boek te zoeken en moeilijk te doen.....bedankt.
 
Jan Koehoorn

Jan Koehoorn

04/10/2006 09:48:00
Quote Anchor link
Nog twee tips, Elsy:

1) mysql_fetch_assoc is ongeveer een factor twee sneller dan mysql_fetch_object
2) doe aan code formatting. Daardoor wordt het zoveel beter leesbaar:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
    echo '<table><tr>';
    $kolommen = 2;
    //Laat de 10 best bezochte linken zien
    $queryKlik = "
        SELECT link_naam, url
        FROM winkel_linken
        ORDER BY kliks
        DESC LIMIT 0,10"
;
    $resultKlik = mysql_query($queryKlik) or die ("Sorry maar ik kan de beste 10 winkels niet weergeven, probeer het later opnieuw.");
    //geeft de top 10 aan van 1 tot 10
    $teller=1;
    while ($rowKlik = mysql_fetch_assoc ($resultKlik)) {
        echo '<td align="left" class="link10" >';
        echo $teller . '.<a href="'. $rowKlik->url.'" target="_blank">'.$rowKlik['link_naam'] . '</a></td>' ;
        $teller++;
    }

    echo '</tr></table>' . PHP_EOL;
?>
 
Robert Deiman

Robert Deiman

04/10/2006 09:51:00
Quote Anchor link
Elsy:
Uh, Robert....

Misschien is het beter om alle kliks te resetten per maand, anders krijg je wel een erg groot getal erachter te staan. (hoop ik tenminste) En dan is de top 10 ook leuker.

En ik heb even gekeken maar het is mogelijk om cronjobs te maken maar dit is nieuw voor mij.

In het scherm van de cronjobs kan je een periode aangeven waarin elke keer een script aan wordt geroepen.
In jouw geval:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
include('diversen.inc');
$sql="UPDATE tabel SET clicks=0";
$query=mysql_query($sql);
?>


Dit scriptje roep je aan, en je zet een 1 in het veld voor maand. Dan wordt 1 keer in de maand het scriptje aangeroepen, en de clicks gereset.
 

04/10/2006 09:53:00
Quote Anchor link
@Jan

Bedankt voor de tips.
Code formatting moet je waarschijnlijk zelf doen maar als ik de regels niet echt ken weet ik ook niet hoe het hoort. Of heb je daar iets voor dat alles netjes neer wordt gezet.
 

04/10/2006 10:00:00
Quote Anchor link
@robert

Ik heb nu dit gedaan maar waar zet ik dat script neer?
In mijn pagina of op een nieuwe pagina.

Afbeelding
 
Robert Deiman

Robert Deiman

04/10/2006 10:33:00
Quote Anchor link
By day of month zet je een 1 neer (dan voert die hem elke 1e van de maand 1malig uit.

By command zet je het pad naar je script neer.

Elsy:
@Jan

Bedankt voor de tips.
Code formatting moet je waarschijnlijk zelf doen maar als ik de regels niet echt ken weet ik ook niet hoe het hoort. Of heb je daar iets voor dat alles netjes neer wordt gezet.


Codeformatting zou je inderdaad zelf moeten doen, Jan heeft daar al een voorzetje voor gegeven in de query in de code, zoals hij hem liet zien.
Ook een beetje mij fout, want ik werk normaal gesproken wel met code formatting, omdat de code zoveel beter leesbaar is.
(Jan heeft de query over meerdere regels uitgetrokken, dat is het voorbeeld van code-formatting)
Verder dragen natuurlijk ook tabs en dergelijke bij aan de leesbaarheid van de code.
 

Pagina: « vorige 1 2 3 4 5



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.