Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
PHP

Funkcja raz na x sec oraz stronowanie

PHP

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
6 odpowiedzi w tym temacie

#1 ELOS

    No i pozamiatane ;*

  • Power User

Reputacja: 145
Zaawansowany

  • Postów:703
  • GG:
  • Imię:Kamil
  • Lokalizacja:Będzin
Offline

Napisano 14.09.2011 17:50

Witam potrzebuje wiedzieć jak zrobić następujące rzeczy:

Strony z danymi.
Jeżeli mamy np 40 danych które są wyświetlane na stronie nie chcę aby 40 było wyświetlane tylko 10 i były strony np
Poprzednia | Następna

Funkcja raz na x sec.
Chodzi mi o to aby ktoś nie robił cały czas refresha strony i żeby mi nie wysyłało danych do bazy danych cały czas więc chce zrobić takie coś aby funkcje było można użyć raz na 10sekund.

Do tego chciał bym stworzyć jeszcze liste wyboru która będzie wczytywana z bazy danych.

mam coś takiego
<div id='teamwybierz'>
<form action="" method="post">
<select name="druzyna" onchange="this.form.submit()">
<option value="">Wybierz Druzyne</option>
<option value="Real Madryt">Real Madryt</option>
<option value="Fc Barcelona">Fc Barcelona</option>
<option value="Menchester United">Menchester United</option>
<option value="Arsenal Londyn">Arsenal Londyn</option>
<option value="Bayern Monachium">Bayern Monachium</option>
</select>
</form></div>
I chce aby te dane były czytane z bazy danych tabela druzyny, druzyna_nazwa.

Użytkownik ELOS edytował ten post 14.09.2011 17:58

  • +
  • -
  • 0

[Aktualizacja 22.01.2015] GunXpMod 2.7.4

http://wklej.to/vlMW7


#2 Gh0st

    :)

  • Power User

Reputacja: 852
Czempion

  • Postów:920
  • GG:
  • Imię:Tomek
  • Lokalizacja:Rabka-Zdrój
Offline

Napisano 14.09.2011 18:04

No więc do roboty. :)
LIMIT 0, 10
To zablokuje , i będzie można wyświetlić tylko 10 na stronę aleeeeeee ty nie o tym mówiłeś :)

Wiec teraz jak zrobić żeby była strona poprzednia i następna ?

$na_strone = 10;
if(!isset($_GET['p']) || intval($_GET['p']) == '0' || intval($_GET['p']) == '1')
{
  $ile = (intval($_GET['p']) - 1) * $na_strone;
}

Więc nasz LIMI będzie wyglądał :

LIMIT $ile, $na_strone


a teraz jak zrobić strony następna poprzednia?

echo '<a href="indext.php?p='.($_GET['p'] - 1).'"><< Poprzednia Strona</a> | <a href="index.php?p='.($_GET['p'] + 1).'"><b>Nastepna Strona >></b></a>';

Powyżesze echo dodaje lub odejmuje do naszej strony p=x

Przykładowe zapytanie :

mysql_query("SELECT * from `tabela` ORDER BY id DESC LIMIT $ile, $na_strone");



Myślę że pomogłem , a jeżeli nie to mam nadzieję że chociaż wprowadziłem cię na dobrą droge

Użytkownik Gh0st edytował ten post 14.09.2011 18:08

  • +
  • -
  • 0

#3 ELOS

    No i pozamiatane ;*

  • Autor tematu
  • Power User

Reputacja: 145
Zaawansowany

  • Postów:703
  • GG:
  • Imię:Kamil
  • Lokalizacja:Będzin
Offline

Napisano 14.09.2011 18:16

Mam coś takiego lecz wywala mi błąd.
<?php
// informacje na temat bazy
  $host = 'localhost';
  $user = 'xxxx';
  $password = 'xxxxxx';
  $dbName = 'xxxxxxx';
