ugrás a tartalomhoz

Mysql Like hiba

aky22 · 2011. Okt. 8. (Szo), 17.28
Sziasztok! Adott a probléma, hogy van két tábla egy adatbázisban és egy keresést kell csinálni. Addig szépen működik amíg csak egy-egy táblából keresek. Amikor viszont mind a kettőből egyszerre ott nem tudom összehozni a lekérdezést. Jelenleg így néz ki a a SELECT:
$sql="SELECT * FROM `articles`,`news` WHERE (`articles`.`tartalom` LIKE '%$szo%' OR `articles`.`cim` LIKE '%$szo%' OR `articles`.`szerzo` LIKE '%$szo%') OR (`news`.`tartalom` LIKE '%$szo%' OR `news`.`cim` LIKE '%$szo%' OR `news`.`szerzo` LIKE '%$szo%')";
Az a hiba áll fent, hogy egyáltalán nem azt jeleníti meg amit kéne neki.

Lécci segítsetek.
 
1

Kérdés, hogy mit is

NiGGa · 2011. Okt. 8. (Szo), 18.29
Kérdés, hogy mit is szeretnél, hogy megjelenítsen.
Akkor könnyebb segíteni.
2

Mindent ami a táblában van és

aky22 · 2011. Okt. 8. (Szo), 18.36
Mindent ami a táblában van és megfelel a feltételnek pl.: Ha beírom a keresésbe, hogy Akos és az mondjuk mind a kettő táblában megtalálható mint a cikk vagy hír szerzője akkor írjon ki mindent azokról a cikkekről amelyekben megtalálható.
3

Esetleg, hogy mit kapsz, meg

NiGGa · 2011. Okt. 8. (Szo), 18.54
Esetleg, hogy mit kapsz, meg mit íratsz ki, és hogy?
4

Itt van a php: <form

aky22 · 2011. Okt. 8. (Szo), 19.15
Itt van a php:
<form method="post" action="index.php">

Keresés szövege:<br />
<input type="text" name="kereso" />
Keresés itt:<br />
<input type="radio" name="hkereses" value="news"/>Hírekben
<input type="radio" name="hkereses" value="articles"/>Cikkekben
<input type="radio" name="hkereses" value="all"/>Mindenhol
<input type="submit" name="kereses"value="Keresés" />
</form>

<?php
if (isset($_POST['kereses']))
{
	if (isset($_POST['kereso']) && !empty($_POST['kereso']))
	{
		if (isset($_POST['hkereses']) && !empty($_POST['hkereses']))
		{
			$szo = $_POST['kereso'];
			$tabla = $_POST['hkereses'];
			require_once("dbconn.php");
			if ($tabla=="news" || $tabla=="articles")
			{
				$sql="SELECT * FROM `$tabla` WHERE `tartalom` LIKE '%$szo%' OR `cim` LIKE '%$szo%' OR `szerzo` LIKE '%$szo%'";
				$e=mysql_query($sql);
				if (mysql_num_rows($e)==0)
				{
					echo '<p>Nincs találat.</p>'; 
				}
				else
				{
					while ($row=mysql_fetch_assoc($e))
					{
						var_dump($row);
					}
				}
			}
			elseif ($tabla=="all")
			{
				$sql="SELECT * FROM `articles`,`news` WHERE (`articles`.`tartalom` LIKE '%$szo%' OR `articles`.`cim` LIKE '%$szo%' OR `articles`.`szerzo` LIKE '%$szo%') OR (`news`.`tartalom` LIKE '%$szo%' OR `news`.`cim` LIKE '%$szo%' OR `news`.`szerzo` LIKE '%$szo%')";
				$e=mysql_query($sql);
				if (mysql_num_rows($e)==0)
				{
					echo '<p>Nincs találat.</p>'; 
				}
				else
				{
					while ($row=mysql_fetch_assoc($e))
					{
						var_dump($row);
					}
				}
			}
		}
		else
		{
			echo '<p>Nem adta meg, hogy hol keressen.</p>';
		}
	}
	else
	{
		echo '<p>Nem adott meg kulcsszót.</p>';
	}
}
?>
És ami jön:

array
'id' => string '11' (length=2)
'szerzo' => string 'ghdesign ' (length=9)
'datum' => string '2011-10-08 17:24:48' (length=19)
'cim' => string 'Behajtja az állam a képzési díjat? ' (length=39)
'tartalom' => string 'Szerződést kötne az állam az egy-

