abonnement Unibet Coolblue
pi_55425076
Nee het IP adres is niet uniek, wel in combinatie met de site ID
Just say hi!
pi_55425929
quote:
Op donderdag 20 december 2007 20:40 schreef Chandler het volgende:
Nee het IP adres is niet uniek, wel in combinatie met de site ID
Ik bedoel het ip In de tabel IPS die je voorstelt. Daar schiet je dus niets mee op, je verangt dan het ene id (ip) door het andere.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_55433979
Ik snap je blijkbaar nog niet helemaal maar zal wel komen omdat het vroeg is
Just say hi!
pi_55441836
Weet iemand hier misschien hoe het zit met regeleindes in CSV bestanden? (Ofwel tab-delimited data in een txt bestand)?

Ik heb zelf een DBF database geopend in Excel en dat geëxporteerd naar TXT. Dat bestand kan ik zonder problemen in PHP openen en omzetten naar SQL instructies.

Echter een TXT bestand rechtstreeks uit dBase (ook tab-delimited) gaat helemaal mis, het lijkt erop dat hij de regels niet kan afbreken waardoor het dus niet lukt om elke regel te extracten.
Michael Scott: If I were joking, you'd be laughing. Do you look like you're laughing?
Dwight K. Schrute: Impossible to say. I can't see myself.
pi_55498841
Misschien een verschilletje tussen \r\n en alleen \n?

Overigens over database normalisatie ik heb geleerd dat tabelnamen altijd enkelvoud zijn dus een tabel ip En ik heb stukje over caching geschreven
pi_55499419
ik heb PHP 5.xx draaien op Windows XP. Gaat allemaal heel leuk, maar ik kan geen mail versturen vanaf localhost. Nu gebruik ik altijd mail.provider.nl, maar dan duurt het verzenden al gauw zo'n 20 seconden, en dat is vrij irritant...

Enig idee hoe ik:
- OF mail vanaf localhost kan versturen
- OF sneller via mijn provider kan mailen?
pi_55500999
Je kan eventueel ook via sendmail een mail sturen. Is een perl script.
Michael Scott: If I were joking, you'd be laughing. Do you look like you're laughing?
Dwight K. Schrute: Impossible to say. I can't see myself.
pi_55502624
hoi mensen,

ik ben begonnen met een site waar een database achter moet gaan draaien, maar ik zit met een probleem.

ff kort hoe ik het wil hebben:

de website moet een database bevatten van DJ's, SETS en EVENTS. Een EVENT wordt gezien als evenement/houseparty... en op elk event draaien 1 of meerdere dj's een set.
Elke set-pagina zal uiteindelijk ook een link bevatten naar een audiofile zodat mensen de betreffende set nog eens na kunnen luisteren thuis.
Elke set bestaat uit een variabel aantal TRACKS (id, artist,title, remixer) die die avond door de dj gedraaid zijn.

Tot zover lukt het me nog wel, maar ik wil ook graag een tracklist toevoegen aan de pagina.
Ik dacht aan de volgende manier:

aan de TRACK tabel voeg ik nog de elementen 'set_id' en 'position' toe. Hiermee bepaal ik dus in welke set een bepaalde track gedraaid is, en welke positie binnen de set deze track heeft. Door nu een aantal tabellen te joinen zou ik dus de tracklist van een specifieke set kunnen tonen.

Wanneer ik van die set_id + position gebruik maak, zullen er heel veel 'dubbele' tracks in de database voorkomen. DJ's draaien nogal ns dezeflde nummers maar door die set_id en position kan ik zo'n track maar koppelen aan 1 set.

Nou zou het ook leuk zijn als bezoekers op de tracknaam binnen de tracklist kunnen klikken om zo te zien in welke sets deze track gedraaid is. Maar dit gaat dus niet omdat dezelfde track meerdere id's heeft.

Is er een manier om deze samen te voegen als het ware, zodat die 'dubbele tracks' gezien worden als slechts 1 track??



