Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> News
JOHNY
post 6.11.2003, 16:03:11
Post #1





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


Witam mam pewien problem a w zasadzie chciałbym poprosić o pomoc.
Zrobilem sobie bardzo porsty sysem newsów oparty na mysql ale nie wiem jak zrobic zeby z bazy mi szczytywal np 10 newsow a reszte przedstawial w formie oddzielnych stron. Tzn zeby 1 strona wyswietlala np tylko po 10 id z bazy. Zwykły kod wyglada tak:

[php:1:2cdb7ca442]
<?
require "./config.php";

$query = "SELECT * FROM newspl ORDER BY data_dodania ASC";
$wynik = mysql_query($query);

if(mysql_num_rows($wynik)==0) {

exit();
}

?>[/php:1:2cdb7ca442]
[php:1:2cdb7ca442]
<?php
while($row = mysql_fetch_array($wynik)) {
echo "<table width="98%" border="0" cellspacing="1" cellpadding="0" align="center" bgcolor="#878057">"
."</table>"
."<table width="98%" border="0" cellspacing="1" cellpadding="0" bgcolor="#000000">"
."<tr>"
."<td width="85%" align="left" bgcolor="#D1B04D" class="kropa1">Temat: <span class="text">" . $row['temat'] . "</span></td>"
."<td width="15%" align="center" bgcolor="#C2A345" class="windows">" . $row['data_dodania'] . "</td>"
."</tr>"
."<tr align="left" bgcolor="#E2C56D">"
."<td colspan="2" align="center" class="tekst">" . $row['opis'] . "</td>"
."</tr>"
."</table>"
."<br>";
}
?>[/php:1:2cdb7ca442]
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 13)
mhs
post 6.11.2003, 20:45:18
Post #2





Grupa: Zarejestrowani
Postów: 764
Pomógł: 3
Dołączył: 30.04.2003

Ostrzeżenie: (0%)
-----


w zapytaniu SQL wykorzystaj LIMIT
Go to the top of the page
+Quote Post
JOHNY
post 7.11.2003, 00:20:11
Post #3





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


Można jakiś przykład questionmark.gif albo tutorilala jak to użyć
Go to the top of the page
+Quote Post
scanner
post 7.11.2003, 06:59:38
Post #4





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cholera jasna...
Przeszukaj forum, nawet powiem Ci, że powinieneś szukać "Porcjowanie wyników" lub "Stronicowanie wyników".
Rusz mózg, zamiast klawiaturę.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
spenalzo
post 7.11.2003, 13:26:00
Post #5





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


grrrrrrr
Znalezienie tego tematu zajęło mi 30 sekund.
http://forum.php.pl/viewtopic.php?t=3892&h...owane+dzielenie


--------------------

Go to the top of the page
+Quote Post
JOHNY
post 7.11.2003, 14:18:55
Post #6





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


No ja tez znalazlem ale inny link ale ten bedzie chyba lepszy smile.gif
Wielkie dzięki spenalzo
Go to the top of the page
+Quote Post
scanner
post 7.11.2003, 14:33:38
Post #7





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Cytat
Znalezienie (...) zajęło mi 30 sekund.
Na neostradzie? Coś wolno Ci działa, hih...


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
spenalzo
post 7.11.2003, 14:45:58
Post #8





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

Ostrzeżenie: (0%)
-----


Cytat
Cytat
Znalezienie (...) zajęło mi 30 sekund.
Na neostradzie? Coś wolno Ci działa, hih...

A bo musiałem jeszcze herbaty się napić. tongue.gif


--------------------

Go to the top of the page
+Quote Post
JOHNY
post 7.11.2003, 15:35:31
Post #9





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


Dobra pomodzilem i cos wyszlo biggrin.gif wykorzystując kawałki kodu Teodora biggrin.gif. Jeszcze tylko zorbić przeskok jak by bylo wiecje niz 10 stronek zeby po nacisnieciu Następny pokazywał od 11 ... do 20 ale to jeszcze poszperam. No chyba że ktoś już coś takiego robił to jestem otwarty na sugestie biggrin.gif

Obecnie kod wyglada tak jakby ktoś potrzebował (jeszcze tylko ten przeskok zrobić i będę happy)

config.php - dla tych co zaczynają biggrin.gif

[php:1:2ac4a5b95a]
<?
$url = "localhost"; //adres bazy danych
$login = ""; //nazwa użytkownika bazy danych
$haslo = ""; //hasło użytkownika bazy danych
$dbname = ""; //nazwa bazy danych

