![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 28.01.2004 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Czy znajde gotowy skrypt php ktory wyszukuje i wyswietla dane z bazy??
Chodzi mi o taki jak na wszystkich stronach z ogloszeniami pracy czyli zadajemy pewne kategorie wyszukiwania (np. miasto) i otrzymujemy tylko rekordy zawierajace szukane miasto. Chcialbym rozwniez zeby wyniki podzielone byly na strony jezeli jest ich duzo czyli pojawialy sie na dole przyciski 1,2,3 itd. ale nie wiem czy to nie temat na osobny skrypt? Moze znacie linka do takiego skryptu a moze ktos ma taki gotowy i mi go przesle? to chyba nie jest trudne ja jednak dopiero zaczynam przygode z php i mysql a najlepiej ucze sie z gotowych przykladow. bardzo mi na tym skrypcie zalezy. Dziekuje i pozdrawiam. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 9.11.2003 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj cos takiego. U mie działa.
formularz.html Kod <form method="GET" action="search.php">
<input type="text" name="query"> <select size="1" name="field"> <option value="nazwa">nazwa</option> <option value="...">...</option> </select> <input type="submit" name="ok"> </form> search.php [php:1:a789801d02]<?php require("connect.inc.php"); $poz=10; // ile pozycji na stronie if(!$pocz) { $pocz = "0"; } if(!$str) { $str = "1"; } $sql = "SELECT id, nazwa, ... FROM tabela WHERE $field LIKE '%$query%' ORDER BY $field, id LIMIT $pocz, $poz"; $sql_result = mysql_query($sql) or die("Nie mozna zrealizowac zapytania SQL"); list($ile) = mysql_fetch_row(mysql_db_query("prosper","SELECT count(*) FROM tabela WHERE $field LIKE '%$query%'")); $row = mysql_num_rows($sql_result); if ($row != "0") { print ("<table>"); while ($record = mysql_fetch_array($sql_result)) { $licznik = $licznik + 1; $lp = $pocz + $licznik; ?> <tr> <td><? echo $lp ?></td> <td>Nazwa: <? echo $record[nazwa] ?></td> ... ... <td><a href="details.php?id=<? echo $record[id] ?></td> </tr> <? } ?> </table> <? for($pocz=0; $pocz<$ile; $pocz+=$poz) { $s=$pocz/$poz+1; if ($str != $s) { print (" <a href="search.php?field=$field&query=$query&pocz=$pocz&str=$s">$s</a> "); # to wyswietli linki w postaci 1 2 3 4 } else { print (" $s "); } $sep = ($ile / $poz); if ($s < $sep) print ("|"); } } else { print ("<p> </p><p align="center"><b>Nie znaleziono artykułów spełnij±cych podane kryteria.</b></p>"); } include("disconnect.inc.php"); ?>[/php:1:a789801d02] Przekleiłem na szybko więc nie gwarantuję poprawności działania. Nie gwarantuje również optymalności kodu. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 8 Pomógł: 0 Dołączył: 28.01.2004 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
A jak do tego dorobic przyciski "wstecz" i "dalej"??
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Przyjaciele php.pl Postów: 2 712 Pomógł: 23 Dołączył: 27.10.2003 Skąd: z kontowni Ostrzeżenie: (0%) ![]() ![]() |
Chyba jakoś tak, ale nie wiem, czy nie ma tam błędów.
[php:1:407b60e587]<? if($str > 1) echo <a href="search.php?field=$field&query=$query&pocz=$pocz&str=($str-1)">wstecz</a>"; for($pocz=0; $pocz<$ile; $pocz+=$poz) { $s=$pocz/$poz+1; if ($str != $s) { print (" <a href="search.php?field=$field&query=$query&pocz=$pocz&str=$s">$s</a>"); # to wyswietli linki w postaci 1 2 3 4 } else { print (" $s "); } $sep = ($ile / $poz); if ($s < $sep) print ("|"); } if($str < $ile) echo <a href="search.php?field=$field&query=$query&pocz=$pocz&str=($str+1)">dalej</a>"; } else { print ("<p> </p><p align="center"><b>Nie znaleziono artykułów spełnij±cych podane kryteria.</b></p>"); } include("disconnect.inc.php"); ?> [/php:1:407b60e587] -------------------- "Coś się kończy, coś się zaczyna." Andrzej Sapkowski
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 19:50 |