birden tagsid arasından seçim SQL:örneğin, aynı satırda
tagsid = 1
recipeid = 2|12|1|8
Bu kodu kullanırsanız:
$query = "SELECT * FROM recipe where tagsid like '%".$tag_id."%'";
o gösterecektir 1
, tagsid
12, 1
, ancak yalnızca tagsid 1
olmalıdır. Bu neden yanlış?
Bu durumun kolayca işlenmesi için veritabanınızın normalleştirilmesi gerekiyor. Bir sorunla karşılaşmanızın sebebi, '' '' '12''de ve' LIKE' kullanıyorsunuz, bu sadece herhangi bir dize arıyor. "% |" Gibi bir şeyleri deneyebilirsiniz. $ Tag_id. "|% '" ', Ancak başka sorunları var. –
Kendinize bir iyilik yapın ve veri şemanızı normalleştirin ^^ – moonwave99
Sorguyu düzenlemeden sonra belirsiz hale getirdiğini düşünüyorum. Sorunuzda 'tagid' varken' recipeid' nedir? ' –