etemistákkal, az államilag finan-

szírozott képzésen tanult diákok vállalnák, hogy bizonyos ideig nem mennek külföldre dolgozni. Ha mégis, akkor fizetniük kellene, de a részletekről még nem döntöttek.



Az utóbbi hó napokban sokat lehetett arról hallani, hogy a

Magyarországon az állam által 6-9 évig taníttatott, fiatal orvosok tömegesen akar-

nak külföldre menni. Az MSZP szerint a nyitott Európában nem lehet röghöz kötni a diákokat'... (length=961)

array
'id' => string '2' (length=1)
'szerzo' => string 'ghdesign ' (length=9)
'datum' => string '2011-10-08 17:23:40' (length=19)
'cim' => string 'Meleg ősz és csapadékszegény tél várható' (length=47)
'tartalom' => string 'Nemzetközi kutatóintézetek előrejelzés szerint az idei ősz és tél az átlagosnál kissé enyhébb lesz. Az intézetek előrejelzései között vannak különbségek, de a többség melegebb őszt és csapadékszegényebb telet vár idén Magyarországra.







Az Esőtánc.hu időjárási portál öt nemzetközi intézet, többek között az amerikai NASA, a brit Meteorológiai Intézet és a Nemzetközi Klíma és Társadalomkutató Intézet szezonális előrejelzéseit vetette össze, hogy képet'... (length=3053)
5

Lehet, hogy egy barom vagyok,

NiGGa · 2011. Okt. 8. (Szo), 19.42
Lehet, hogy egy barom vagyok, de nem értem, mi a problémád.
De most legalább tudjuk, mit csinálsz.
6

Akkor előröl. Ugye van az a

aky22 · 2011. Okt. 8. (Szo), 19.52
Akkor előröl. Ugye van az a lekérdezés amit az elején belinkeltem. Az lefut de nem azt adja vissza ami nekem kéne. Az kéne, hogyha beírom szónak azt, hogy pl. nemzet akkor mind a 2 táblából írja ki azoknak a híreknek illetve cikkeknek a tartalmát amiben szerepel a nemzet szó. Ez akkor működik is, ha egyszerre csak egy táblából akarok kiíratni de 2 táblából már nem megy. Hogy még érthetőbb legyek két tábla van a news és az articles.
7

Hát pedig ennek mind ki kell

NiGGa · 2011. Okt. 8. (Szo), 20.34
Hát pedig ennek mind ki kell jönnie, igazából a zárójelnek nincs funkciója, felesleges.
Más nem nagyon van vele, sőt, inkább, az egész where-t tedd egy ()-be. ne a táblákat külön.
8

De nem akarom hogy kijöjjön

aky22 · 2011. Okt. 9. (V), 08.20
De nem akarom hogy kijöjjön érted? Ha azt írom be hogy nemzet akkor mind a 2 táblából azt az 1 cikket jelenítse meg amelyikben megtalálható. Jelen esetben ez ugye 2 cikk mert mindegyik táblámban ugyanaz van.
9

Keresőt csinálsz, nem? Az

NiGGa · 2011. Okt. 9. (V), 08.52
Keresőt csinálsz, nem? Az amit megírtál az szinte mindenben keres, és ha bármelyiknek megfelel azt listázza. Ha nem akarod, hogy ennyi minden kijöjjön, akkor szűrd le, vagy csoportosítsd. Ha meg ilyen táblákból csinálod, hogy ugyanaz van benne, akkor hogy teszteled? hogy várod, hogy jó legyen? Ha mégis így lesz bár nem értem minek, akkor
group by cim
és egyszer jelenik meg, ja, és próbálj meg több rekorddal tesztelni, ne kettővel.
10

Nem igaz, hogy senki sem

aky22 · 2011. Okt. 9. (V), 09.03
Nem igaz, hogy senki sem érti. Basszus annyi lenne ennek a sz@rnak a dolga, hogy keressen két táblából címre, tartalomra, vagy szerzőre. És NEM MŰKÖDIK!!! Mert olyat listáz ki amiben NINCSEN meg a szó. Ráadásul többször is kilistázza.
13

Kapcsolat

Poetro · 2011. Okt. 9. (V), 09.50
Mi a kapcsolat a két tábla között? Mert ha semmi, akkor minden sorhoz az egyik táblában hozzá fog rendelni minden sort a másik táblából, ezáltal minden sort vissza fog adni eredménynek. Csinálj két lekérdezést. Egyet az egyik táblára, egyet a másik táblára.
14

Köszi. Úgy csináltam meg

aky22 · 2011. Okt. 9. (V), 09.53
Köszi. Úgy csináltam meg végül is, de azért még vártam, hátha valaki megmondja, hogy meg lehet csinálni egy lekérdezésben is és megmondja hogy hol rontottam el de akkor ezek szerint a 2 lekérdezés jó megoldás.
15

Union all. Erre keress rá.

deejayy · 2011. Okt. 10. (H), 12.26
Union all. Erre keress rá. (sql "parancs")
11

Nyugalom..

SecMan · 2011. Okt. 9. (V), 09.26
Kb. most először írtad le, hogy mi a hiba a kapott eredménnyel. (olyat is kilistáz ami nem tartalmazza a $szo részletet).

Tudnál mutatni egy rövidített(ha több 10 találat van) eredményt, és, hogy mi volt a keresendő kifejezés?
12

Keresőszó:

aky22 · 2011. Okt. 9. (V), 09.35
Keresőszó: Nemzetközi

Eredmény:

array
'id' => string '2' (length=1)
'szerzo' => string 'ghdesign ' (length=9)
'datum' => string '2011-10-08 17:23:40' (length=19)
'cim' => string 'Meleg ősz és csapadékszegény tél várható' (length=47)
'tartalom' => string 'Nemzetközi kutatóintézetek előrejelzés szerint az idei ősz és tél az átlagosnál kissé enyhébb lesz. Az intézetek előrejelzései között vannak különbségek, de a többség melegebb őszt és csapadékszegényebb telet vár idén Magyarországra.







Az Esőtánc.hu időjárási portál öt nemzetközi intézet, többek között az amerikai NASA, a brit Meteorológiai Intézet és a Nemzetközi Klíma és Társadalomkutató Intézet szezonális előrejelzéseit vetette össze, hogy képet'... (length=3053)

array
'id' => string '11' (length=2)
'szerzo' => string 'ghdesign ' (length=9)
'datum' => string '2011-10-08 17:24:48' (length=19)
'cim' => string 'Behajtja az állam a képzési díjat? ' (length=39)
'tartalom' => string 'Szerződést kötne az állam az egy-

etemistákkal, az államilag finan-

szírozott képzésen tanult diákok vállalnák, hogy bizonyos ideig nem mennek külföldre dolgozni. Ha mégis, akkor fizetniük kellene, de a részletekről még nem döntöttek.



Az utóbbi hó napokban sokat lehetett arról hallani, hogy a

Magyarországon az állam által 6-9 évig taníttatott, fiatal orvosok tömegesen akar-

nak külföldre menni. Az MSZP szerint a nyitott Európában nem lehet röghöz kötni a diákokat'... (length=961)

array
'id' => string '2' (length=1)
'szerzo' => string 'ghdesign ' (length=9)
'datum' => string '2011-10-08 17:23:40' (length=19)
'cim' => string 'Meleg ősz és csapadékszegény tél várható' (length=47)
'tartalom' => string 'Nemzetközi kutatóintézetek előrejelzés szerint az idei ősz és tél az átlagosnál kissé enyhébb lesz. Az intézetek előrejelzései között vannak különbségek, de a többség melegebb őszt és csapadékszegényebb telet vár idén Magyarországra.







Az Esőtánc.hu időjárási portál öt nemzetközi intézet, többek között az amerikai NASA, a brit Meteorológiai Intézet és a Nemzetközi Klíma és Társadalomkutató Intézet szezonális előrejelzéseit vetette össze, hogy képet'... (length=3053)

array
'id' => string '2' (length=1)
'szerzo' => string 'ghdesign ' (length=9)
'datum' => string '2011-10-08 17:23:40' (length=19)
'cim' => string 'Meleg ősz és csapadékszegény tél várható' (length=47)
'tartalom' => string 'Nemzetközi kutatóintézetek előrejelzés szerint az idei ősz és tél az átlagosnál kissé enyhébb lesz. Az intézetek előrejelzései között vannak különbségek, de a többség melegebb őszt és csapadékszegényebb telet vár idén Magyarországra.







Az Esőtánc.hu időjárási portál öt nemzetközi intézet, többek között az amerikai NASA, a brit Meteorológiai Intézet és a Nemzetközi Klíma és Társadalomkutató Intézet szezonális előrejelzéseit vetette össze, hogy képet'... (length=3053)