[ Bericht 23% gewijzigd door warezguy05 op 23-12-2007 23:05:12 ]
pi_55506826
Je kan een losse koppeltabel gebruiken met daarin twee foreign keys, eentje van de set en eentje van de track. Hierdoor kun je een enkele track aan meerdere sets hangen of een enkele set aan meerdere tracks etc.

Die tabel zou dus een set_id en een track_id bevatten en that's it, even wat InnoDB magic erop los laten en het is klaar om te gaan!
pi_55508357
quote:
Op zondag 23 december 2007 21:46 schreef DaFrenk het volgende:
Je kan eventueel ook via sendmail een mail sturen. Is een perl script.
Ik heb geen perl draaien... maar Windows moet toch wel in staat zijn er een mailtje uit te doen lijkt me?
pi_55511406
quote:
Op maandag 24 december 2007 02:50 schreef colourAgga het volgende:
Je kan een losse koppeltabel gebruiken met daarin twee foreign keys, eentje van de set en eentje van de track. Hierdoor kun je een enkele track aan meerdere sets hangen of een enkele set aan meerdere tracks etc.

Die tabel zou dus een set_id en een track_id bevatten en that's it, even wat InnoDB magic erop los laten en het is klaar om te gaan!
dat klinkt heel logisch idd. ik ga dat vandaag eens proberen, thanks!
pi_55512268
Ik heb een vraag, voor een kleine website wil ik pagina's gaan inbouwen met de volgende (zelf geschreven code) echter zit er een fout in.. maar kan deze niet vinden.

Bv ik heb 15 items, als ik deze code start met de volgende statement

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$pages = pointer($page, 
                 array('file'  => '/catch', 
                       'param' => '/videos/page/', 
                       'first' => 1, 
                       'last'  => floor($maxpages / 5)-1, 
                       'step'  => 1, 
                       'max'   => (floor($maxpages / 5) > 5 ? 5 : floor($maxpages / 5)-1)), 
                 array('first'  => 'eerste', 
                       'prev'   => 'vorige', 
                       'currl'  => '<strong>', 
                       'currr'  => '</strong>', 
                       'next'   => 'volgende', 
                       'last'   => 'laatste', 
                       'spacer' => ' ')); 


en maxpages = 15 dan krijg ik op de eerste pagina (zonder query) het volgende te zien.

Pagina's: 1 2 volgende

Als ik op pagina 2 klik krijg ik het volgende te zien.

Pagina's: 1

Ik snap niet waar de fout in zit en of wat ik fout doe of heb ik gewoon een sukkie script geschreven? (lange geleden )

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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
<?php
error_reporting
(E_ALL);

$pointers = array('first'  => 'eerste',
                  
'prev'   => 'vorige',
                  
'currl'  => '<strong style="color: blue;">',
                  
'currr'  => '</strong>',
                  
'next'   => 'volgende',
                  
'last'   => 'laatste',
                  
'spacer' => '&nbsp;');

$pointer1 = array('first'  => '<',
                  
'prev'   => '<<',
                  
'currl'  => '<strong style="color: green;">',
                  
'currr'  => '</strong>',
                  
'next'   => '>>',
                  
'last'   => '>>',
                  
'spacer' => '<div style="display: inline; width: 15px; border-top: 1px solid black;">&nbsp;</div>');

