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.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 heb geen perl draaien... maar Windows moet toch wel in staat zijn er een mailtje uit te doen lijkt me?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.
dat klinkt heel logisch idd. ik ga dat vandaag eens proberen, thanks!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!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | 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' => ' ')); |
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 | error_reporting(E_ALL); $pointers = array('first' => 'eerste', 'prev' => 'vorige', 'currl' => '<strong style="color: blue;">', 'currr' => '</strong>', 'next' => 'volgende', 'last' => 'laatste', 'spacer' => ' '); $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;"> </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'] = " ";} // 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); */ ?> |
Ik zie zo snel geen fout in de functionaliteit, maar ik zou in plaats van >> voor knopjes > gebruiken en < voor <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 ]
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 | 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 > 0 && $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(0, 250); $itemsPerPage = rand(4, 10); $maxPages = rand(3, 10); /* $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>'; } ?> |
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 | 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 > 0 && $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(0, 250); $p->itemsPerPage = rand(4, 10); $p->maxPages = rand(3, 10); $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"; } ?> |
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 | $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 == 0 ) { print 'Eerste pagina'; } elseif( $i == $pagecount ) { print 'Laatste pagina'; } else { print 'Pagina' . $i; } } ?> |
Ja daar kwam ik al achter toen ik het in mijn project ging verwerkenquote: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.
Arraytje? dat zie ik niet terug komen in je code, maar mijn manier kan ook het aantal pagina's achter elkaar instellen.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.
Tja jammer dat FOK geen minimalize button voor codes heeft héquote:Oh en over die lange lappen code, ik moet eindeloos scrollen man
Leuk dat je is_int gebruikt, ik check altijd met is_numericquote:Even een kort voorbeeld zonder al te uitgebreid te gaan.
[ code verwijderd ]
Daar kwam ik ook achter idd, floor is naar beneden en ceil is omhoogquote:ceil is beter omdat je ander items niet gaat laten zien (die vallen eraf door de floor).
Wat dacht je van een pastebin?quote:Op donderdag 27 december 2007 08:48 schreef Chandler het volgende:
[..]
Tja jammer dat FOK geen minimalize button voor codes heeft hé
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!quote:Op donderdag 27 december 2007 08:48 schreef Chandler het volgende:
Leuk dat je is_int gebruikt, ik check altijd met is_numeric
wat dacht je van apieceofcode.netquote:Op donderdag 27 december 2007 08:52 schreef WyriHaximus het volgende:
[..]
Wat dacht je van een pastebin?
Damn, doe ik nog eens iets goedquote: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!
Ja bijvoorbeeld .quote:Op donderdag 27 december 2007 11:20 schreef Chandler het volgende:
[..]
wat dacht je van apieceofcode.net
SPOILEROm 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? |
quote:Op vrijdag 28 december 2007 00:29 schreef SuperRembo het volgende:
Werkt een spoiler-tag om een code-tag heen?Zo te zien wel alleen hebben ze een max width . Ziet er niet echt netjes uit zo.SPOILEROm 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)
[..]phluphy for president!
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 | 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; } ?> |
Forum Opties | |
---|---|
Forumhop: | |
Hop naar: |