Autor Zpráva
vojtan
Profil
Mám skript na výpis akčního zboží, ale nefunguje mi propojení s tabulkou menu. Chci aby se mi vypisovalo pouze zboží, které má ve sloupci vyrobky.menu identifikátor, který je shodný s hodnotami uvedenými ve sloupci menu.zbozi - zde jsou hodnoty uloženy za sebou např. 35,36,37 a jsou to čísla kategorií, jejichž zboží se zobrazují i v nadkategoriích (tedy v nadkategorii se pod seznamem podkategorií zobrazuje všechno zboží z podkategorií). Jak docílím toho, že se mi vyberou pouze ty výrobky, které se nacházejí v kategoriích uvedených v tabulce menu.zbozi, kde se nachází i hodnota aktuální kategorie $cislo_kat?

$vysledek5=@mysql_query("
select 
    vyr.id, vyr.nazev, vyr.nazev_url, vyr.kratky_popis, vyr.cena, obraz.url, vyr.menu 
  from vyrobky vyr
  left join obrazky obraz on vyr.id = obraz.zbozi 
  left join menu men on vyr.menu like '%men.zbozi%' 
  where men.zbozi like '%".$cislo_kat."%' and vyr.nakupdne = 'a' 
  order by RAND() limit 2
");
Moderátor Alphard: Přidal jsem do kódu několik odřádkování kvůli přehlednosti.


Děkuji za pomoc
Kajman_
Profil *
Možná hledáte funkci na spojení řetězců

vyr.menu like concat('%',men.zbozi,'%')

Ale pro rychlost tento přístup nebude zrovna optimální.
vojtan
Profil
Spojovat řetězce není nutné, spíš je divné, že když vynechám z kódu podmínku
men.zbozi like '%".$cislo_kat."%'
tak to vypisuje zboží, které je však úplně ze všech kategoríí. Když podmínku opět vložím, nevypíše se mi nic.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0