Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Paginacja za pomocą mysqli_fetch_object
slawekxx
post 24.07.2011, 12:14:02
Post #1





Grupa: Zarejestrowani
Postów: 189
Pomógł: 2
Dołączył: 28.08.2010

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


Witam, trochę czasu spędziłem na stronicowaniu skryptu licznik kliknięć , a mianowicie licznik ten wyświetla miniaturki zdjęć jest ich dość dużo sam skrypt wygląda tak plik index
  1. include("conn.php");
  2. $sql = mysqli_query($link, "SELECT id,image,post_date,title,duration,download FROM wp_my_plugin GROUP BY post_date DESC ");
  3. while($result = mysqli_fetch_object($sql)):
  4. ?>
  5.  
  6. <a border="0" href="counter.php?id=<?php echo $result->id; ?>" class="gals-box MultimediaItem MMID_216667" ">
  7. <img border="0" src="<?php echo $result->image; ?>"width="90" height="56" ><strong><?php echo $result->title; ?>
  8. </strong><em><?php echo $result->duration; ?></em>
  9. </a>
  10.  
  11. <?php
drugi plik counter.php
  1. //1. include the configuration file
  2. include("conn.php");
  3.  
  4. //2. Get the id from the url and store it into a variable
  5. $id = mysqli_real_escape_string($link, $_GET['id']);
  6.  
  7. //3. fetch the url and clicks from this banner
  8. $clicks = mysqli_fetch_object(mysqli_query($link, "SELECT image,hd,download FROM wp_my_plugin WHERE id=".$id.""));
  9.  
  10. //4. increase clicks with 1
  11. $new_click = $clicks->download+1;
  12.  
  13. //5. update this into the database, check if it was succesfull
  14. if(mysqli_query($link, "UPDATE wp_my_plugin SET up_post_date=NOW(),download=".$new_click." WHERE id=".$id."")):
  15. //6. redirect to the url
  16.  
  17. header("Location: ".$clicks->hd);
  18. else:
  19. //6. else write to error log
  20. endif;


i nie mam pojęcia jak zrobić do tego stronicowanie .

Ten post edytował slawekxx 24.07.2011, 12:16:08
Go to the top of the page
+Quote Post
Mlodycompany
post 24.07.2011, 15:07:06
Post #2





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


jest kilka możliwości, albo ograniczyć w zapytaniu ilość pobieranych rekordów, albo pobierać wszystkie do tablicy i zależnie od strony wyświetlać jakieś elementy

  1. SELECT id,image,post_date,title,duration,download FROM wp_my_plugin GROUP BY post_date DESC LIMIT [b]ilość rekordów na strone[/b], [b]rekord od którego ma zaczynać[/b]

lub
  1. SELECT id,image,post_date,title,duration,download FROM wp_my_plugin GROUP BY post_date DESC

  1. $c = 0;
  2. while($result = mysqli_fetch_object($sql)){
  3. $c++;
  4. if($c >= [b]rekord od którego ma zaczynać[/b] && $c < [b]rekord od którego ma zaczynać[/b] + [b]ilość rekordów na strone[/b]){
  5. //wyświetlenie danych
  6. }
  7. }


osobiście polecam 1 metodę ponieważ mając kilka tysięcy wpisów, pobierając je wszystkie, spowalniamy skrypt

Ten post edytował Mlodycompany 24.07.2011, 17:26:07
Go to the top of the page
+Quote Post
slawekxx
post 24.07.2011, 16:55:24
Post #3





Grupa: Zarejestrowani
Postów: 189
Pomógł: 2
Dołączył: 28.08.2010

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


tylko mi powiedz do jakiego pliku mam te zapytanie wrzucić ? i jak byś mógł te zapytania dać do tagów "[ php]" bo wychodzą z tego krzaki

Ten post edytował slawekxx 24.07.2011, 16:58:08
Go to the top of the page
+Quote Post
Mlodycompany
post 24.07.2011, 17:27:42
Post #4





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

Ostrzeżenie: (20%)
X----


zapytania te umieszczasz w tym pliku w których chcesz to wyświetlić czyli wg mnie do indexu
Go to the top of the page
+Quote Post
slawekxx
post 24.07.2011, 17:28:05
Post #5





Grupa: Zarejestrowani
Postów: 189
Pomógł: 2
Dołączył: 28.08.2010

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


ale teraz nie wiem jak obliczyć liczbę rekordów wynikającą z zapytania do bazy w przypadku "mysqli_fetch_object" chyba mysql_num_rows tu nie działa

Ten post edytował slawekxx 24.07.2011, 18:11:31
Go to the top of the page
+Quote Post
wdev
post 24.07.2011, 22:21:14
Post #6





Grupa: Zarejestrowani
Postów: 86
Pomógł: 20
Dołączył: 20.01.2010

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


Najprościej zrobić drugą kwerendę COUNT(id) FROM wp_my_plugin.


--------------------
-wdev-
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: 14.08.2025 - 12:39