kemi (statz) | #2, Főfasz (2970) |
46 | #0f20 | ^ | Idézet | Tue, 23 Mar 2010 18:44:04 +01 |
86.101.*.* | *.catv.broadband.hu |
Nekem is van egy QuickShotom, de nem eladó. :P |
Flood3r (statz) | #8, Lófasz (838) |
175 | #0f21 | ^ | Idézet | Tue, 23 Mar 2010 23:39:40 +01 |
80.98.*.* | *.catv.broadband.hu |
Okéj, asszem körülnézek azokon az oldalakon. Most viszont egy php-s kérdés(sajna még elég noob vagyok): Hogy a gyökbe kell ilyen lapozót csinálni, mit itt a vendégkönyvben? :) |
TCH (statz) | #1, Főfasz (10443) |
3808 | #0f22 | ^ | Idézet | Wed, 24 Mar 2010 11:51:24 +01 |
188.36.*.* | 188.36.*.* |
Nesze, odaadom az én általános lapozómat. function pager($search, $per_page, $current_page, $base_url, $pageparam, $next, $prev, $width) { $count = mysql_num_rows(mysql_query($search)); $lastpage = floor($count / $per_page); if (($count % $per_page) != 0) $lastpage++; $page0 = ''<a href="'.$base_url.'&'.$pageparam.'='; if (($current_page - 1) > 0) $result['prev'] = $page0.($current_page - 1).'">'.$prev.'</a>'; else $result['prev'] = ''; if (($current_page + 1) < ($lastpage + 1)) $result['next'] = $page0.($current_page + 1).'">'.$next.'</a>'; else $result['next'] = ''; $result['page'] = ''; for($i = 1; $i < ($lastpage + 1); $i++) { if ($i != $current_page) $result['page'] .= $page0.$i.'">['.$i.']</a>'; else $result['page'] .= '<b>['.$i.']</b>'; if (($i % $width) == 0) $result['page'] .= '<br />'; } $result['query'] = $search.'LIMIT '.(($current_page - 1) * $per_page).', '.$per_page; $result['data'] = mysql_query($search.' LIMIT '.(($current_page - 1) * $per_page).', '.$per_page); return $result; } Paraméterek: - search: Ez az SQL kérés amit végre fog hajtani. Pl "SELECT * FROM termek WHERE termek_kat=15" - per_page: Hány találat egy oldalon. - current_page: Hanyadik oldalon járunk. Ez azt jelenti, hogy ha pl a 155. oldalon járunk, mint itt a vendégkönyvben, akkor abból nem csinál linket. - base_url: Az az url, amihez majd hozzácsapja a szükséges paramétereket. Pl "http://webbolt.hu/search.php?termek_kat=15" - pageparam: Az oldalszám paraméterének neve. Pl ha beírod, hogy "lap", akkor az előbb írt link így fog kinézni: "http://webbolt.hu/search.php?termek_kat=15&lap=" és utána az oldalszámok. - next és prev: Ezek az előző/következő linkek szövegei. Pl "Előző lap" vagy "Következő oldal", akármi. - width: Hány oldalt sorol fel egy sorban. Itt pl 24. A végeredmény: A visszakapott eredmény egy tömb, aminek öt eleme van. A 'data', az a lefutott lap eredménye, egy mysql_result, lehet fetchelni. A 'query', az meg a létrehozott kérés, aminek az eredménye a 'data' részben van. Csak azért van, hogy debuggolni lehessen a kérést, ha el van baszva valami. Vagy, ha hozzá akarsz csapni valamit még. A 'page' az a lapozó maga, amit itt fent is látsz. Ki kell íratni echoval, vagy ahogy akarod. A 'next' és a 'prev' az az előző és a következő lapok linkje. Ugyanaz vonatkozik rá, ami a 'page'-ra is. De nem muszáj kiiratni. Itt sincs. Használat: $eredmeny = pager( 'SELECT * FROM termek WHERE (termek_kat='.$_GET["kat_id"].') AND (termek_nev LIKE "%'.$_GET["kereso"].'%")', 15, 0, '?search&kat_id='.$_GET["kat_id"].'&kereso='.$_GET["kereso"], 'pg', '>>', '<<', 16 ); $lapozo = $eredmeny['page'].'<br />'.$eredmeny['prev'].' '.$eredmeny['next'].'<br />'; echo $lapozo; // felülre while ($row = mysql_fetch_array($eredmeny['data']) { echo 'Név: '.$row['termek_nev']. 'Ár: '.$row['termek_ar']; // stb. } echo $lapozo; // alulra Az $eredmeny['query']-ben egyébként ugyanaz lesz, mint amit a search paraméterbe beírtál, csak éppen hozzá lesz csapva a megfelelő LIMIT is. |
sarxp (statz) | #15, Jobbfasz (88) |
1520 | #0f23 | ^ | Idézet | Wed, 24 Mar 2010 19:20:21 +01 |
193.226.*.* | *.226.240.111.pool.invitel.hu |
Én is megdoblak akkor egy lapozóval, mondjuk nem olyan fejlett mint a TCH-jé, csak egy szimpla :) <?php //kapcsolódsz az adatbázisodhoz... $per_page = 5; //hány üzenet legyen egy oldalon $page = $_GET ['page']; $record_count = mysql_num_rows (mysql_query ("SELECT * FROM tablad")); $max_pages = $record_count / $per_page; if (!$page) $page = 0; //így alapból 0-val kezd $get = mysql_query ("SELECT * FROM tablad LIMIT $page, $per_page"); while ($assoc = mysql_fetch_assoc ($get)) { $nev = $assoc ['nev']; //és így továb... echo $nev."<br>"; } //előre és hátra linkek + változók $prev = $page - $per_page; $next = $page + $per_page; //léteznek-e? előző, következő linkek kiíratása if (!($page<=0)) echo "<a href='fajlod.php?page=$prev'>Előző</a>"; //oldalszámok kiírása, for ciklus $i = 1; for ($x=0;$x<$record_count;$x=$x+$per_page) { if ($page!=$x) echo "<a href='fajlod.php?page=$x'>[$i]</a>"; else echo "<a href='fajlod.php?page=$x'>[$i]<b></b></a>"; $i++; } if (!($page>=$record_count-$per_page)) echo "<a href='fajlod.php?page=$next'>Következő</a>'>"; ?> Amit át kell írni: 1. A fájlnak a nevét (jelen esetben ez a "fajlod.php") 2. Az tábla nevét 3. Az asszociatív tömböket 4. Megformázhatod a kiíratást (a while ciklusban) |
TCH (statz) | #1, Főfasz (10443) |
219 | #0f24 | ^ | Idézet | Wed, 24 Mar 2010 19:50:36 +01 |
188.36.*.* | 188.36.*.* |
Te ez így hibás: "SELECT * FROM tablad LIMIT $page, $per_page" Nem szoroztad be a $page-t a $per_pageval: "SELECT * FROM tablad LIMIT ".$page*$per_page.", ".$per_page" |
sarxp (statz) | #15, Jobbfasz (88) |
155 | #0f25 | ^ | Idézet | Thu, 25 Mar 2010 06:49:56 +01 |
79.120.*.* | *.120.160.152.pool.invitel.hu |
Szerintem semmi baja nincs, le is futtattam. Lefuttattam úgy is, hogy az SQL kérést írtam át (mint a tiedben), de nem írt ki mindent. Az első párat kiírta. |
Flood3r (statz) | #8, Lófasz (838) |
157 | #0f26 | ^ | Idézet | Thu, 25 Mar 2010 10:27:44 +01 |
89.134.*.* | *.catv.broadband.hu |
Köszönöm szépen :) Mög kéne mán tanulnom ezt a péhápét, ezzel a keresővel is megszenvedetem a datastormon, mire sikerült. Na, akkor belegyógyítom az oldalba. |
TCH (statz) | #1, Főfasz (10443) |
319 | #0f27 | ^ | Idézet | Thu, 25 Mar 2010 15:04:13 +01 |
84.0.*.* | 84.0.*.* |
sarxp: Hát pedig elvileg ha oldalszám szerint akarsz listázni, akkor úgy kell, hogy "LIMIT kurrens_oldal * oldalankent_ennyi, oldalankent_ennyi" Gondolj bele, ha a kurrens oldal mondjuk 10, akkor nem a 10 oldaltól, hanem a tizedik bejegyzéstől kezd el listázni. Flood3r: Nincs mit. Ha vmi tipp kell szólj. |
TCH (statz) | #1, Főfasz (10443) |
1481 | #0f28 | ^ | Idézet | Thu, 25 Mar 2010 19:48:35 +01 |
84.0.*.* | 84.0.*.* |
Egy részlet a Wikpedia Linux cikkének a jogi szegmenséből:
No comment. |
kemi (statz) | #2, Főfasz (2970) |
322 | #0f29 | ^ | Idézet | Thu, 25 Mar 2010 23:10:06 +01 |
86.101.*.* | *.catv.broadband.hu |
Ez megint az az effektus, hogy "tiltsuk be a nyílt forrású szoftvereket, és erőltessük rá a népere jó drágán a kereskedelmi szoftvereket, nehogy kiürüljön a zsebünk". Az SCO meg perelgessen csak, ott a Nokia, a Google, a Sun meg még jópár multicég akik támogatják az open source szoftvereket. Esélytelen ellenük. |
TCH (statz) | #1, Főfasz (10443) |
82 | #0f2a | ^ | Idézet | Fri, 26 Mar 2010 18:47:35 +01 |
188.36.*.* | 188.36.*.* |
Még jó. De én nem is magán az SCO-n akadtam ki, hanem, hogy ez is a mikrofos műve. |
Wladek89 alias "Wladek" | #30, Alfasz (11) |
147 | #0f2b | ^ | Idézet | Fri, 26 Mar 2010 23:07:42 +01 |
84.3.*.* | 84.3.*.* |
Helló! Le töltöttem egy bootleg-et, ami .rar-ba van csomagolva, jelszót kér a kicsomagoláshoz. Nem tudom kinyitni a csomagot. Tud valaki segíteni? |
DJ Pety alias "Pety" | #6, Lófasz (953) |
110 | #0f2c | ^ | Idézet | Sat, 27 Mar 2010 02:07:06 +01 |
81.182.*.* | *.pool.t-online.hu |
Lehet próbálkozni rar pass törőkkel, de megőszülsz mire az végez, így inkább keresd meg máshol, jelszó nélkül. |
kemi (statz) | #2, Főfasz (2970) |
45 | #0f2d | ^ | Idézet | Sat, 27 Mar 2010 11:14:56 +01 |
86.101.*.* | *.catv.broadband.hu |
http://www.rarpasswordcracker.com/ |
aaaaaaaa alias "aaaaaaaa aki tgwsrtzuhwwtzrrtz" | #94, Szarfasz (1) |
17 | #0f2e | ^ | Idézet | Sun, 28 Mar 2010 12:47:01 +02 |
84.1.*.* | 84.1.*.* |
tgwsrtzuhwwtzrrtz |
TCH (statz) | #1, Főfasz (10443) |
15 | #0f2f | ^ | Idézet | Sun, 28 Mar 2010 19:05:34 +02 |
188.36.*.* | 188.36.*.* |
Ha te mondod... |