mysql_connect($url,$login,$haslo);
mysql_select_db($dbname);
?>
[/php:1:2ac4a5b95a]
news.php
[php:1:2ac4a5b95a]
<?php
require "config.php";

$news_poz=2;
if(!$s){
$s=0;
}
$query = "SELECT * FROM nazwa tabeli ORDER BY id DESC LIMIT $s, $news_poz";
$wynik = mysql_query($query);
list($ile)=mysql_fetch_row(mysql_db_query(nazwa bazy danych, "SELECT count(*) FROM nazwa tabeli"));
if(mysql_num_rows($wynik)==0) {

exit();
}

?>
[/php:1:2ac4a5b95a]

[php:1:2ac4a5b95a]
<?php
while($row = mysql_fetch_array($wynik)) {
echo "<table width="98%" border="0" cellspacing="1" cellpadding="0" align="center" bgcolor="#878057">"
."</table>"
."<table width="98%" border="0" cellspacing="1" cellpadding="0" bgcolor="#000000">"
."<tr>"
."<td width="85%" align="left" bgcolor="#D1B04D" class="kropa1">Temat: <span class="text">" . $row['temat'] . "</span></td>"
."<td width="15%" align="center" bgcolor="#C2A345" class="windows">" . $row['data_dodania'] . "</td>"
."</tr>"
."<tr align="left" bgcolor="#E2C56D">"
."<td colspan="2">"
."<table width="98%" border="0" cellpadding="0" cellspacing="0">"
."<tr>"
."<td align="left" class="tekst">" . $row['opis'] . "</td>"
."</tr>"
."</table>"
."</td>"
."</tr>"
."</table>"
."<br>";
}
if ($s>0) echo "<a href=home.php?s=".($s-1)." class="boczne1">Poprzednia</a> "; else
echo "<span class="boczne1">Poprzednia</span> ";

for($s=0; $s<$ile; $s+=$news_poz) {
$z=$s/$news_poz+1;
echo"<a href="home.php?s=$s" class="boczne1">$z</a> "; #to wyswietli linki w postaci 1 2 3 4
}
// Tu mi Następna nie chce tybić sad.gif coś jest źle w if ()
if ($s<$ile) echo "<a href=home.php?s=".($s+1)." class="boczne1">Następna</a> "; else
echo "<span class="boczne1">Następna</span> ";
?>
[/php:1:2ac4a5b95a]

Fajną sprawą by było jak by ktoś posiadał kod taki jak jest na phpbb z wyswietlaniem typu Poprzedni 1 2 3 (3 wyniki) ... 8 9 10 (ostatnie 3 wyniki) Następny
Go to the top of the page
+Quote Post
Al
post 8.11.2003, 02:30:45
Post #10





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 10.10.2003

Ostrzeżenie: (0%)
-----


Cytat
Fajną sprawą by było jak by ktoś posiadał kod taki jak jest na phpbb z wyswietlaniem typu Poprzedni 1 2 3 (3 wyniki) ... 8 9 10 (ostatnie 3 wyniki) Następny

Zawsze możesz zajrzeć do źródła phpbb smile.gif. Jak byś chciał wyświetlac kolejno po 10 i mieć układ 1 2 3 itp. to sobie dostosuj ten przykład:
[php:1:918bd5506d]<?php

$rpp = 10; //ile naraz
if ($page == "") {
$page = "1";
$start = "0";
}
else{
$start=$page*$rpp;
$start=$start-$rpp;
}

?>[/php:1:918bd5506d]
Na stronie wstaw potem:
[php:1:918bd5506d]<?php

$rpp = 10; // ile naraz
$total = $ile; // $ile to ilosc rekordów w bazie -> select count(*)
$numpages = ceil($total/$rpp);

echo "Strona: ";

for($i=1;$i<=$numpages;$i++){

if ($i==$page) { echo"$i ";}
else
{ echo "<a href="$PHP_SELF?page=$i">$i</a> "; }

}

?>[/php:1:918bd5506d]
No i sformatuj sobie cyferki według uznania :wink:


--------------------
Nie ma jutra bez komputra.
Go to the top of the page
+Quote Post
JOHNY
post 12.11.2003, 15:21:55
Post #11





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