function 
pointer($current$settings = array(), $pointers = array())
{
    
$tmp "";

    
// check for existence
    

    // these variables need to be set! else return false;
    
if (!isSet($settings['file'] ))  { return "pointer::file_not_specified";}
    if (!isSet(
$settings['first']))  { return "pointer::first_not_specified";}
    if (!isSet(
$settings['last']))   { return "pointer::last_not_specified";}
    
// if no settings found, use current.
    
if (!isSet($settings['param']))  { $settings['param'] = "?";}
    if (!isSet(
$settings['step']))   { $settings['step'] = 1;}
    if (!isSet(
$settings['max']))    { $settings['max'] = 5;}
    
    
// no pointers found, create default pointers.
    
if (!isSet($pointers['first']))  { $pointers['first']  = "first";}
    if (!isSet(
$pointers['prev']))   { $pointers['prev']   = "previous";}
    if (!isSet(
$pointers['currl']))  { $pointers['currl']  = "<strong>";}
    if (!isSet(
$pointers['currr']))  { $pointers['currr']  = "</strong>";}
    if (!isSet(
$pointers['next']))   { $pointers['next']   = "next";}
    if (!isSet(
$pointers['last']))   { $pointers['last']   = "last";}
    if (!isSet(
$pointers['spacer'])) { $pointers['spacer'] = "&nbsp;";}

    
// if first is lower then 1 first is one.
    
if ($settings['first'] < 1)
    {
        
$settings['first'] = 1;
    }

    
// create start, mid and end variables
    
$point_first $settings['first'];
    
$point_mid   ceil($current $settings['step']);
    
$point_last  ceil($settings['last'] / $settings['step']);

    
// is a back to first page pointer needed?
    
if (isSet($pointers['first']))
    {
        if ((
$point_mid -2) > 0)
        {
            
// first pointer wanted;
            
$tmp .= '<a href="' $settings['file'] . $settings['param'] . $point_first '" TITLE="First page">' $pointers['first'] . '</a>';
            
$tmp .= $pointers['spacer'];
        }
    }
    
// is a previous page pointer needed?
    
if (isSet($pointers['prev']))
    {
        if ((
$point_mid -1) > 0)
        {
            
// previous pointer wanted;
            
$tmp .= '<a href="' $settings['file'] . $settings['param'] . ($point_mid -1) . '" TITLE="Previous page">' $pointers['prev'] . '</a>';
            
$tmp .= $pointers['spacer'];
        }
    }
    
    
// select number of items before and after current page
    
$pos floor(($settings['max'] -1) /2);
    
    
// if pointer is close to the beginning of pages
    
if (($point_mid $pos) < 1)
    {
        
// first peace (from 12345)
        
for ($x 1$x < ($settings['max'])+1$x++)
        {
            if (
$x == $point_mid)
            {
                
// current page
                
$tmp .= '<a href="' $settings['file'] . $settings['param'] . $x '" TITLE="To page ' $x '">' $pointers['currl'] . $x $pointers['currr'] . '</a>';
                
$tmp .= $pointers['spacer'];
            }
            else
            {
                
$tmp .= '<a href="' $settings['file'] . $settings['param'] . $x '" TITLE="To page ' $x '">' $x  '</a>';
                
$tmp .= $pointers['spacer'];
            }
        }
    }
    
// pointer close to the end of pages
    
elseif (($point_mid $pos) > $point_last)
    {
        
// last peace (from 11,12,13,14,15 (to last))
        
for ($x = ($point_last $settings['max'])+1$x <= $point_last$x++)
        {
            if (
$x == $point_mid)
            {
                
// current page
                
$tmp .= '<a href="' $settings['file'] . $settings['param'] . $x '" TITLE="To page ' $x '">' $pointers['currl'] . $x $pointers['currr'] . '</a>';
                
$tmp .= $pointers['spacer'];
            }
            else
            {
                
$tmp .= '<a href="' $settings['file'] . $settings['param'] . $x '" TITLE="To page ' $x '">' $x  '</a>';
                
$tmp .= $pointers['spacer'];
            }
        }
    }
    
// pointer is somewhere between...
    
else
    {
        
// mid peace (4,5) before current page
        
for ($x $point_mid $pos$x $point_mid$x++)
        {
            
$tmp .= '<a href="' $settings['file'] . $settings['param'] . $x '" TITLE="To page ' $x '">' $x  '</a>';
            
$tmp .= $pointers['spacer'];
        }

        
// current page
        
$tmp .= '<a href="' $settings['file'] . $settings['param'] . $x '" TITLE="To page ' $x '">' $pointers['currl'] . $x $pointers['currr'] . '</a>';
        
$tmp .= $pointers['spacer'];

        
// mid peace (7,8) after current page.
        
for ($x $point_mid +1$x < ($point_mid $pos)+1$x++)
        {
            
$tmp .= '<a href="' $settings['file'] . $settings['param'] . $x '" TITLE="To page ' $x '">' $x  '</a>';
            
$tmp .= $pointers['spacer'];
        }
    }
    
    
// if there is a next page
    
if (isSet($pointers['next']))
    {
        if ((
$point_mid +1) < $point_last)
        {
            
// next pointer wanted;
            
$tmp .= '<a href="' $settings['file'] . $settings['param'] . ($point_mid +1) . '" TITLE="Next page">' $pointers['next'] . '</a>';
            
$tmp .= $pointers['spacer'];
        }
    }
    
    
// if current page is lower then last-2 then show last.
    
if (isSet($pointers['last']))
    {
        if ((
$point_mid +2) < $point_last)
        {
            
// last pointer wanted;
            
$tmp .= '<a href="' $settings['file'] . $settings['param'] . $point_last '" TITLE="Last page">' $pointers['last'] . '</a>';
            
$tmp .= $pointers['spacer'];
        }
    }
    
    return 
$tmp "<br /><br />";

}


