![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 21.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
witam... napisałem sobie encyklopedie... tresc pliku enc.php wyswietlajaca wyniki wyglada tak :
to dziala i jestem z tego bardzo zadowolony... ^^ ale nie wiem jak zrobic 2 rzeczy : otoz. ograniczyć $wiersz['tresc'] do 100 znakow i druga rzecz to podzielic wyniki na strony jezeli jest np. 40 takowych na dana litere... zeby na 1 strone miescilo sie 10 wynikow... i tworzyl sie link do nastepnej strony jezeli ilosc_wynikow > 10 ... moglby ktos pomoc ? z gory dziekuje, cya... |
|
|
![]()
Post
#2
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Pytanie pierwsze :arrow: substr()
Pytanie drugie :arrow: http://forum.php.pl/viewtopic.php?t=17484&...t=stronicowanie albo poszukaj pod hasłem stronicowanie |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 21.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
ok, dzieki
![]() moge to dopiero wyprobowac jutro bo mama kaze isc spac ![]() ![]() |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 21.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
z limitem na znaki udalo sie bez problemu ale ze stronicowaniem juz tak nie jest ... probowalem 2 skrypty i nic... bardziej mi sie spodobal ten do ktorego podales link
![]() [php:1:abe41ec95c]<?php $db = mysql_connect ("localhost", "revan", "******"); mysql_select_db('klan'); $zapytanie = "SELECT * FROM hasla WHERE temat LIKE "$litera%" ORDER BY temat DESC"; $wykonaj = mysql_query($zapytanie); while($wiersz = mysql_fetch_array($wykonaj)) { print "".$wiersz['autor']."<br>"; print "<b>".$wiersz['temat']."</b><br>"; print "".$wiersz['data']."<br>"; $rest = substr($wiersz['tresc'], 0, 100); print "".$rest."...<br><br>"; } ?>[/php:1:abe41ec95c] to jest moja czesc a to skrypt : [php:1:abe41ec95c]<?php <?php require ("gry.inc"); mysql_connect($bb_gry_hostname,$bb_gry_mysqluser,$bb_gry_mysqlpassword) or die("Unable to connect to SQL server"); if (!isset($first)) { $first = 0; } $ltmp = 3; // wielkosc "porcji", tu: 10 rekordow $query = ("select select nr, cos_tam from gry from gry LIMIT $first,$ltmp;"); $gry = mysql_db_query($bb_gry_db, $query) or die("Select Failed!"); while ($row = mysql_fetch_assoc($gry)) { ?> //tutaj wyswietlamy dane i wpisujemy co tylko chcemy <? } $count = mysql_num_rows(mysql_query("select nr, cos_tam from gry")); $count = $count/$ltmp; $ile = ceil($count); if ($first!=0) print ("<a href="strona.php?first=" . ($first-$ltmp) . "" title="Poprzednie"><big>«</big></a> "); for ($i=1;$i<=$ile;$i++) { print ("<a href="strona.php?first=" . ($i*$ltmp-$ltmp) . "" title="" . ($i*$ltmp-($ltmp-1)) . "-" . ($i*$ltmp) ."">"); if ($first==($i*$ltmp-$ltmp)) { print ("<b>[" . $i . "]</b></a> "); $akt=$i; } else { print ("[" . $i . "]</a> "); } } if ($akt<$ile) print ("<a href="strona.php?first=" . ($first+$ltmp) . "" title="Następne"><big>»</big></a>"); ?>[/php:1:abe41ec95c] aha, jeszcze powiem ze to znajduje sie w index.php?jutsu=enc (to po to zeby to wstawic zamiast strona.php... mnie juz glowa boli od tego :/ ... |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 21.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
sprobowalem zrobic cos takiego i nie wychodzi :/ moglby ktos wskazac blad
![]() [php:1:1ac758e8e8]<?php $db = mysql_connect ("localhost", "revan", "bionwn"); mysql_select_db('klan'); $zapytanie = "SELECT * FROM hasla WHERE temat LIKE "$litera%" ORDER BY temat DESC LIMIT ".($page*$ile).",$ile"; $wykonaj = mysql_query($zapytanie); while($wiersz = mysql_fetch_array($wykonaj)) { print "".$wiersz['autor']."<br>"; print "<b>".$wiersz['temat']."</b><br>"; print "".$wiersz['data']."<br>"; $rest = substr($wiersz['tresc'], 0, 100); print "".$rest."...<br><br>"; } list($wszystkich)=mysql_fetch_row(mysql_db_query("klan","SELECT count(*) FROM hasla LIKE "$litera%")); $podstron=ceil($wszystkich/$ile); if ($page>0) echo "<a href=skrypt.php?page=".($page-1).">Poprzednia</a>"; else echo "Poprzednia"; for ($i=1; $i<=$podstron; $i++) { if ($i==$page-1) echo "$i"; else echo "<a href=skrypt.php?page=$i> $i </a>"; } if ($page<$podstron) echo "<a href=skrypt.php?page=".($page+1).">Następna</a>"; else echo "Następna"; mysql_close($db); ?>[/php:1:1ac758e8e8] |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Zamiast odsyłać cię do innych linków opstanowiłem sam napisac krótki przykład.
Mamy taką tabelę w bazie danych:
i taki kod:
Bo w zasadze sam miałem ochote sobie coś skrobnąć, ale nie mam czasu na nic więcej. :wink: Pozdrawiam. Mike. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 21.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
cze
po przerobieniu otrzymalem taki kod : [php:1:89d1bedef5]<?php $intLimit = 3; //ilość rekordów na stronie; if( empty( $_GET['id'] ) ) { $intCurrentPage = 0; } else { $intCurrentPage = $_GET['id']; } $resBaseHandle = mysql_connect("localhost", "revan", "bionwn"); mysql_select_db("klan", $resBaseHandle); $resResult = mysql_query("SELECT temat FROM hasla"); $intCount = mysql_num_rows($resResult); echo $intCount.'<br>'; $resResult = mysql_query("SELECT * FROM hasla LIMIT ".($intCurrentPage*$intLimit).",".$intLimit); while( $arrRow = mysql_fetch_array( $resResult ) ) { echo $arrRow[ 'autor' ].' - '.$arrRow[ 'tresc' ].'<br>'; } echo '<br>'; for($i = 0; $i<ceil($intCount/$intLimit); $i++) { echo ' <a href="index.php?jutsu=enc&?id='.$i.'">['.($i+1).']</a> '; } mysql_close($resBaseHandle); ?>[/php:1:89d1bedef5] i tak po 1sze. jak dodac WHERE temat LIKE "$litera%" do wyswietlania i liczenia wierszy w tej tabeli i 2. to nie dziala ^^ ... tzn. nie ma zadnego bledu ale jak kliknie sie na dana cyfre to nie wzrasta limit tj. zawsze sa te same 3 poczatkowe wiersze z bazy... |
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Niemożliwe, że nie działa. Skrypt wypróbowany na 100%. Zresztą napisany tylko i wyłącznie na potrzeby tego topicu. :wink: Nawet tabele sobie specjalnie zrobiłem żebym mieć pewność. :wink:
Ale to nic, spróbujmy jeszcze raz : 1. Zrobiłeś lekki błąd: masz tak: Cytat echo ' <a href="index.php?jutsu=enc&? '; 2. W skrypcie jest tak:
Może masz włączone [b]register_globals</b>. Jeżeli tak to wyłącz, albo zrób tak:
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 21.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
ehh... nic nie dalo :/ ... na pw podalem Ci adres stronki abys zobaczyl, a tutaj skrypt jaki mam w enc.php (w czesci)
[php:1:606b79424a]<?php $intLimit = 5; //ilość rekordów na stronie; if( empty( $id ) ) { $intCurrentPage = 0; } else { $intCurrentPage = $_GET['id']; } $resBaseHandle = mysql_connect("localhost", "revan", "bionwn"); mysql_select_db("klan", $resBaseHandle); $resResult = mysql_query("SELECT temat FROM hasla"); $intCount = mysql_num_rows($resResult); echo $intCount.'<br>'; $resResult = mysql_query("SELECT * FROM hasla LIMIT ".($intCurrentPage*$intLimit).",".$intLimit); while( $arrRow = mysql_fetch_array( $resResult ) ) { echo $arrRow[ 'autor' ].' - '.$arrRow[ 'tresc' ].'<br>'; } echo '<br>'; for($i = 0; $i<ceil($intCount/$intLimit); $i++) { echo ' <a href="index?jutsu=enc&?id='.$i.'">['.($i+1).']</a> '; } mysql_close($resBaseHandle); ?>[/php:1:606b79424a] jakbys mogl napisac caly skrypt tym razem dostosowany do mojego serwera to bylbym niezmiernie wdzieczny... hehe siedze nad tym od 8:00 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 49 Pomógł: 0 Dołączył: 21.03.2004 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
ekhem... ale ze mnie lama ;] usunalem ? i dziala... no ale pozostaje jeszcze ten problem z WHERE temat LIKE "$litera%" jak wstawiam to wyskakuje blad :/
heh... udalo mi sie dodac ta litere ![]() ![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 20.06.2025 - 02:44 |