Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> wyszukiwanie - czy to jest trudne??
mk.gda
post 13.02.2004, 12:48:52
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.
Go to the top of the page
+Quote Post
vi-valdi
post 13.02.2004, 15:43:05
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>&nbsp;</p><p align="center"><b>Nie znaleziono artykułów spełnij&plusmn;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.
Go to the top of the page
+Quote Post
mk.gda
post 28.02.2004, 12:09:10
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"??
Go to the top of the page
+Quote Post
kszychu
post 1.03.2004, 15:41:43
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>&nbsp;</p><p align="center"><b>Nie znaleziono artykułów
spełnij&plusmn;cych podane kryteria.</b></p>");
}

include("disconnect.inc.php");
?> [/php:1:407b60e587]


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
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: 19.07.2025 - 19:50