// pointer(, $settings, $pointers);

/*
echo pointer(10, $settings, $pointers);
echo pointer(50, $settings, $pointer1);
echo pointer(250, $settings, $pointer1);
echo pointer(255, $settings, $pointers);
*/
?>
Just say hi!
  maandag 24 december 2007 @ 13:22:49 #38
136730 PiRANiA
All thinking men are atheists.
pi_55512623
quote:
Op maandag 24 december 2007 13:07 schreef Chandler het volgende:
Ik heb een vraag, voor een kleine website wil ik pagina's gaan inbouwen met de volgende (zelf geschreven code) echter zit er een fout in.. maar kan deze niet vinden.

Bv ik heb 15 items, als ik deze code start met de volgende statement
[ code verwijderd ]

en maxpages = 15 dan krijg ik op de eerste pagina (zonder query) het volgende te zien.

Pagina's: 1 2 volgende

Als ik op pagina 2 klik krijg ik het volgende te zien.

Pagina's: 1

Ik snap niet waar de fout in zit en of wat ik fout doe of heb ik gewoon een sukkie script geschreven? (lange geleden )
[ code verwijderd ]
Ik zie zo snel geen fout in de functionaliteit, maar ik zou in plaats van >> voor knopjes &gt; gebruiken en &lt; voor <
pi_55512855
Bedankt PiRANiA, zal ik even aanpassen in de lokale versie

Ik heb mijn script eens opnieuw geschreven, met comments

Graag commentaar!

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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<?php
function pages($currentPage 0$totalItems 0$itemsPerPage 0$maxPages 10$link)
{
    
/*
    
    currentPage is the page wich we are on yet
    totalItems are the total items to show / itemsPerPage = pages
    itemsPerPage are the numbe of items per page
    maxPages are the max num of pages to show

    */
    
    
$returnStr "";

    
// start init
    
if (floor($totalItems $itemsPerPage) < 1)
    {
        
// no pages available
        
return false;
    }
    
$pages floor($totalItems $itemsPerPage);
    
    
// if current page is bigger then total pages?
    
if ($currentPage $pages)
    {
        
// if current page is bugger then max pages, currentpage is maxpage
        
$currentPage $pages;
    }
    
    
/* show first, prevoius page */
    
if ($currentPage 1)
    {
        
$returnStr .= '<a href="' $link['link'] . '">first</a> ';
        
$returnStr .= '<a href="' $link['link'] . str_replace("%s"$currentPage -1$link['query']) . '">previous</a> ';
    }
    elseif (
$currentPage 0)
    {
        
$returnStr .= '<a href="' $link['link'] . '">first</a> ';
    }
    
    
    
    
/* middle part */
    
$rPage floor(($maxPages-1) /2);

    
// if page is between total pages
    
if ($currentPage $rPage && $currentPage $rPage $pages)
    {
        
$first $currentPage $rPage;
        
$last  $currentPage $rPage;
    }
    
// if page is one of the first pages
    
elseif ($currentPage $rPage <= 0)
    {
        
// from 0
        
$first 1;
        
$last  $maxPages;
    }
    
// if page is one of the last pages
    
else
    {
        
// from maxpages
        
$first = ($pages $maxPages) +1;
        
$last  $pages;
    }
    
    
// if last is bigger then total pages
    
if ($last $pages)
    {
        
$last $pages;
    }
    
    
/* middle pages */
    
for ($x $first$x $last+1$x++)
    {
        if (
$currentPage == $x)
        {
            
$returnStr .= '<a href="' $link['link'] . str_replace("%s"$x$link['query']) . '">' str_replace("%s"$x$link['current']) . '</a> ';
        }
        else
        {
            
$returnStr .= '<a href="' $link['link'] . str_replace("%s"$x$link['query']) . '">' $x '</a> ';
        }
    }
    
    
/* end part */
    
if ($pages $currentPage 1)
    {
        
$returnStr .= '<a href="' $link['link'] . str_replace("%s"$currentPage +1$link['query']) . '">next</a> ';
        
$returnStr .= '<a href="' $link['link'] . str_replace("%s"$pages$link['query']) .  '">last</a> ';
    }
    elseif (
$pages $currentPage 0)
    {
        
$returnStr .= '<a href="' $link['link'] . str_replace("%s"$pages$link['query']) .  '">last</a> ';
    }
    
    return 
$returnStr;
}

