Ben haber veri ve kategoriler içeren bir mysql tablo var ve belli bir kategori içindeki tüm verileri slect çalışıyorum. Şu anda geri dönmek ve bu kısım bir normalize tablo kullanmak yeniden yazabilirsiniz noktada bir normalize tablo kullanarak değilim bu yüzden ben ileride yeterince düşünmüyordu.
İşte benim tablo yapısı
+---------+------------+------------+--------+----------+
| news_id | news_title | news | cat_id | date |
+---------+------------+------------+--------+----------+
| 1 | title1 | blahblah |1,2,4,6 |2009-11-24|
+---------+------------+------------+--------+----------+
| 2 | new title | text 123 | 2 |2009-01-24|
+---------+------------+------------+--------+----------+
| 3 | new title3 | text 3 | 2,19,6 |2009-02-24|
+---------+------------+------------+--------+----------+
Diyelim ki ben, bu ifadeyi kullanmaya çalışıyorum kategori 2 için tüm sonuçları dönmek istiyorum diyelim.
$query= mysql_query("SELECT id FROM `news_data` WHERE FIND_IN_SET('" . str_replace(',',"',cat_id) OR FIND_IN_SET('",$cat_id)."',cat_id)") or die(mysql_error());
Ikisi de "2" ile başlar, çünkü bu haber id 2 ve 3 için sonuçları döndürür. "2" ikinci değer olduğundan ilk haber id seçili değil. Ben mysql deyimi ile basit yanlış bir şey olduğunu biliyorum ve ben birisi bana yardımcı mümkün olacağını umuyorum.
Thanks, Brooke