[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Простой скрипт рандомного показа данных c БД
Oliver Varnce
Всем привет, накнопал я скрипт показа записей из таблицы в рандомном порядке. Кому может надо будет, вот:


<?


$query = 'SELECT * FROM my_table ORDER BY rand() LIMIT 4';// LIMIT 4 - /*означает сколько строк покажет*/
$result = mysql_query($query) or die('Query failed: ' . mysql_error());

$n=mysql_num_rows($result);

echo "<table>";
// и теперь в цикле выводим построчно
for($i=0;$i<$n;$i++) echo "<tr>",mysql_result($result,$i,logo),"</tr><tr>",mysql_result($result,$i,region),"</tr><tr>",mysql_result($result,$i,rooms),"</tr></tr>";
echo "</table>";
?>


и у меня вопрос к знатокам, подскажите, пожалуйста мне о вводе куска адреса к объекту который хранит имя файла картинки. Например: есть столбец logo. Информация о логотипе только как имя файла, тоесть logo.jpg и все. Как мне добавить к этому коду первую часть ссылки. Тоесть чтобы было /images/logo.jpg

я понимаю что надо ввести переменную например $link = '/images/' но как ее правильно всунуть в отображение?



Спустя 2 минуты, 1 секунда (7.06.2011 - 09:15) neadekvat написал(а):
А где вопрос?

Спустя 2 минуты, 28 секунд (7.06.2011 - 09:17) Oliver Varnce написал(а):
А обязательно вопросы должны быть?))) добавил вопрос)

Спустя 1 минута, 24 секунды (7.06.2011 - 09:19) neadekvat написал(а):
Если нет вопроса - зачем эта тема? Или ты считаешь, что код, находящийся в первом посте, можно рекомендовать кому-то еще?..

Спустя 2 минуты, 21 секунда (7.06.2011 - 09:21) Oliver Varnce написал(а):
Ну не будем офтопить. Мож кому пригодиться, он универсальный, я тоже до недавна не знал как это реализовать, но поковырял и сделал. Я уверен что на этом форуме еще есть люди которые не знают как это сделать, авось понадобится. Поиском то все умеют юзать!

Спустя 6 минут, 19 секунд (7.06.2011 - 09:27) neadekvat написал(а):
Нет, он не универсальный.
Совершенно.
От как раз таки наоборот: жестко завязан на твоем коде.
К тому же, ты не описал, что при достяжении некоторого числа записей, ORDER BY RAND() не подходит совершенно. Потому что тяжелый запрос.
А уж про то, что ты там на php делаешь - это туши свечи. Так из бд не достают информацию.
Когда ты начал этим заниматься? Месяц, два? Ты правда думаешь, что у тебя достаточно опыта, чтобы учить других?
У меня нет цели высмеять тебя, но говноучителей в интернетах уже хватает - еще один нам не нужен. Запарились уже переучивать гореучеников.

Спустя 2 минуты, 58 секунд (7.06.2011 - 09:30) Oliver Varnce написал(а):
Хорошо, какое тогда твое предложение по этому гамнокоду?

Спустя 6 минут, 29 секунд (7.06.2011 - 09:37) neadekvat написал(а):
$query = 'SELECT * FROM my_table ORDER BY RAND() LIMIT 4';// LIMIT 4 - /*означает сколько строк покажет*/
// для отработки
//$result = mysql_query($query) or die('Query failed: ' . mysql_error());
// для рабочего сайта

$result = mysql_query($query);

echo '<table>';
while($arr = mysql_fetch_assoc($result))
echo '<tr>'
. '<td>'. $arr['logo'] .'</td>'
. '<td>'. $arr['region'] .'</td>'
. '<td>'. $arr['rooms'] .'</td>'
. '</tr>';

echo '</table>';


Это после первого прохода.
У тебя там еще в html-разметке ошибки были, кстати. Для ячеек (td) ни одного тега - вся информация была бы вне таблицы.

Но то, что я представил здесь - это рекомендация лично тебе, потому что ты, хоть и говоришь о незнающих, сам нормально из бд выводить строки не умеешь (не умел или не захотел показать как надо).

Спустя 45 минут, 5 секунд (7.06.2011 - 10:22) Oliver Varnce написал(а):
Ну по крайней мере мойт код работает, а твой нет!

