hulp gevraagd bij PHP

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3 4 5

Rinze van Tol

Rinze van Tol

21/12/2007 19:20:00
Quote Anchor link
de ID's kloppen.

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
 
PHP hulp

PHP hulp

29/11/2024 17:50:59
 
Kristoff

kristoff

21/12/2007 19:25:00
Quote Anchor link
jawel ze worden wel gesorteerd
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
 
Rinze van Tol

Rinze van Tol

21/12/2007 19:32:00
Quote Anchor link
Tot zo ver werkt de script goed.
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)
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
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]];
}

?>


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
 
Kristoff

kristoff

21/12/2007 23:55:00
Quote Anchor link
hoe bedoel je op nul blijven staan?
 
Rinze van Tol

Rinze van Tol

22/12/2007 11:58:00
Quote Anchor link
kristoff schreef op 21.12.2007 23:55:
hoe bedoel je op nul blijven staan?


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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 )

?>


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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?

$tip
= array();
for ($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$tip[$LinksSplit[1]] = $LinksSplit[8];

?>

IPV
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?

$tip
= array();
for ($i = 0; $i < count($Links); $i++) {
$LinksSplit = explode("|",$Links[$i]);
$tip[$LinksSplit[8]] = $LinksSplit[1];

?>

resultaat, alleen verkeerd om
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?

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
 
Kristoff

kristoff

22/12/2007 12:09:00
Quote Anchor link
doet de code nu wat je wilt dat hij doet
of wat is nog het probleem
 
Rinze van Tol

Rinze van Tol

22/12/2007 12:12:00
Quote Anchor link
kristoff schreef op 22.12.2007 12:09:
doet de code nu wat je wilt dat hij doet
of wat is nog het probleem


De link met de meeste INHITS zet die niet boven in.

ik ben even weg.
 
Kristoff

kristoff

22/12/2007 12:23:00
Quote Anchor link
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

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
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;
}


?>
Gewijzigd op 01/01/1970 01:00:00 door kristoff
 
Rinze van Tol

Rinze van Tol

22/12/2007 20:31:00
Quote Anchor link
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 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
 
- -

- -

22/12/2007 20:37:00
Quote Anchor link
Parse error: syntax error, unexpected T_ARRAY, expecting ')' in /customers/startagenda.nl/startagenda.nl/httpd.www/Test/new_page_3.php on line 52
 
Rinze van Tol

Rinze van Tol

22/12/2007 20:39:00
Quote Anchor link
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.
 
Rinze van Tol

Rinze van Tol

22/12/2007 20:57:00
Quote Anchor link
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
 
Kristoff

kristoff

23/12/2007 10:24:00
Quote Anchor link
Ik heb al gezien wat er verkeerd is

Ik denk dat de code zo gaat werken


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
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;
}


?>
Gewijzigd op 01/01/1970 01:00:00 door kristoff
 
Jan Koehoorn

Jan Koehoorn

23/12/2007 10:28:00
Quote Anchor link
@ 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 ;-)
 
Rinze van Tol

Rinze van Tol

23/12/2007 10:31:00
Quote Anchor link
kristoff schreef op 23.12.2007 10:24:
Ik heb al gezien wat er verkeerd is

Ik denk dat de code zo gaat werken

Foutmelding:

http://www.startagenda.nl/Test/new_page_3.php

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
    foreach ($keys as $array_key => $array_val)
?>


Ik denk dat het makelijkste is om eerst te kijken hoe we deze code aflopend kunnen krijgen ipv oplopend

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
<?
$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.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$tip
[$LinksSplit[1]] = $LinksSplit[8];
?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?
$new
[$LinksSplit[3]] = $LinksSplit[8];
?>
Gewijzigd op 01/01/1970 01:00:00 door Rinze van Tol
 
Rinze van Tol

Rinze van Tol

23/12/2007 10:33:00
Quote Anchor link
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.
 
Rinze van Tol

Rinze van Tol

23/12/2007 23:05:00
Quote Anchor link
Ik heb het probleem gevonden.

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
 
Rinze van Tol

Rinze van Tol

14/10/2012 18:47:19
Quote Anchor link
Hallo,

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:
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.


het is een eigen datadase.. php bestand

dit zijn de eerst 2 regels van mijn data:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $Links = array(); ?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $Links[] = "2|0|0||Gmail|Gmail|http://www.gmail.com|[email protected]|119091229243802|E-mail"; ?>

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $Links[] = "2|0|0||ICQ Mail|ICQ Mail|http://www.icqmail.com|[email protected]|119091413378411|E-mail"; ?>


Vertaald in woorden:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php $Links[] = "hits|inhits|uithits|datum|titel|omschrijving|url|mail|id|categorie,|ip"; ?>
 

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.