// polaczenie i wyb&#243;r bazy danych
  $polacz = mysql_connect($host, $user, $password) or die(mysql_error());
  $db = mysql_select_db($dbName, $polacz) or die(mysql_error());
$row = mysql_query("SELECT * FROM `druzyny` ORDER BY  `druzyny`.`druzyna_punkty` DESC LIMIT $ile, $na_strone")
or die('Błąd zapytania');
if(mysql_num_rows($row) > 0) {
    /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
    while($r = mysql_fetch_assoc($row)) {
echo "
   <tr>
		 <td class='row1' align='center'><b>".$r['druzyna_nazwa']."</b></font></td>
		 <td class='row1' align='center'><b>".$r['druzyna_punkty']."</font></td></tr>

";
echo '<a href="indext.php?p='.($_GET['p'] - 1).'"><< Poprzednia Strona</a> | <a href="index.php?p='.($_GET['p'] + 1).'"><b>Nastepna Strona >></b></a>';
$na_strone = 10;
if(!isset($_GET['p']) || intval($_GET['p']) == '0' || intval($_GET['p']) == '1')
{
  $ile = (intval($_GET['p']) - 1) * $na_strone;
}
    }
}
?>

  • +
  • -
  • 0

[Aktualizacja 22.01.2015] GunXpMod 2.7.4

http://wklej.to/vlMW7


#4 Gh0st

    :)

  • Power User

Reputacja: 852
Czempion

  • Postów:920
  • GG:
  • Imię:Tomek
  • Lokalizacja:Rabka-Zdrój
Offline

Napisano 14.09.2011 18:44

Jaki błąd ? jasnowidzem nie jestem a nie chce mi się sprawdzać
Ty zmienne chcesz wyświetlać przed przypisaniem im wartości ? gz ;D


Po 1. to co wyżej pisałem
Po 2. :D tego echo ze stronami nie umieszcza się w while tylko najlepiej poza nią .

Napisz na gg : 13212718 to ci pomogę bo mi muli przeglądarkę

Użytkownik Gh0st edytował ten post 14.09.2011 18:47

  • +
  • -
  • 0

#5 ELOS

    No i pozamiatane ;*

  • Autor tematu
  • Power User

Reputacja: 145
Zaawansowany

  • Postów:703
  • GG:
  • Imię:Kamil
  • Lokalizacja:Będzin
Offline

Napisano 14.09.2011 18:45

Błąd jest w zapytaniu.
  • +
  • -
  • 0

[Aktualizacja 22.01.2015] GunXpMod 2.7.4

http://wklej.to/vlMW7


#6 Muzzi

    Guru

  • Przyjaciel

Reputacja: 228
Wszechwidzący

  • Postów:772
  • Lokalizacja:Kraków
Offline

Napisano 14.09.2011 18:49

Nie znam się tak dobrze na php, ale z tego co wiem tutaj powinien być przecinek.


$row = mysql_query("SELECT * FROM `druzyny` ORDER BY `druzyny`, `druzyna_punkty` DESC LIMIT $ile, $na_strone")



Była kropka, zamieniłem na przecinek, chodź nie wiem czy zadziała, liczą się chęci :)

@Down Usunięte ;)

Użytkownik Muzzi edytował ten post 14.09.2011 19:08

  • +
  • -
  • 0

#7 Gh0st

    :)

  • Power User

Reputacja: 852
Czempion

  • Postów:920
  • GG:
  • Imię:Tomek
  • Lokalizacja:Rabka-Zdrój
Offline

Napisano 14.09.2011 18:54

usun to
[tutaj]

@ELOS

$na_strone = 10; if(!isset($_GET['p']) || intval($_GET['p']) == '0' || intval($_GET['p']) == '1') { $ile = (intval($_GET['p']) - 1) * $na_strone; }


To na sam początek strony daj
a echo umieść poza pętlą i powinno wszystko eleganco śmigać, jakby co to moje gg napisz , chętnie pomogę ;d

Użytkownik Gh0st edytował ten post 14.09.2011 18:55

  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: PHP

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych