• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wyszukiwarka wyrzuca wszystkie możliwe rekordy

–3 głosów
76 wizyt
pytanie zadane 30 stycznia 2017 w SQL, bazy danych przez Paweł Kościelny Początkujący (360 p.)

Witam, 

napisałem search engine który na local hoscie wyrzuca poprawne wyniki, natomiast na hostingu już wszystkie możliwe...

Kod szukajki

<?php
	
	$szukana2 = $_POST['szukaj'];
	
	if (isset($_POST['szukaj']))
	{
		$wszystko_OK=true;
		
		if ((strlen($szukana2)<2) || (strlen($szukana2)>45))
		{
			$wszystko_OK=false;
			$_SESSION['e_blad']="Wprowadź od 2 do 45 znaków!";
		}
		if($wszystko_OK==true)
		{
			
		}	
		
		else
		{
		header('Location: index.php');
		exit();
		}
	}

	
	
	$szukana1 = mysql_real_escape_string($szukana2); 
	
	$szukana=htmlentities($szukana1,ENT_QUOTES,"UTF-8");
	
	
	$wyrazy=explode(" ",$szukana);
	
	$query="SELECT * FROM filmy WHERE ";
	
	$i=0;
	
	foreach($wyrazy as $kazdy)
	{
		$i++;
		
		if($i==1)
		{
			$query.=" keywords LIKE '%$kazdy%' ";
		}
		else
			$query.="OR keywords LIKE '%$kazdy%' ";
	}
	
	require_once "polaczenie.php";
	
	$polaczenie = new mysqli($host, $db_user, $db_password, $db_name);
	
	
	if($polaczenie->connect_errno!=0)
	{
		echo"Error".$polaczenie->connect_errno;
	}
	else
	{}
		
		if($rezultat=$polaczenie->query($query))
		{
			$ile_wynikow=$rezultat->num_rows;
			if($ile_wynikow>0)
			{
				while($row=$rezultat->fetch_assoc())
				{
				$id = $row['id'];
				$title = $row['title'];
				$description = $row['description'];
				$keywords = $row['keywords'];
				$link = $row['link'];
				
				echo"<p class='search_results'><a href='$link'>$title</a><br/>
				<a href='$link'><img style=' margin:6px;' src='$description'></a>
				
				</p>";
				}				
			$rezultat->close();
			}
			else	
			{
			echo "<p class='search_results'>Brak Wynikow </p>";
			}			
		
		$polaczenie->close();
		}
	

?>

 

2
komentarz 30 stycznia 2017 przez efiku Szeryf (75,000 p.)
    $szukana1 = mysql_real_escape_string($szukana2);

    $szukana=htmlentities($szukana1,ENT_QUOTES,"UTF-8");

    $polaczenie = new mysqli($host, $db_user, $db_password, $db_name);

Normalnie z 10 źródeł zlepek kodu. :/

Tak z ciekawości, co chcesz osiągnąć tym ifem w 1 foreach? :D 

komentarz 30 stycznia 2017 przez Paweł Kościelny Początkujący (360 p.)
bo potem mi dodaje "OR keywords LIKE '%$kazdy%' "; i cały czas jest OR

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
2 odpowiedzi 126 wizyt
pytanie zadane 9 grudnia 2018 w PHP, Symfony, Zend przez jarok Obywatel (1,250 p.)
0 głosów
1 odpowiedź 84 wizyt
pytanie zadane 19 grudnia 2018 w PHP, Symfony, Zend przez patrick167 Nowicjusz (140 p.)
0 głosów
1 odpowiedź 91 wizyt
pytanie zadane 23 marca w PHP, Symfony, Zend przez podgorowicz Początkujący (340 p.)
Porady nie od parady
Zadając pytanie postaraj się o poprawną pisownię i czytelne formatowanie tekstu.Kompozycja

63,166 zapytań

109,403 odpowiedzi

228,554 komentarzy

42,680 pasjonatów

Przeglądających: 67
Pasjonatów: 4 Gości: 63

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...