/* 

test pogingen, lekker random

*/

$linkArr = array("link"    => '/pages.php',
                 
"query"   => '?from=%s',
                 
"current" => '<strong style="color: red;">%s</strong>');

$totalItems   rand(0250);
$itemsPerPage rand(410);
$maxPages     rand(310);

/*
$totalItems   = 10;
$itemsPerPage = 7;
$maxPages     = 9;
*/

echo "<h2> totalItems $totalItems itemsPerPage $itemsPerPage maxPages $maxPages</h2>";

for (
$currentPage 0$currentPage floor($totalItems $itemsPerPage)+1$currentPage++)
{
    echo 
pages($currentPage$totalItems$itemsPerPage$maxPages$linkArr);
    echo 
'<hr>';
}
?>


en ik heb het gepoogd om te zetten naar een class, waarbij je meer dingen kunt instellen.

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
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<?php
class pagePointers
{
    var 
$titleFirst    "first";
    var 
$titlePrevious "previous";
    var 
$titleNext     "next";
    var 
$titleLast     "last";

    function 
pointers($in)
    {
        
$this->pointerLink    $in['link'];
        
$this->pointerQuery   $in['query'];
        
$this->pointerCurrent $in['current'];
    }
    
    function 
init()
    {
        
$this->returnStr '';
        
        
// start init
        
if (floor($this->totalItems $this->itemsPerPage) < 1)
        {
            
// no pages available
            
return false;
        }
        
$this->pages floor($this->totalItems $this->itemsPerPage);

        
// if current page is bigger then total pages?
        
if ($this->currentPage $this->pages)
        {
            
// if current page is bugger then max pages, currentpage is maxpage
            
$this->currentPage $this->pages;
        }
        
        
/* middle part */
        
$this->rPage floor(($this->maxPages -1) /2);
        
        
// if page is between total pages
        
if ($this->currentPage $this->rPage && $this->currentPage $this->rPage $this->pages)
        {
            
$this->first $this->currentPage $this->rPage;
            
$this->last  $this->currentPage $this->rPage;
        }
        
// if page is one of the first pages
        
elseif ($this->currentPage $this->rPage <= 0)
        {
            
// from 0
            
$this->first 1;
            
$this->last  $this->maxPages;
        }
        
// if page is one of the last pages
        
else
        {
            
// from maxpages
            
$this->first = ($this->pages $this->maxPages) +1;
            
$this->last  $this->pages;
        }

        
// if last is bigger then total pages
        
if ($this->last $this->pages)
        {
            
$this->last $this->pages;
        }
    }
    
    function 
first()
    {
        
/* show first, prevoius page */
        
if ($this->currentPage 1)
        {
            
$this->returnStr .= '<a href="' $this->pointerLink '">' $this->titleFirst '</a> ';
            
$this->returnStr .= '<a href="' $this->pointerLink str_replace("%s", ($this->currentPage -1), $this->pointerQuery) . '">' $this->titlePrevious '</a> ';
        }
        elseif (
$this->currentPage 0)
        {
            
$this->returnStr .= '<a href="' $this->pointerLink '">' $this->titleFirst '</a> ';
        }
    }
    
