нет судьбы
С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204
|
Добавлено: 29/02/12 в 15:06 |
Есть 7 блоков HTML кода. Я думаю сохранить каждый блок кода в переменную. К примеру:
Код: | $block1 = '<img src="1.jpg"> ...';
$block2 = '<img src="2.jpg"> ...';
...
$block7 = '<img src="7.jpg"> ...'; |
Хочу в HTML рендере этой страницы выводить эти блоки в предустановленом или рендомных порядках. Под предустановлеными я понимаю конечное множество наборов\массивов\записей типа:
"1234567"(исходная последовательность), "1324576", "7654321"..
Т.е. теперь в странице надо разместить:
Код: | <html>
<?php echo $new_block1; ?>
<?php echo $new_block2; ?>
...
<?php echo $new_block7; ?>
</html> |
и каким-то образом поприсваивать им переменные, что я описал выше. Без повторений блоков и приоритетом на быстродействие а не на алгоритм перебора или рендома!
Последний раз редактировалось: Vyacheslav (29/02/12 в 21:40), всего редактировалось 1 раз
|
|
|
|
Добрых Дел Мастер
С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227
|
Добавлено: 29/02/12 в 16:26 |
<?php
$blocks = array($block1,$block2,...)
// том массив перемешивай и выводи
?>
|
|
пришел к победе коммунистического труда
|
5
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 29/02/12 в 17:18 |
можно так:
Код: |
$block[] = '<img src="1.jpg"> ...';
$block[] = '<img src="2.jpg"> ...';
...
$block[] = '<img src="7.jpg"> ...';
shuffle($block);
<html>
<?php echo $block[0]; ?>
<?php echo $block[1]; ?>
...
<?php echo $block[6]; ?>
</html>
|
|
|
|
|
С нами с 09.03.09
Сообщения: 6053
Рейтинг: 3538
|
Добавлено: 29/02/12 в 17:45 |
Код: | $block1 = '1';
$block2 = '2';
$block3 = '3';
$order = array( 1, 2, 3 );
//shuffle( $order );
foreach( $order as $i )
echo ${'block'.$i}; |
или
Код: | $blocks = array(
'1',
'2',
'3'
);
$order = array( 0, 1, 2 );
//shuffle( $order );
foreach( $order as $i )
echo $blocks[ $i ]; |
|
|
|
|
С нами с 22.05.09
Сообщения: 639
Рейтинг: 1087
|
Добавлено: 29/02/12 в 17:59 |
Цитата: | $block1 = '<img src="1.jpg"> ...';
$block2 = '<img src="2.jpg"> ...';
...
$block7 = '<img src="7.jpg"> ...'; |
$rand='block'.(rand(1,7)) ;
echo $$rand ;
|
|
|
|
нет судьбы
С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204
|
Добавлено: 29/02/12 в 18:50 |
Я вот думаю, может это будет экономнее на стороне клиента делать при помощи JavaScript. Кто-нибудь может подобное на JS расписать?
|
|
|
|
Добрых Дел Мастер
С нами с 03.05.08
Сообщения: 3143
Рейтинг: 1227
|
Добавлено: 29/02/12 в 19:05 |
ну если ты на клиенте будешь(к примеру раз в минуту) перемешивать, то да. будет экономнее
|
|
пришел к победе коммунистического труда
|
0
|
|
|
нет судьбы
С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204
|
Добавлено: 29/02/12 в 19:12 |
Да там и будет примерно так. Просто на большом\среднем трафе - это не реально для сервера будет делать на PHP.
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 29/02/12 в 20:35 |
Vyacheslav писал: | Просто на большом\среднем трафе - это не реально для сервера будет делать на PHP. |
для пхп перемешать массив займет настолько мало ресурсов, что ты это не почувствуешь. Если конечно там будут не мегабайты текстов.
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
5
|
|
|
нет судьбы
С нами с 27.03.03
Сообщения: 4427
Рейтинг: 4204
|
Добавлено: 29/02/12 в 21:30 |
Stek писал: | для пхп перемешать массив займет настолько мало ресурсов, что ты это не почувствуешь. Если конечно там будут не мегабайты текстов. |
А какой ты конкретно способ порекомендуешь из быстродействующих?
Перемещать нужно будет 6-7 блоков\переменных всего лишь 0.5 - 1Кбайта.
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 29/02/12 в 21:52 |
Рекомендую делать на пхп и не заморачиваться с этим вопросом. Что бы получить экономию , тебе надо будет полностью отказаться от пхп и перейти на чистую статику.
Ты сейчас себе придумал проблему уровня - какой коврик для машины выбрать, резиновый или тряпичный. С тряпичным машина легче и меньше бензина жрет.
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
1
|
|
|
С нами с 20.02.06
Сообщения: 248
Рейтинг: 366
|
Добавлено: 29/02/12 в 21:58 |
Stek писал: | Ты сейчас себе придумал проблему уровня - какой коврик для машины выбрать, резиновый или тряпичный. С тряпичным машина легче и меньше бензина жрет. |
+100500
|
|
|
|
С нами с 04.12.02
Сообщения: 267
Рейтинг: 457
|
Добавлено: 13/03/12 в 23:25 |
Я не совсем понял задачу, но вот набросал кое-что на JavaScript
Код: [развернуть] | <html>
<head>
<script type="text/javascript">
function change_order() {
var order1 = new Array(1, 2, 3, 4, 5, 6, 7);
var order2 = new Array(7, 2, 3, 4, 5, 6, 1);
var blocks = new Array();
for (var i = 0; i < order1.length; i++) {
var k = i + 1;
blocks[i] = document.getElementById("id" + k).innerHTML;
}
for (var i = 0; i < order2.length; i++) {
var l = i + 1;
var m = order2[i] - 1;
document.getElementById("id" + l).innerHTML = blocks[m];
}
}
</script>
</head>
<body onload="change_order();">
<div id="id1">1</div>
<div id="id2">2</div>
<div id="id3">3</div>
<div id="id4">4</div>
<div id="id5">5</div>
<div id="id6">6</div>
<div id="id7">7</div>
</body>
</html> |
Кое-что здесь лишнее, ещё и буква L маленькая на единицу похожа, но думаю идея понятна.
|
|
|
|