Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL]Rotacja wyników z bazy
mike-j
post
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 18.11.2007

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


Witam. Mam taki problem.

Chcę zrobić coś takiego, żeby gdy użytkownik wchodzi na stronę to skrypt mieszał dane i je porcjował po 30 na stronę. Wiem jak się porcjuje, ale nie chciałbym czegoś takiego, że jak user da na kolejną stronę wyników, że pokaże mu się ten sam wynik co wcześniej. Konkret: Raz roatuje wyniki i na każdej stronie pokazuje inne. Problem jeszcze polega na tym, że by jak wróci do poprzednich stron to lista wyników była taka jak wcześniej.

REAKCJA PRAWIDŁOWA
strona 1: 5, 8, 30, 29, 78, 654, ...
następna strona
strona 2: 7, 11, 2, 364, 85, ...
poprzednia strona
strona 1: 5, 8, 30, 29, 78, 654, ...

Z góry dzięki za pomoc.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mike-j
post
Post #2





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 18.11.2007

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


Zrobiłem coś takiego:

Kod
<?

$strona = $_GET['s'];
         // Wynikow Na Strone
         $wns = 10;
settype($strona, "integer");
$tresc_zapytania_max = 'SELECT id FROM `nadmorzem`';
$zapytanie_max = mysql_query($tresc_zapytania_max);
// $r_max zawiera ilosc wszystkich rekordow w tabeli
$r_max = mysql_num_rows($zapytanie_max);



session_start();
        
         if(!isset($_SESSION['wyniki']))            // Sprawdza czy istnieje taka sesja
         {
                 $wyniki = array(1 =>
                                 $tresc_zapytania = 'SELECT id FROM `nadmorzem` WHERE id ORDER BY rand() LIMIT '.($strona*$wns).','.$wns;
                                 $zapytanie = mysql_query($tresc_zapytania);
                                 while ($w = mysql_fetch_row($zapytanie)) {
                                            array('id' => $w[0], 'strona' => $strona),
                                 }                                                        // Wypełnia tabelę danymi i przyporządkowuje każdemu id jego stronę
                 );
                
                 $_SESSION['wyniki'] = $wyniki;                                             // Zapisuje całą tabelę do sesji
         }
        
        
        
?>


Jak możecie to powiedzcie czy coś jest źle. Żeby było łatwiej to powiem co to miało zrobić. Miało przemieszczać wyniki w bazie tylko raz podczas pierwszego wejscia na stronę i poporcjować je po 10 na stronę a następnie przyporządkować w tablicy każdemu id z mysql stronę na której powinno się znajdować. A cała tablica miała zostać wysłana do sesji.

A teraz pytanie dodatkowe. Co musiałbym zrobić aby mając w adresie index.plp?page=1 pokazało mi wyniki przyporządkowane dla strony pierwszej?
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 01:26