    function 
last()
    {
        
/* end part */
        
if (($this->pages $this->currentPage) > 1)
        {
            
$this->returnStr .= '<a href="' $this->pointerLink str_replace("%s"$this->currentPage +1$this->pointerQuery) . '">' $this->titleNext '</a> ';
            
$this->returnStr .= '<a href="' $this->pointerLink str_replace("%s"$this->pages$this->pointerQuery) .  '">' $this->titleLast '</a> ';
        }
        elseif (
$this->pages $this->currentPage 0)
        {
            
$this->returnStr .= '<a href="' $this->pointerLink str_replace("%s"$this->pages$this->pointerQuery) .  '">' $this->titleLast '</a> ';
        }
    }
    
    function 
middle()
    {
        
/* middle pages */
        
for ($x $this->first$x < ($this->last +1); $x++)
        {
            if (
$this->currentPage == $x)
            {
                
$this->returnStr .= '<a href="' $this->pointerLink str_replace("%s"$x$this->pointerQuery) . '">' str_replace("%s"$x$this->pointerCurrent) . '</a> ';
            }
            else
            {
                
$this->returnStr .= '<a href="' $this->pointerLink str_replace("%s"$x$this->pointerQuery) . '">' $x '</a> ';
            }
        }
    }
    
    function 
getPages($currentPage)
    {
        
$this->currentPage $currentPage;
        
$this->init();
        
        
$this->first();
        
$this->middle();
        
$this->last();
        
        return 
$this->returnStr;
    }
}

$p = new pagePointers;

$p->pointers(array("link"    => '/pages.php',
                   
"query"   => '?from=%s',
                   
"current" => '<strong style="color: red;">%s</strong>'));

$p->totalItems   rand(0250);
$p->itemsPerPage rand(410);
$p->maxPages     rand(310);

$p->titleFirst    "eerste";
$p->titlePrevious "vorige";
$p->titleNext     "volgende";
$p->titleLast     "laatste";

echo 
"<h2> totalItems $p->totalItems itemsPerPage $p->itemsPerPage maxPages $p->maxPages</h2>";

for (
$currentPage 0$currentPage floor($p->totalItems $p->itemsPerPage)+1$currentPage++)
{
    echo 
$p->getPages($currentPage);
    echo 
'<hr>' "\r\n\r\n\r\n";
}
?>


[ Bericht 70% gewijzigd door Chandler op 25-12-2007 12:58:38 ]
Just say hi!
pi_55564852
Even zonder erop in te gaan of echt uitgebreid je code te lezen, eventueel iets met kleiner dan of kleiner of gelijk aan. Dus < of <= en > of =>. Als dat het niet is gaat er ergens iets mis met je floor, en zul je daar een andere methode voor pakken.

Overigens zou ik gewoon een arraytje met pagina's maken en kijken of de key bestaat van de vorige pagina, stuk minder gehannes dan zo'n eindeloze lap code. Oh en over die lange lappen code, ik moet eindeloos scrollen man

Even een kort voorbeeld zonder al te uitgebreid te gaan.

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
<?php
  $itemcount 
100;
  
$itemspage 10;

  
$pagecount =  ceil$itemcount $itemspage );

  if( !isset( 
$_GET'page_id' ] ) OR !is_numeric$_GET'page_id' ] ) )
  {

    
$page 0;

  }
  elseif( isset( 
$_GET'page_id' ] ) AND is_numeric$_GET'page_id' ] ) )
  {

    
$page $_GET'page_id' ];

  }

  for( 
$i 0$i <= $pagecount$i++ )
  {

    if( 
$i == )
    {

      print 
'Eerste pagina';

    }
    elseif( 
$i == $pagecount )
    {

      print 
'Laatste pagina';

    }
    else
    {

      print 
'Pagina' $i;

    }

  }
?>


ceil is beter omdat je ander items niet gaat laten zien (die vallen eraf door de floor).

