Привет, ребята,
У меня есть веб-сайт. У меня есть раздел под названием "Мобильный раздел". Этот раздел содержит множество категорий (название объекта + изображение + небольшое описание и ссылка для скачивания) Теперь раздел считается внутренним. Я хочу просмотреть случайные записи из этого раздела на первой странице (я не знаю, как RSS, но не Rss), показывая название объекта и подкатегории, к которым он принадлежит, и его изображение, если это возможно. Я надеюсь, что кто-нибудь поймет, что я пытаюсь сказать.
Это мой веб-сайт ЗДЕСЬ, и это ссылка на внутреннюю страницу ЗДЕСЬ, проверьте блок с надписью Mobile Section. Это вроде беспорядок. есть ли какой-нибудь сценарий или технология, чтобы просмотреть его надлежащим образом, чтобы просмотреть, покажите мне примеры, если это возможно
Я использую php и MySQL
Заранее спасибо
Какие технологии вы используете? Я предполагаю PHP из-за расширения страницы. Вы создаете контент из базы данных, то есть MySQL?
да, я использую php и использую MySQL






Вы действительно хотите, чтобы это было случайным образом? Приятно иметь самые популярные на домашних страницах, и они могут оказаться более полезными и информативными для ваших посетителей.
Тем не менее, было бы очень легко написать метод в Microsoft SQL для этого:
SELECT TOP 1 Name, Picture, Description, Link
FROM Software
WHERE Category = 'Mobile Section'
ORDER BY NEWID()
Если вы не используете Microsoft SQL, вот сайт со случайными селекторами для многих баз данных.
Вы должны использовать тот же код со страниц вашей категории, чтобы просмотреть случайный выбор домашней страницы. sy-stu.com/stu/prog.php?id=3 Все, что меняется, - это оператор выбора базы данных. Приятно использовать постоянный визуальный опыт.
Эта идея как бы украдена у Дэвида Томаса Гарсии. Что вы можете сделать, так это реализовать в своей базе данных поле, которое будет отслеживать просмотры продукта (или вы можете отказаться от этого и просто отслеживать покупки), и вы можете выбрать элементы из своей базы данных как «Лучшие продавцы» или «Горячие». Товары »для отображения на вашем сайте.
Что бы вы ни делали, не используйте ORDER BY RAND () в MySQL. Это не масштабируется. Да, похоже, что для небольшого количества строк это нормально, потому что набор данных невелик. ORDER BY RAND () требует сканирования всей таблицы, а это означает, что чем больше ваша таблица, тем дольше будет выполняться запрос. Это будет проявляться в виде «Ну и дела, сайт кажется медленнее» ... и все медленнее ... и медленнее ...
Если у вас есть столбец id, который является целым числом и действует как первичный ключ, вы можете сгенерировать максимальное значение в PHP, прежде чем запрашивать его, это будет намного быстрее, потому что вы фактически используете индекс.
Примером может быть что-то вроде:
$random_row_id = rand(1, $max);
а потом...
SELECT * FROM foo WHERE id = $random_row_id
Вам нужно будет выяснить, как получить свой $ max, но, скорее всего, вы можете просто получить идентификатор последней строки.
Одно предостережение: если вы удалили записи из таблицы, у вас будут «дыры», где вы можете запросить строку, которая больше не существует. В этом случае вы можете просто продолжать зондирование, пока не найдете совпадение - это все равно будет намного быстрее, чем полное сканирование таблицы.
Не нужно извиняться. Я англичанин и плохо говорю по-английски ...