Dlaczego mi nie chce trybic kod przy buttonie Następna questionmark.gif?
[php:1:b9c94818af]
// Tu mi Następna nie chce tybić coś jest źle w if ()
if ($s<$ile) echo "<a href=home.php?s=".($s+1)." class="boczne1">Następna</a> "; else
echo "<span class="boczne1">Następna</span> ";
?>[/php:1:b9c94818af]

Co tu jest nie tak questionmark.gif
Go to the top of the page
+Quote Post
JOHNY
post 14.11.2003, 21:06:07
Post #12





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


Sorry ze jeszcze raz zapodaje ale mam pytanie jak zablokować button Następny - jest pięknie ladnie idzie do nastepnej strony ale 1 szkopol ze jak mam np 8 stron dojdzie do 8 i jeszcze raz moge przycisnac sad.gif Jak zrobic zeby skrypcik wiedzial ze tylko mam skonczyc dzialanie na ostatniej stronie questionmark.gif

Probowalem <= ale nic nie daje sad.gif

Oto co teraz mam:

[php:1:e82c5e1ff3]
<?php
$s2=$s

require "./config.php";

$news_poz=10;
if(!$s){
$s="0";
}
$query = "SELECT * FROM newspl ORDER BY id DESC LIMIT $s, $news_poz";
$wynik = mysql_query($query);
list($ile)=mysql_fetch_row(mysql_db_query(abelite, "SELECT count(*) FROM newspl"));
if(mysql_num_rows($wynik)==0) {

exit();
}

?>[/php:1:e82c5e1ff3]
[php:1:e82c5e1ff3]
<?php
while($row = mysql_fetch_array($wynik)) {
echo "<table width="98%" border="0" cellspacing="1" cellpadding="0" align="center" bgcolor="#878057">"
."</table>"
."<table width="98%" border="0" cellspacing="1" cellpadding="0" bgcolor="#000000">"
."<tr>"
."<td width="85%" align="left" bgcolor="#D1B04D" class="kropa1">&nbsp;Temat: <span class="text">" . $row['temat'] . "</span></td>"
."<td width="15%" align="center" bgcolor="#C2A345" class="windows">" . $row['data_dodania'] . "</td>"
."</tr>"
."<tr align="left" bgcolor="#E2C56D">"
."<td colspan="2">"
."<table width="98%" align="center" border="0" cellpadding="0" cellspacing="0">"
."<tr>"
."<td align="left" class="tekst">" . $row['opis'] . "</td>"
."</tr>"
."</table>"
."</td>"
."</tr>"
."</table>"
."<br>";
}
if ($s>0) echo "<a href=home.php?s=".($s-1)." class="boczne1">Poprzednia</a> ";
else
echo "<span class="boczne1">Poprzednia</span> ";

for($s=0; $s<$ile; $s+=$news_poz) {
$z=$s/$news_poz+1;
echo"<a href="home.php?s=$s" class="boczne1">$z</a> ";
}

if ($s2<$ile) echo "<a href=home.php?s=".($s2+1)." class="boczne1">Następna</a>";
else
echo "<span class="boczne1">Następna</span>";
?>[/php:1:e82c5e1ff3]

chce aby tak jak w przypadku Poprzednia przy dojsciu do 1 strony (analogidznie Następna przy dojściu do ostatniej) wylancza się button zeby nie mozna bylo na nim kliknąć - tak jest w 1 przypadku ale dlaczego tak nie ma w buttonie Następna tylko skacze o 1 strone dalej sad.gif
Go to the top of the page
+Quote Post
Bakus
post 14.11.2003, 23:39:44
Post #13


Administrator serwera


Grupa: Przyjaciele php.pl
Postów: 909
Pomógł: 0
Dołączył: 12.08.2003
Skąd: /var/www/wroclaw.php

Ostrzeżenie: (0%)
-----


[php:1:cb437e3a98]<?php
if ($s2<$ile-1) echo "<a href=home.php?s=".($s2+1)." class="boczne1">Następna</a>";
else
echo "<span class="boczne1">Następna</span>";
?>[/php:1:cb437e3a98]


--------------------
Powrót do przeszłości :)
Go to the top of the page
+Quote Post
JOHNY
post 15.11.2003, 20:08:37
Post #14





Grupa: Zarejestrowani
Postów: 297
Pomógł: 0
Dołączył: 17.01.2003
Skąd: Tarnów

Ostrzeżenie: (0%)
-----


wilkie dzięki działa przedtem też tak miałem i nie chciało trybić moze dlatego że nie maiłem zmiennej $s2
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 19.07.2025 - 20:48