[ Bericht 43% gewijzigd door colourAgga op 27-12-2007 16:11:07 ]
pi_55566597
quote:
Op donderdag 27 december 2007 01:35 schreef colourAgga het volgende:
Even zonder erop in te gaan of echt uitgebreid je code te lezen, eventueel iets met kleiner dan of kleiner of gelijk aan. Dus < of <= en > of =>. Als dat het niet is gaat er ergens iets mis met je floor, en zul je daar een andere methode voor pakken.
Ja daar kwam ik al achter toen ik het in mijn project ging verwerken
quote:
Overigens zou ik gewoon een arraytje met pagina's maken en kijken of de key bestaat van de vorige pagina, stuk minder gehannes dan zo'n eindeloze lap code.
Arraytje? dat zie ik niet terug komen in je code, maar mijn manier kan ook het aantal pagina's achter elkaar instellen.
quote:
Oh en over die lange lappen code, ik moet eindeloos scrollen man
Tja jammer dat FOK geen minimalize button voor codes heeft hé
quote:
Even een kort voorbeeld zonder al te uitgebreid te gaan.
[ code verwijderd ]
Leuk dat je is_int gebruikt, ik check altijd met is_numeric
quote:
ceil is beter omdat je ander items niet gaat laten zien (die vallen eraf door de floor).
Daar kwam ik ook achter idd, floor is naar beneden en ceil is omhoog
Just say hi!
  donderdag 27 december 2007 @ 08:52:31 #42
84926 WyriHaximus
Release the hounds smithers!
pi_55566616
quote:
Op donderdag 27 december 2007 08:48 schreef Chandler het volgende:

[..]

Tja jammer dat FOK geen minimalize button voor codes heeft hé
Wat dacht je van een pastebin?
phluphy for president!
pi_55568025
quote:
Op donderdag 27 december 2007 08:48 schreef Chandler het volgende:
Leuk dat je is_int gebruikt, ik check altijd met is_numeric
Dan doe jij het goed en doet colourAgga het fout is_int() met een string als input (in dit geval uit $_GET) geeft altijd false!

[ Bericht 9% gewijzigd door SuperRembo op 27-12-2007 11:22:37 ]
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_55568286
quote:
Op donderdag 27 december 2007 08:52 schreef WyriHaximus het volgende:

[..]

Wat dacht je van een pastebin?
wat dacht je van apieceofcode.net
quote:
Op donderdag 27 december 2007 11:03 schreef SuperRembo het volgende:
[quote]Op donderdag 27 december 2007 08:48 schreef Chandler het volgende:
Leuk dat je is_int gebruikt, ik check altijd met is_numeric
/quote]

Dan doe jij het goed en doet colourAgga het fout is_int() met een string als input (in dit geval uit $_GET) geeft altijd false!
Damn, doe ik nog eens iets goed
Just say hi!
pi_55574929
Helemaal gelijk moet inderdaad is_numeric zijn, zal het even goed zetten. Tijdje al geen PHP gedaan en ik gooi het altijd door mijn verificatie klasse

In mijn voorbeeld staat inderdaad geen array omdat ik je code las en zag dat je alleen items over pagina's hoeft te verdelen terwijl toen ik het eerste stuk las dacht dat je echt als 'hoofdstukken' door een boek wilde bladeren of iets in die geest.
  donderdag 27 december 2007 @ 22:38:12 #46
84926 WyriHaximus
Release the hounds smithers!
pi_55586446
quote:
Op donderdag 27 december 2007 11:20 schreef Chandler het volgende:

[..]

wat dacht je van apieceofcode.net
Ja bijvoorbeeld .

-knip-
phluphy for president!
pi_55590932
Werkt een spoiler-tag om een code-tag heen?
SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
of anders een quote? (want die heeft tegenwoordig een max height)
quote:
1$foo = "bar";
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
  vrijdag 28 december 2007 @ 00:49:00 #48
84926 WyriHaximus
Release the hounds smithers!
pi_55591497
quote:
Op vrijdag 28 december 2007 00:29 schreef SuperRembo het volgende:
Werkt een spoiler-tag om een code-tag heen?
SPOILER
Om spoilers te kunnen lezen moet je zijn ingelogd. Je moet je daarvoor eerst gratis Registreren. Ook kun je spoilers niet lezen als je een ban hebt.
of anders een quote? (want die heeft tegenwoordig een max height)
[..]
Zo te zien wel alleen hebben ze een max width . Ziet er niet echt netjes uit zo.
phluphy for president!
pi_55664099
Nog ff wat commentaar op (een deel van) het scriptje van Tarabass in dat niet-centrale php topic met die waardeloze titel.

Ik snap niet helemaal waarom je een tabelnaam variabel zou willen maken. Maar als je dat dan doet, dan lijkt het me handiger om ze in $GLOBALS te zetten,
zodat je er altijd bij kunt zonder dat je die variabele aan elke functie hoeft mee te geven.
function CheckPostData($mysql_tbn) {
$ip = $_SERVER['REMOTE_ADDR'];
$ip = ip2long($ip);


Het heeft geen zin om hier een string te escapen, je bent hier nog helemaal niet met sql bezig
$data = mysql_real_escape_string($_POST['data']);
$date = date('y-m-j H:i:s');


Waarom 2 if-jes?
if($data != "Hier je bericht.....") {
if($data != "" && is_string($data)) {
InsertQuery($mysql_tbn, $ip, $data, $date);
}
}
}


Beetje vreemde functienaam, zegt ook niet veel over wat ie doet.
function InsertQuery($table, $ip, $data, $date) {
$sql_insert = "INSERT INTO " . $table . " SET ";

id is vast een integer, daar past dus geen (lege) string in. Als het een autoincrement id is, dan kan je 'm beter weglaten uit de insert.
$sql_insert .= "id = ''";
Hier moet je de string dus wel escapen
$sql_insert .= ", ip = '" . $ip . "'";
en hier ook
$sql_insert .= ", data = '" . $data . "'";
en hier ook.
Is de date kolom een string, een date/datetime of een int?
$sql_insert .= ", date = '" . $date . "'";

$result = mysql_query($sql_insert);
header("Location: " . $_SERVER['PHP_SELF']);

// Waarom is de exit uitgecomment? Na de redirect moet je er voor zorgen dat er geen data meer naar de client wordt gestuurd (dat gebeurt nu wel).
//exit;
}



Bij A List Apart staat een mooiere oplossing voor de "Hier je bericht....." tekst in de textarea.
Wil iedereen die in telekinese gelooft nu mijn hand op steken?
| Foto's van toen en nu | Icons | Whatpulse keyboard | .NET developer? |
pi_55674896
Fix-List:

Variable (volgens mij) nu global gemaakt.
Escape bij declaratie weggehaald en in de query pas meegegeven
If-statements verkort naar 1 if-statement
ID-integer uit de query gesloopt, ook geen idee waarom ik hem er bij had gezet (en dan ook nog als string).
exit; comment weggehaald.

Waarom moet ik de variable $ip escapen in de query? Dit is een integer, en geen string.
$date is een datetime. Waarom vraag je dat?

A List Apart wordt doorgenomen, dank voor de link.

Code na aanpassingen:
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
<?php
   function CheckPostData() {
        $ip   = $_SERVER['REMOTE_ADDR'];
        $ip   = ip2long($ip);
      $data = $_POST['data'];
      $date = date('y-m-j H:i:s');
        Global $mysql_tbn;

        if(($data != "Hier je bericht....." && $data != "") && (is_string($data))) {
            InsertQuery($ip, $data, $date);
        }
   }
    function InsertQuery($ip, $data, $date) {
        Global $mysql_tbn;

      $sql_insert = "INSERT INTO " . $mysql_tbn . " SET ";
      $sql_insert .= "ip = " . $ip;
      $sql_insert .= ", data = '" . mysql_real_escape_string($data) . "'";
      $sql_insert .= ", date = '" . $date . "'";

        $result = mysql_query($sql_insert);
        header("Location: " . $_SERVER['PHP_SELF']);
        exit;
    }
?>
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')