• 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
78 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,020 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 161 wizyt
pytanie zadane 9 grudnia 2018 w PHP, Symfony, Zend przez jarok Bywalec (2,210 p.)
0 głosów
1 odpowiedź 87 wizyt
pytanie zadane 19 grudnia 2018 w PHP, Symfony, Zend przez patrick167 Nowicjusz (140 p.)
0 głosów
1 odpowiedź 98 wizyt
pytanie zadane 23 marca w PHP, Symfony, Zend przez podgorowicz Początkujący (340 p.)
Porady nie od parady
Możesz ukryć, zamknąć lub zmodyfikować swoje pytanie, za pomocą przycisków znajdujących się pod nim. Nie krępuj się poprawić pochopnie opublikowanego pytania czy zamknąć go po uzyskaniu satysfakcjonującej odpowiedzi. Umożliwi to zachowanie porządku na forum.Przyciski pytania

66,520 zapytań

113,288 odpowiedzi

239,921 komentarzy

46,652 pasjonatów

Przeglądających: 204
Pasjonatów: 9 Gości: 195

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.

...