Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Nie działające wyszukiwanie - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: Początkujący webmaster (https://www.webmastertalk.pl/forum-poczatkujacy-webmaster)
+--- Wątek: Nie działające wyszukiwanie (/thread-nie-dzialajace-wyszukiwanie)



Nie działające wyszukiwanie - Lampek - 04-09-2011

Witam
Otóż mam funkcje wyszukiwania użytkowników, ale jest problem bo np mam w bazie dwóch użytkowników michal i tomek. Gdy wyszukuje użytkownika michal wyświetla się użytkownik michal ale jak już chce wyszukać użytkownika tomek to znów wyświetla się michal. Dodatkowo po wyświetleniu tych pseudo wyników wyświetla się Jeszce komunika Notice: Undefined index: wyrazenie in C:\xampp\htdocs\mi\search.php on line 4.
funkcja wyszukiwania
Kod PHP:
function wyszukaj($wyrazenie)
{
    
$lacz lacz_bd();
    
$warunki=" (nazwa_uz LIKE '%$wyrazenie%')";     
    if(
$wynik $lacz->query("select * from uzytkownik where $warunki")) {
    
$znalezieni $wynik->fetch_assoc();;
    echo 
$znalezieni['nazwa_uz']; }
    else {
        
printf("Error: %s\n"$lacz->error);


tutaj kod skryptu search.php
Kod PHP:
pobierzplaintext 
<?php
session_start
();
require_once(
'funkcje_all.php');
$wyrazenie=$_POST['wyrazenie'];
$wyrazenie trim($wyrazenie);
?>
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
 
<meta name="keywords" content="" />
<meta name="Performance" content="" />
<link href="glowny.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<?php  
        tworz_naglowek_html
('Wyszukaj');
    
menu_top();
    
tworz_header();
?>
    <div id="content1">
       <?php
          tworz_menu
();?>
       </div>
        <div id="content2">
        <?php
            wyszukaj
($wyrazenie); ?>
            </div>
    <?php tworz_stopke(); ?>
<body>
</body>
</html> 



RE: Nie działające wyszukiwanie - R_Rafalsky - 04-09-2011

Ten komunikat informuje, że w tablicy $_POST nie istnieje index 'wyrazenie' - sprawdz czy w POST jest na pewno 'wyrazenie' czy nie ma tam literówki Smile

Skrypt działa prawidłowo. Wyrazenie jest puste wiec LIKE '%%' wyciagnie wszystkie rekordy nazwa_uz z bazy danych, a że wyświetlasz tylko pierwszy (a nie wszystkie możliwe - Twój błąd) to masz 'miachal'.

Dowód: weź polecenie echo $znalezieni['nazwa_uz']; w pętle i dostaniesz Michała i Tomka.

pozdrawiam Tongue


RE: Nie działające wyszukiwanie - Lampek - 04-09-2011

No dobra a jak to zrobić żeby jak wyszukam michała to wyświetli się tylko michał a jak tomka to tylko tomek a nie wszystko


RE: Nie działające wyszukiwanie - R_Rafalsky - 04-09-2011

zobacz czy w formularzu wyszukiwania pole wyszukiwania ma wartość name=wyrazenie.

albo wyswietl sobie print_r($_POST) i zobacz co przekazujesz