Из базы данных получаю данные по $click_id (id товара).
Все работает корректно если в базе данных $click_id встречается один раз, что делать если в базе данных один и тот же $click_id встречается несколько раз? Сейчас выводится информация ровно столько раз, сколько одинаковых $click_id в базе.
Как вывести один раз информацию из базы, если в ней несколько одинаковых $click_id?
Мой код:
//обращение за данными по id товара
$results = $db->query("SELECT * from items WHERE item_id=$click_id");
//вывод полученной информации о товаре
while ($row = $results->fetchArray()) {
$response = preg_replace('~(<title>.*</title>(.*</head>)|(?=</head>))~si',
$response = preg_replace('/<head([^<>]*?)>(.+?)<\/head>/is', '<head$1>
<base href="' . curl_getinfo($ch, CURLINFO_EFFECTIVE_URL) . '">$2
<link rel="canonical" href="http://' . $urls . '/'. $click_id .'"/>
<!-- Open Graph -->
<meta property="og:locale" content="ru, ru_RU">
<meta property="og:type" content="website" />
<meta property="og:image" content="http://site.ru/up/'.
$row['image'] .'" />
<meta property="og:image:alt" content="' . $row['title'] . '" />
<meta property="og:title" content="' . $row['title'] . '" />
<meta property="og:url" content="http://' . $urls . '/'. $click_id .'" />
</head>', $response);
}
Для управления количеством записей в результирующей таблице используется оператор LIMIT
. Этот оператор записывается в самом конце запроса и имеет следующую конструкцию:
SELECT ... ... ... LIMIT [offset, ] count
Тут используются два параметра:
offset
- это номер строки в результирующей таблицы (от 0), от которой необходимо отсчитывать записи
count
- это число, которое означает то, сколько записей из результирующей таблицы необходимо отобрать, начиная от offset.
Параметр offset
не является обязательным, если его не записывать, то отсчет записей в таблице будет стартовать с нуля. Рассмотрим примеры.
SELECT * FROM student LIMIT 1; или SELECT * FROM student LIMIT 0, 1;
В Вашем случае:
"SELECT * from items WHERE item_id=$click_id LIMIT 1"
$results = $db->query("SELECT DISTINCT * from items WHERE item_id=$click_id");
Попробуйте с DISTINCT выполнить запрос
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как добиться того, чтобы удалить ПЕРВОЕ слово из переменной в SMARTY? Для примера: Из "Привет стаковерфлоу, мне нужна помощь" в " стаковерфлоу,...
На сервере приблизительно 30 сайтом и в каждой папке файлы с мусором (вирусом), я знаю размер и название файлов(они повторяются), пробвал написать...
Что посоветуете, как узнать, какое номер присвоит поле id в базе данных при добавление нового idЯ добавляю новые данные из формы в таблицу, далее...