Здравствуйте. У меня встал вопрос вывода одинаковых ключевых слов из БД на сайт. К примеру есть страница картинки у нее есть ключи, нужно будет вывести под картинкой одинаковые ключевые слова (такие же как у картинки)из трех полей, чтобы был лимит. Есть таблица table, поле id картинки и ключи metakey в одной таблице table. Я понимаю, что надо сперва ключи разбить на массивы (скорее всего), затем проверить, если есть одинаковые значения массивов, то вывести эту картинку (для начала надо вывести только поле с ключами, а потом уже с выводом картинки разберусь). Лучше будет если поставить лимит на вывод, к примеру 3.
таблица одна, к примеру назовем ее Table, в ней картинки, для каждой картинки есть столбец id, затем catid это id категории, затем название, опубликовано или нет, мета данные и ключи поле metakey. |id| catid |imgtitle |metakey | metadesc| -------------------------------------------------------------- |1 | id |название |ключи1 |мета | |2 |категории|картинки |ключи1 |описание | -------------------------------------------------------------- Вот нарисовал Добавлено спустя 35 секунд: Ключи1, ключи2 - перечислены ключевые слова, через запятую Добавлено спустя 3 минуты 27 секунд: Допустим открывается страница с картинкой и у картинки есть свои ключи, перечисленные через запятую, мне нужно вывести те картинки, в количестве трех штук, у которых хотя бы один ключ одинаков с картинкой на странице
Мне нужно составить запрос к БД и вывести картинки у которых одинаковые ключи. А вы мне что ответили: Где тут запросы?
Я вроде понял как это сделать, нашел ваш ответ вот здесь http://www.php.ru/forum/viewtopic.php?f=13&t=42323&p=339331#p339331, попробую так же сделать, если не получится, то к вам опять обращусь за помощью.
Сделал так: Код (Text): //Вывод количества ключей $link=mysql_connect("localhost", "root",""); mysql_select_db("base_name") or die ("Не найдена БД"); $query="SELECT * FROM `table` where `metakey`='рыбки, аквариум, 3д обои, 1920x1200 px'"; $result=mysql_query($query); $num_rows = mysql_num_rows($result); echo $num_rows; //Вывод названия картинки while ($sql_data = mysql_fetch_array ($result)) {echo $sql_data ['imgtitle'];} //Вывод ключевых слов $d_table= mysql_query("SELECT * FROM `table`"); while ($stroka=mysql_fetch_array($d_table)); {echo $stroka ["metakey"]; echo " "; echo "<br>";} $d_table1= mysql_query("SELECT * FROM `table` where `metakey`='рыбки, аквариум, 3д обои, 1920x1200 px'"); if (mysql_num_rows ($d_table1)) {$res=mysql_result($d_table1,0,"metakey");} //Разбиваем ключи и вывод $strkey = $row->metakey; list($a,$b,$c,$d) = explode(", ", $strkey); echo $a; Написал коды, но теперь как-то надо их объединить, последний вариант не выводит ключи, знаю, что запроса там нет, как сделать. Надо сделать такой запрос: проверяем ключи данной картинки по id, если есть такие ключи, то вывести название картикни. Здесь: Код (Text): $query="SELECT * FROM `table` where `metakey`='рыбки, аквариум, 3д обои, 1920x1200 px'"; Тоже надо сделать, запрос ключей по id. Пока еще работаю, может чо получится. Добавлено спустя 3 минуты 14 секунд: Если надо, могу адрес сайта выложить, если, конечно, не запрещено правилами форума Добавлено спустя 53 минуты: Написал таким образом: Код (Text): //Разбиваем ключи и вывод $id=$this->image->id; //берем id картинки $link=mysql_connect("localhost", "root",""); mysql_select_db("base_name") or die ("Не найдена БД"); $query="SELECT `metakey` FROM `table` where `id`=$id"; $result=mysql_query($query); while ($sql_data = mysql_fetch_array ($result)) { list($a,$b,$c,$d) = explode(", ", $sql_data ['metakey']);//разбиваем ключи echo $a;} //вывод одного ключа $query="SELECT `imgtitle` FROM `jos_joomgallery` where `metakey`=$a";//опять делаю запрос, ищу название картинки imgtitle, где ключи равны $a $result=mysql_query($query); while ($sql_data = mysql_fetch_array ($result)) {echo $sql_data ['imgtitle'];}//выводим название картинки Но выдает ошибку: Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in Z:\home\xorstlocal.ru\www\components\com_joomgallery\views\detail\tmpl\default.php on line 1174 Что-то неправильно. Не подскажете что именно не так?
чувак, тебе еще раз говорю, не делай так =) делай табицу вида столбик картинка столбик ключ запрос обломился.