Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dzielenie wyników wyszukiwania na strony
Forum PHP.pl > Forum > PHP
treewood
Witam was.
Szukałem na forum (przez użycie wyszukiwarki waszej forumowej) tematu związanego z tą sprawą. Nawet coś znalazłem ale było to albo trochę odległe tematycznie lub mało przejżyste.
Mam prostą sprawę otóż chcę wyciągąć pewne dane z MySQL
i wygląda to tak:

Kod
$query="select * from jakas_tabela where cos 'cos_tam_nie_wazne_co' order by id desc";

$mysql_result=mysql_query($query, $mysql_link);

while($row=mysql_fetch_row($mysql_result))

{



// oczywiście tutaj jest wyświetlana treść



}


No i właśnie jak dokładnie zrobić by wyświetlane dane (np. spis produtków, spis filmów, spis książek, spis użytkowników lub czegokolwiek innego) były wyświetlane po np. 5 (oczywiście wartość może być inna) na jedną stronę?

By wyglądało to tak np.:

dane 1
dane 2
dane 3
dane 4

strony: | 1 | 2 | 3 | 4 |

proszę o praktyczną poradę w postaci kodu lub jakiejś strony gdzie JEST (a nie można znaleźć) taki kod przykładowy...
Z góry dziękuję bardzo i pozdrawiam
kurtz
Cytat
...
Kod
$query="select * from jakas_tabela where cos 'cos_tam_nie_wazne_co' order by id desc";

...


No i właśnie jak dokładnie zrobić by wyświetlane dane (np. spis produtków, spis filmów, spis książek, spis użytkowników lub czegokolwiek innego) były wyświetlane po np. 5  

[..]

proszę o praktyczną poradę w postaci kodu lub jakiejś strony gdzie JEST (a nie można znaleźć) taki kod przykładowy...
jesli bys chcial sam pokombinowac to zajrzyj do dokumenacji mysql pod haslo LIMIT (bedzie w rodziale o SELECT) - korzystajac z LIMIT okreslasz od ktorego wiersza i ile maksymalnie ma zwrocic baza.

przyklad gotowego rozwiazania znajdziesz w
http://forum.php.pl/viewtopic.php?t=681&hi...highlight=limit
http://forum.php.pl/viewtopic.php?t=814&hi...highlight=limit
treewood
No i skorzystałem za pomocą kolegi z kodu (http://forum.php.pl/viewtopic.php?t=681&hi...highlight=limit) i przerobiłem trochę na swoje

Kod
<?php

$mysql_link = mysql_connect("", "", "");

mysql_select_db("",$mysql_link);



$show = 1; // ilosc pokazywanych rekordow

$plik= "a.php"; // nazwa pliku w ktorym jest ten skrypt

echo "<table>";



if($stan=='szukaj') {

  if( isset($_GET['offset']) ){

    $add = "LIMIT ".$_GET['offset'].", $show";

  }else{

    $add = "LIMIT 1, 1";

  }

$query = "SELECT * FROM towary where firma like '%$znajdz%' ORDER BY id desc ".$add;

$mysql_result = mysql_query($query, $mysql_link);



while($row=mysql_fetch_row($mysql_result))

{

  

    $id=$row[0];

    $firma=$row[1];

    $model=$row[2];

    $gatunek=$row[3];

    $kategoria=$row[4];

    $cena=$row[5];

    $foto=$row[6];

    $rozmiar=$row[7];

    $krotki_opis=$row[8];

    $promocja=$row[9];

    $opis=$row[10];



echo $id . "<br>";





}



  echo "<tr><td colspan=2 align=right>Strona ".page_index( $show )."</td></tr>";

}



echo "</table>";



if ($znaleziono == "0"){

  print "<CENTER> Nie znaleziono żadnego rekordu</CENTER>";

}



echo "<TABLE border=0 align=center ><tr>

  <td><center><br>

  <form method="get" action="$plik">

  <input type="text" name="znajdz" size="20" VALUE="czego szukasz" ><BR>

  <input type="submit" value="szukaj" name="stan"></form></center></TD>";

  echo "</TR></TABLE>";





Function page_index( $show ){

  global $_GET;

  global $znajdz;

    

  $result = mysql_query( "SELECT * FROM towary where firma like '%$znajdz%'" );

  $number = mysql_num_rows( $result );



  $page_num = ceil( $number/$show );

  $page = ceil( $_GET['offset'] / $show ) + 1;  

  

  $index = "<b>".$page."</b>";



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

    if( $page != $i ){

      $j = ($i- 1) * $show;

      $tmp .= "<a href="?offset=$j&znajdz=".$_GET['znajdz']."&stan=szukaj">$i</a> ";

    }

  }

  

  if( $page_num != 1 ) $index .= " [ $tmp ]";



  return $index;

}

?>


Czy mógłbym wiedzieć gdzie tu jest błąd? bo wyskakuje mi coś takiego:

Kod
Warning: Supplied argument is not a valid MySQL result resource in c:phpwwwa.php on line 18



Warning: Supplied argument is not a valid MySQL result resource in c:phpwwwa.php on line 60


gdzie 18 linia to: while($row=mysql_fetch_row($mysql_result))
a 60 linia to: $number = mysql_num_rows( $result );

gdzie tu jest błąd bo mnie to zagina.
kurtz
Cytat
Czy mógłbym wiedzieć gdzie tu jest błąd? bo wyskakuje mi coś takiego:

Kod
Warning: Supplied argument is not a valid MySQL result resource in c:phpwwwa.php on line 18
Kod
mysql_error();
twoim zbawieniem ;)
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.