hulp gevraagd bij PHP
maar wat ik ook zie is dat alle TIP en NEW in rij34 zitten
http://www.startagenda.nl/Test/new_page_1.php
dus daar gaat iets fout.
volgens mij worden de link niet gesorteerd op aantal kliks
maar op iets anders... maar wat
Gewijzigd op 01/01/1970 01:00:00 door Rinze van Tol
maar ze worden gestorteerd VOLLEDIG
dus al uw links zitten in de file gegevens.php
dus hij haalt er den algemene top 10 er uit
dus wat je het beste kunt doen is
ipv van met $links te werken
met een array waar de gegevens van een bepaalde rij
begrijpte?
ik ben nu even weg.
post maar als het gelukt is of niet
ik zal van de nacht nog even kijken of lukt of anders kijk ik morgen vroeg;)
groetjes
Gewijzigd op 01/01/1970 01:00:00 door kristoff
De echtenew -->Array werk goed, ik moet alleen de datums omzetten.
Alleen de echtetip -->Array telt niet op, de code blijft op 0 staan
http://www.startagenda.nl/Test/new_page_2.php
Voorbeeld:GSM info (ID 11964988435147) moet een TIP vermeling krijgen ivm hoge INHITS, maar krijgt die niet omdat de code op 0 blijft staan.
http://www.startagenda.nl/Test/new_page_1.php
Tot zo ver de code:
Code (php)
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
include_once("gegevens.php");
$tip = array();
for ($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$tip[$LinksSplit[8]] = $LinksSplit[1];
}
natsort($tip);
$echtetip = array_slice($tip, 0, 10);
$new = array();
for ($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$new[$LinksSplit[8]] = $LinksSplit[3];
}
natsort($new);
$echtenew = array_slice($new, 0, 10);
natsort($Links);
$Links = array_reverse($Links);
reset($Links);
for($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$DeLinks[$LinksSplit[9]] .= "<a href='$UithitsBestandLocatie?id=$LinksSplit[8]' target='_blank' onMouseOver='window.status=\"Aantal hits: $LinksSplit[0], $LinksSplit[5]\";return true' onMouseOut='window.status=\"\";return true'>$LinksSplit[4]</a>\n";
if (array_key_exists($LinksSplit[8], $echtetip)) {
$DeLinks[$LinksSplit[9]] .= "<img src=\"tip.gif\"><br>\n";
} elseif(array_key_exists($LinksSplit[8], $echtenew)) {
$DeLinks[$LinksSplit[9]] .= "<img src=\"new.gif\"><br>\n";
} else {
$DeLinks[$LinksSplit[9]] .= "<br>\n";
}
}
$HuidigeRij = explode("|",$Rij[34]);
for($l = 0; $l < count($HuidigeRij); $l++) {
echo $DeLinks[$HuidigeRij[$l]];
}
?>
include_once("gegevens.php");
$tip = array();
for ($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$tip[$LinksSplit[8]] = $LinksSplit[1];
}
natsort($tip);
$echtetip = array_slice($tip, 0, 10);
$new = array();
for ($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$new[$LinksSplit[8]] = $LinksSplit[3];
}
natsort($new);
$echtenew = array_slice($new, 0, 10);
natsort($Links);
$Links = array_reverse($Links);
reset($Links);
for($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$DeLinks[$LinksSplit[9]] .= "<a href='$UithitsBestandLocatie?id=$LinksSplit[8]' target='_blank' onMouseOver='window.status=\"Aantal hits: $LinksSplit[0], $LinksSplit[5]\";return true' onMouseOut='window.status=\"\";return true'>$LinksSplit[4]</a>\n";
if (array_key_exists($LinksSplit[8], $echtetip)) {
$DeLinks[$LinksSplit[9]] .= "<img src=\"tip.gif\"><br>\n";
} elseif(array_key_exists($LinksSplit[8], $echtenew)) {
$DeLinks[$LinksSplit[9]] .= "<img src=\"new.gif\"><br>\n";
} else {
$DeLinks[$LinksSplit[9]] .= "<br>\n";
}
}
$HuidigeRij = explode("|",$Rij[34]);
for($l = 0; $l < count($HuidigeRij); $l++) {
echo $DeLinks[$HuidigeRij[$l]];
}
?>
De plaatjes werken nu wel, er zat een klein type foutje in (er stond scr ipv src)
Gewijzigd op 01/01/1970 01:00:00 door Rinze van Tol
hoe bedoel je op nul blijven staan?
kristoff schreef op 21.12.2007 23:55:
hoe bedoel je op nul blijven staan?
Code (php)
1
2
3
4
5
2
3
4
5
<?
echtetip -->Array ( [119557519369037] => 0 [119557521978563] => 0 [11955752799575] => 0 [119557517386654] => 0 [119557515176443] => 0 [119557507266675] => 0 [119557509568225] => 0 [11955751246015] => 0 [11955753020590] => 0 [11955753272843] => 0 )
?>
echtetip -->Array ( [119557519369037] => 0 [119557521978563] => 0 [11955752799575] => 0 [119557517386654] => 0 [119557515176443] => 0 [119557507266675] => 0 [119557509568225] => 0 [11955751246015] => 0 [11955753020590] => 0 [11955753272843] => 0 )
?>
En ID 11964988435147 (GSM info) staat er niet in, ondanks dat hij de meeste INHITS heeft.
Maar als ik dit doe, dan telt de code wel.
Code (php)
IPV
Code (php)
resultaat, alleen verkeerd om
Code (php)
1
2
3
4
5
2
3
4
5
<?
echtetip -->Array ( [0] => 11964988435147 [1] => 11981717587670 [2] => 119774178967214 [3] => 119775996579268 [4] => 119793495140806 )
?>
echtetip -->Array ( [0] => 11964988435147 [1] => 11981717587670 [2] => 119774178967214 [3] => 119775996579268 [4] => 119793495140806 )
?>
Maar ID 11964988435147 (GSM info) staat nu wel in de lijst. die heeft ook de meeste INHITS
of wat is nog het probleem
kristoff schreef op 22.12.2007 12:09:
doet de code nu wat je wilt dat hij doet
of wat is nog het probleem
of wat is nog het probleem
De link met de meeste INHITS zet die niet boven in.
ik ben even weg.
ik heb je tip nog eens in een array gestoken
en dan een andere sorteerd functie gebruikt namelijk uasort
en heb dan ook nog een functie toegevoegd voor de te chekken of de key bestaat of niet
Code (php)
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
include_once("gegevens.php");
$tip = array();
for ($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$tip = array('id' => $LinksSplit[8],
'inhits' => $LinksSplit[1] );
}
uasort($tip, 'hits_sorteren');
$echtetip = array_slice($tip, 0, 10);
$new = array();
for ($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$new[$LinksSplit[8]] = $LinksSplit[3];
}
natsort($new);
$echtenew = array_slice($new, 0, 10);
natsort($Links);
$Links = array_reverse($Links);
reset($Links);
for($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$DeLinks[$LinksSplit[9]] .= "<a href='$UithitsBestandLocatie?id=$LinksSplit[8]' target='_blank' onMouseOver='window.status=\"Aantal hits: $LinksSplit[0], $LinksSplit[5]\";return true' onMouseOut='window.status=\"\";return true'>$LinksSplit[4]</a>\n";
if (array_keys_exist($LinksSplit[8], $echtetip)) {
$DeLinks[$LinksSplit[9]] .= "<img src=\"tip.gif\"><br>\n";
} elseif(array_key_exists($LinksSplit[8], $echtenew)) {
$DeLinks[$LinksSplit[9]] .= "<img src=\"new.gif\"><br>\n";
} else {
$DeLinks[$LinksSplit[9]] .= "<br>\n";
}
}
$HuidigeRij = explode("|",$Rij[34]);
for($l = 0; $l < count($HuidigeRij); $l++) {
echo $DeLinks[$HuidigeRij[$l]];
}
function hits_sorteren($x,$y)
{
return($x['inhits'] < $y['']);
}
function array_keys_exist(array $keys, array $toCheck, $whichKey = false)
{
foreach ($keys as $array_key => $array_val)
{
if (gettype($array_key) == "array")
{
if (array_keys_exist($array_key,$toCheck))
return true;
}
elseif (! array_key_exists($array_key, $toCheck))
{
// return first key thats not found.
if ($whichKey)
{
return $array_key;
}
else
{
return false;
}
}
}
// all keys exist
return true;
}
?>
include_once("gegevens.php");
$tip = array();
for ($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$tip = array('id' => $LinksSplit[8],
'inhits' => $LinksSplit[1] );
}
uasort($tip, 'hits_sorteren');
$echtetip = array_slice($tip, 0, 10);
$new = array();
for ($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$new[$LinksSplit[8]] = $LinksSplit[3];
}
natsort($new);
$echtenew = array_slice($new, 0, 10);
natsort($Links);
$Links = array_reverse($Links);
reset($Links);
for($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$DeLinks[$LinksSplit[9]] .= "<a href='$UithitsBestandLocatie?id=$LinksSplit[8]' target='_blank' onMouseOver='window.status=\"Aantal hits: $LinksSplit[0], $LinksSplit[5]\";return true' onMouseOut='window.status=\"\";return true'>$LinksSplit[4]</a>\n";
if (array_keys_exist($LinksSplit[8], $echtetip)) {
$DeLinks[$LinksSplit[9]] .= "<img src=\"tip.gif\"><br>\n";
} elseif(array_key_exists($LinksSplit[8], $echtenew)) {
$DeLinks[$LinksSplit[9]] .= "<img src=\"new.gif\"><br>\n";
} else {
$DeLinks[$LinksSplit[9]] .= "<br>\n";
}
}
$HuidigeRij = explode("|",$Rij[34]);
for($l = 0; $l < count($HuidigeRij); $l++) {
echo $DeLinks[$HuidigeRij[$l]];
}
function hits_sorteren($x,$y)
{
return($x['inhits'] < $y['']);
}
function array_keys_exist(array $keys, array $toCheck, $whichKey = false)
{
foreach ($keys as $array_key => $array_val)
{
if (gettype($array_key) == "array")
{
if (array_keys_exist($array_key,$toCheck))
return true;
}
elseif (! array_key_exists($array_key, $toCheck))
{
// return first key thats not found.
if ($whichKey)
{
return $array_key;
}
else
{
return false;
}
}
}
// all keys exist
return true;
}
?>
Gewijzigd op 01/01/1970 01:00:00 door kristoff
kristoff schreef op 22.12.2007 12:23:
ik heb de code voor de tips iets anders gemaakt
ik heb je tip nog eens in een array gestoken
en dan een andere sorteerd functie gebruikt namelijk uasort
en heb dan ook nog een functie toegevoegd voor de te chekken of de key bestaat of niet
ik heb je tip nog eens in een array gestoken
en dan een andere sorteerd functie gebruikt namelijk uasort
en heb dan ook nog een functie toegevoegd voor de te chekken of de key bestaat of niet
Ik heb het probleem gevonden...
De code werk goed alleen verkeerd om
ipv de beste/nieuwste 10, doet de code nu de laagste/oudste 10
als TIP als NEW
Alleen weet ik niet wat ik moet veranderen.
de code hier boven werk niet goed
http://www.startagenda.nl/Test/new_page_3.php
Gewijzigd op 01/01/1970 01:00:00 door Rinze van Tol
Parse error: syntax error, unexpected T_ARRAY, expecting ')' in /customers/startagenda.nl/startagenda.nl/httpd.www/Test/new_page_3.php on line 52
Kruidnootje.nl schreef op 22.12.2007 20:37:
Parse error: syntax error, unexpected T_ARRAY, expecting ')' in /customers/startagenda.nl/startagenda.nl/httpd.www/Test/new_page_3.php on line 52
Dat is idd de fout melding.
van de laaste code.
kristoff schreef op 21.12.2007 23:55:
hoe bedoel je op nul blijven staan?
De nul die er staan zijn van de link die nog maar nul INHITS hebben.
en daar had ik wel een paar van.
Daarom zagen we ook alleen maar nullen staan omdat de code eerst de laagste pakt en daarna oplopend.
en het moet eigenlijk net andersom
van hoog naar laag.
Gewijzigd op 01/01/1970 01:00:00 door Rinze van Tol
Ik denk dat de code zo gaat werken
Code (php)
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
include_once("gegevens.php");
$tip = array();
for ($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$tip = array('id' => $LinksSplit[8],
'inhits' => $LinksSplit[1] );
}
uasort($tip, 'hits_sorteren');
$echtetip = array_slice($tip, 0, 10);
$new = array();
for ($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$new[$LinksSplit[8]] = $LinksSplit[3];
}
natsort($new);
$echtenew = array_slice($new, 0, 10);
natsort($Links);
$Links = array_reverse($Links);
reset($Links);
for($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$DeLinks[$LinksSplit[9]] .= "<a href='$UithitsBestandLocatie?id=$LinksSplit[8]' target='_blank' onMouseOver='window.status=\"Aantal hits: $LinksSplit[0], $LinksSplit[5]\";return true' onMouseOut='window.status=\"\";return true'>$LinksSplit[4]</a>\n";
if (array_keys_exist($LinksSplit[8], $echtetip)) {
$DeLinks[$LinksSplit[9]] .= "<img src=\"tip.gif\"><br>\n";
} elseif(array_key_exists($LinksSplit[8], $echtenew)) {
$DeLinks[$LinksSplit[9]] .= "<img src=\"new.gif\"><br>\n";
} else {
$DeLinks[$LinksSplit[9]] .= "<br>\n";
}
}
$HuidigeRij = explode("|",$Rij[34]);
for($l = 0; $l < count($HuidigeRij); $l++) {
echo $DeLinks[$HuidigeRij[$l]];
}
function hits_sorteren($x,$y)
{
return($x['inhits'] < $y['']);
}
function array_keys_exist($keys, $toCheck, $whichKey = false)
{
foreach ($keys as $array_key => $array_val)
{
if (gettype($array_key) == "array")
{
if (array_keys_exist($array_key,$toCheck))
return true;
}
elseif (! array_key_exists($array_key, $toCheck))
{
// return first key thats not found.
if ($whichKey)
{
return $array_key;
}
else
{
return false;
}
}
}
// all keys exist
return true;
}
?>
include_once("gegevens.php");
$tip = array();
for ($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$tip = array('id' => $LinksSplit[8],
'inhits' => $LinksSplit[1] );
}
uasort($tip, 'hits_sorteren');
$echtetip = array_slice($tip, 0, 10);
$new = array();
for ($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$new[$LinksSplit[8]] = $LinksSplit[3];
}
natsort($new);
$echtenew = array_slice($new, 0, 10);
natsort($Links);
$Links = array_reverse($Links);
reset($Links);
for($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$DeLinks[$LinksSplit[9]] .= "<a href='$UithitsBestandLocatie?id=$LinksSplit[8]' target='_blank' onMouseOver='window.status=\"Aantal hits: $LinksSplit[0], $LinksSplit[5]\";return true' onMouseOut='window.status=\"\";return true'>$LinksSplit[4]</a>\n";
if (array_keys_exist($LinksSplit[8], $echtetip)) {
$DeLinks[$LinksSplit[9]] .= "<img src=\"tip.gif\"><br>\n";
} elseif(array_key_exists($LinksSplit[8], $echtenew)) {
$DeLinks[$LinksSplit[9]] .= "<img src=\"new.gif\"><br>\n";
} else {
$DeLinks[$LinksSplit[9]] .= "<br>\n";
}
}
$HuidigeRij = explode("|",$Rij[34]);
for($l = 0; $l < count($HuidigeRij); $l++) {
echo $DeLinks[$HuidigeRij[$l]];
}
function hits_sorteren($x,$y)
{
return($x['inhits'] < $y['']);
}
function array_keys_exist($keys, $toCheck, $whichKey = false)
{
foreach ($keys as $array_key => $array_val)
{
if (gettype($array_key) == "array")
{
if (array_keys_exist($array_key,$toCheck))
return true;
}
elseif (! array_key_exists($array_key, $toCheck))
{
// return first key thats not found.
if ($whichKey)
{
return $array_key;
}
else
{
return false;
}
}
}
// all keys exist
return true;
}
?>
Gewijzigd op 01/01/1970 01:00:00 door kristoff
@ kristoff: ik zie dit (lange) topic nu pas, maar probeer de volgende keer een betere titel te verzinnen. "Hulp gevraagd bij PHP" zegt weinig, want daar gaan alle topics op dit forum over ;-)
kristoff schreef op 23.12.2007 10:24:
Ik heb al gezien wat er verkeerd is
Ik denk dat de code zo gaat werken
Ik denk dat de code zo gaat werken
Foutmelding:
http://www.startagenda.nl/Test/new_page_3.php
Ik denk dat het makelijkste is om eerst te kijken hoe we deze code aflopend kunnen krijgen ipv oplopend
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
$tip = array();
for ($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$tip[$LinksSplit[8]] = $LinksSplit[1];
}
natsort($tip);
$echtetip = array_slice($tip, 0, 10);
$new = array();
for ($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$new[$LinksSplit[8]] = $LinksSplit[3];
}
natsort($new);
$echtenew = array_slice($new, 0, 10);
?>
$tip = array();
for ($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$tip[$LinksSplit[8]] = $LinksSplit[1];
}
natsort($tip);
$echtetip = array_slice($tip, 0, 10);
$new = array();
for ($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$new[$LinksSplit[8]] = $LinksSplit[3];
}
natsort($new);
$echtenew = array_slice($new, 0, 10);
?>
Tevens als ik dit doe dan werkt die wel aflopend. alleen dan gaan het fout met de ID.
Gewijzigd op 01/01/1970 01:00:00 door Rinze van Tol
Jan Koehoorn schreef op 23.12.2007 10:28:
@ kristoff: ik zie dit (lange) topic nu pas, maar probeer de volgende keer een betere titel te verzinnen. "Hulp gevraagd bij PHP" zegt weinig, want daar gaan alle topics op dit forum over ;-)
zal ik doen.
ik kon het niet in een kort stukje mijn probleem uitleggen.
maar voor de volgende zal ik dat doen.
ipv natsort had het arsort moeten zijn,
De code werk nu helemaal goed.
Met dank aan JEEj maar vooral met dank aan Kristoff.
Het resultaat is te zien op www.startagenda.nl
Kan mijn topic verwijderd worden.
Dit omdat het niet meer van toepassing is. en er staat wat data in info in....
Als het alleen gewijzigd mag worden graag de hele tekst verwijderen.
Met vriendelijke groet,
Rinze
Rinze van Tol op 21/12/2007 15:41:00:
het is een eigen datadase.. php bestand
dit zijn de eerst 2 regels van mijn data:
Vertaald in woorden:
kristoff schreef op 21.12.2007 15:37:
je haalt je data uit een database he
waarom zet je uw tien top topics en dergelijke niet in je query
bv
select * from weetikveelwat SORT BY hits ASC LIMIT 10
of zo iets in de aard
dan moet je alleen uw records verwerken.
waarom zet je uw tien top topics en dergelijke niet in je query
bv
select * from weetikveelwat SORT BY hits ASC LIMIT 10
of zo iets in de aard
dan moet je alleen uw records verwerken.
het is een eigen datadase.. php bestand
dit zijn de eerst 2 regels van mijn data:
Code (php)
1
<?php $Links[] = "2|0|0||Gmail|Gmail|http://www.gmail.com|[email protected]|119091229243802|E-mail"; ?>
Code (php)
1
<?php $Links[] = "2|0|0||ICQ Mail|ICQ Mail|http://www.icqmail.com|[email protected]|119091413378411|E-mail"; ?>
Vertaald in woorden: