Združeanje 2 tabel
7 naročnikov
7 naročnikov
Pozdravljeni,
poskusil sem že veliko načinov za združevanje vendar mi nikakor ne uspe. Iskanje sicer deluje, če se išče samo po eni tabeli. Ker pa želim iskati po temah in odgovorih istočasno pa mi ne uspe nastaviti.
$forumteme = 1 tabela za iskanje - (teme
LIKE '%$isci%')
$forumodgovori = 2 tabela - za iskanje (sporocilo
LIKE '%$isci%')
Uporabljam pa sledečo kodo:
$forumtemapreveriiskanje = mysqlquery("SELECT * FROM $forumteme Where (teme
LIKE '%$isci%') ORDER BY ID DESC LIMIT ".(int)($sprehajaj-$rezultatovnastrani).", ".(int)$rezultatovna_strani);
Sem poskusil tudi na ta način vendar mi kljub temu ni uspelo...
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers
ON Orders.CustomerID=Customers.CustomerID;
18 odgovorov
mogoče ti tole pomaga :
(SELECT a FROM t1 WHERE a=10 AND B=1 ORDER BY a LIMIT 10)
UNION
(SELECT a FROM t2 WHERE a=11 AND B=2 ORDER BY a LIMIT 10);
A ni dovolh en navaden join?
SELECT * FROM table1,table2 WHERE table1.polje LIKE 'pogoj' OR table2.polje LIKE 'pogoj' ....
Sedaj mi je z vašo pomočjo uspelo prebrati podatke... Vendar pa imam novo težavo. Pri tabeli $forum_teme bi želel prebrati samo naslednje podatke: tema in avtor. Vsi podatki so odvisni od vrstice: sporocilo. Vendar ne gre...
$forumtemapreveriiskanje = mysqlquery("SELECT * FROM $forumteme, $forumodgovori Where $forumodgovori.sporocilo LIKE '%$isci%' ORDER BY sporocilo DESC LIMIT ".(int)($sprehajaj-$rezultatovnastrani).", ".(int)$rezultatovna_strani);
$forum_tema_preveri_iskanje = mysql_query("
SELECT **ft.tema, ft.avtor** FROM $forum_teme **AS ft**, $forum_odgovori
WHERE $forum_odgovori.sporocilo LIKE '%$isci%'
ORDER BY sporocilo DESC
LIMIT ".(int)($sprehajaj-$rezultatov_na_strani).", ".(int)$rezultatov_na_strani);
Vse se vrti okoli:
SELECT **ft.tema, ft.avtor** FROM $forum_teme **AS ft**
Sem poskusil tudi zgorno kodo vendar mi ne deluje. Sem pa uspel napisati to kodo in deluje :). Prosil bi Vas samo to, če mi lahko poveste ali vse tako kot je treba (sintaksa)... Hvala
$forumtemapreveriiskanje = mysqlquery("SELECT $forumteme.*, $forumodgovori.* FROM $forumteme INNER JOIN $forumodgovori ON $forumodgovori.odgovoriid = $forumteme.odgovoriid Where $forumodgovori.sporocilo LIKE '%$isci%' ORDER BY sporocilo DESC LIMIT ".(int)($sprehajaj-$rezultatovnastrani).", ".(int)$rezultatovna_strani);
ne ni, kot se ti je že v desetih ostalih temah povedala tvoja koda kar kriči SQL INJECTION (http://en.wikipedia.org/wiki/SQL_injection)
Ne vem ali namensko ignoriraš ali se ti ne da malo raziskat na to temo
- mysql_* se poslavlja, tako da je čas, da spremeniš
Hmmm a mi lahko prosim tukaj nekdo reši tole kodo z SQL INJECTION, da vidim, kako to sploh gre...
$forumtemapreveriiskanje = mysqlquery("SELECT $forumteme.*, $forumodgovori.* FROM $forumteme INNER JOIN $forumodgovori ON $forumodgovori.odgovoriid = $forumteme.odgovoriid Where $forumodgovori.sporocilo LIKE '%$isci%' ORDER BY sporocilo DESC LIMIT ".(int)($sprehajaj-$rezultatovnastrani).", ".(int)$rezultatovna_strani);