Спустя 3 минуты, 36 секунд (7.06.2011 - 10:26) neadekvat написал(а):
Цитата (Oliver Varnce @ 7.06.2011 - 11:22)
Ну по крайней мере мойт код работает, а твой нет!

Давай без детского сада, ок?
Ты мой код запускал? Если не работает - то надо выяснить где, вот и все.
К тому же, я показал лишь направление.

Если ты хочешь работать со своим .., "которое хотя бы работает", работай. Но другим не смей это советовать.

Спустя 8 минут, 14 секунд (7.06.2011 - 10:34) Oliver Varnce написал(а):
Ну причем здесь детский сад? для маленьких решений, например вывода динамических баннеров такой код сгодиться аж нараз, сервер особо не грузит, я не говорю о 100000 записей.

по поводу ошибок хтмл, согласен.

Согласен так же. что твой код лучше, но не нужно тоже советовать с ошибками синтаксиса вот исправленный:

<?
require_once 'db.php';

$query = 'SELECT * FROM `my_base` ORDER BY RAND() LIMIT 4';// LIMIT 4 - /*означает сколько строк покажет*/
$result = mysql_query($query);

$logo = '/uploads/realty/';
echo '<table>';
while($arr = mysql_fetch_assoc($result))
{
echo '<tr>'
. '<td>'. $arr['logo'] .'</td>'
. '<td>'. $arr['region'] .'</td>'
. '<td>'. $arr['rooms'] .'</td>'
. '</tr>';
}
echo '</table>';

?>


Все равно спасибо за поправку, хоть и получилась грубоватая дискуссия!

Спустя 2 минуты, 43 секунды (7.06.2011 - 10:36) neadekvat написал(а):
Я в третий раз скажу, что вот это:
for($i=0;$i<$n;$i++) echo "<tr>",mysql_result($result,$i,logo),"</tr><tr>",
mysql_result($result,$i,region),"</tr><tr>",mysql_result($result,$i,rooms),"</tr></tr>";

один из самых тупых путей для вывода информации из бд.
Мне сказать еще грубее? Я могу. Но заметь, пока говорю достаточно корректно, уповая, что люди понимают не только мат и крики.
Вопрос про твой опыт и возможность давать советы другим еще открыт:
Цитата (neadekvat @ 7.06.2011 - 10:27)
Когда ты начал этим заниматься? Месяц, два? Ты правда думаешь, что у тебя достаточно опыта, чтобы учить других?


Спустя 2 минуты, 1 секунда (7.06.2011 - 10:38) Oliver Varnce написал(а):
год, переучивался после Попова, соглашусь, еще кое какие его багнутые стили во мне остались

Спустя 3 минуты, 56 секунд (7.06.2011 - 10:42) neadekvat написал(а):
Это как раз в тему про говноучителей.

Ладно, как я понял, мнение простолюдинов ты не расцениваешь. Подождем кого-нибудь из высшего света, дабы они подтвердили тебе мою мысль.

Спустя 5 минут, 6 секунд (7.06.2011 - 10:48) Oliver Varnce написал(а):
расцениваю)

Спустя 1 час, 19 минут, 30 секунд (7.06.2011 - 12:07) Snus написал(а):
На ум приходит только одно - жесть )

Спустя 1 день, 6 часов, 20 минут, 9 секунд (8.06.2011 - 18:27) wollk написал(а):
Вот вы так гоните на Е. Попова. Ведь может быть где то и есть ошибки. Но ведь он сделал нормальные уроки для старта в изучении языка, а вы ни чего не делаете, только вот кричите друг на друга. Дискуссии устраиваете.

Спустя 47 минут, 20 секунд (8.06.2011 - 19:14) inpost написал(а):
wollk
Смотри, я знаю ПХП 1,5 года, я не хочу создать клон Попова, который будет немного лучше. Найду единомышленников и сделаем качественнее продукт.
Если есть нечего, это не значит, что надо есть то, что не съедобно, это об Попове, к тому же есть Специалист.

Спустя 17 минут, 57 секунд (8.06.2011 - 19:32) php-doctor написал(а):
спс


_____________
мой хостинг - GlobalNET.com.ua
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.