[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите переделать масив
tgf
Товарищи, помогите написать скриптик, который бы с массива виду
фото1||фото1.1||фото2||фото2.2

сделалает массив

фото1||фото1.1||описание1||фото2||фото2.2||описание2.2

и выведет поэлементно его значения типа

$foto[$i]
$foto[$k]
$foto[$alt]





Спустя 6 минут, 24 секунды (11.09.2010 - 00:27) waldicom написал(а):
А откуда описание берется?
И что (какие значения) должно вывестись на экран при выводе

$foto[$i]
$foto[$k]
$foto[$alt]

Спустя 16 часов, 48 минут, 51 секунда (11.09.2010 - 17:15) tgf написал(а):
<?php
$tv_value = $modx->getTemplateVarOutput(array("cottimgs"));
$pictures = explode("||", $tv_value['cottimgs']);
$output = "<ul id=\"columns\">";

$i = 0; $j = 1; $alt = 2;

$docid = $modx->documentIdentifier;
$doc = $modx->getDocument($docid, 'longtitle', 1);



while ($i < (count($pictures) -1))
{
//проверяем размер массива
$str = $pictures[2];
$substr_count = substr_count($str,".jpg");
//////
//////

//если массив вдуеллементный
//////
//////

if ($substr_count > 0)
{
$alt_img = $doc["longtitle"];
// делаем его триеллементным

$tbl_site_tmplvar_contentvalues = $modx->getFullTableName('site_tmplvar_contentvalues');
//новый массив

$pic=$tv_value['cottimgs'];
$pictures[$alt]="|-- |";
$new_value = $pictures;


$sql = "UPDATE $tbl_site_tmplvar_contentvalues SET value='$new_value' WHERE tmplvarid = '7' and contentid='$docid'";
$rs = $modx->db->query($sql);
if ($rs) {echo "<p align=center>ОНОВЛЕНОО для ID $docid!</p>";}

}




//если масив с 3-х елллементов - ниче не делаем
else
{
$alt_img = $pictures[$alt];
}
// 
$output .= "<li><a href=\"".$pictures[$i]."\" class=\"highslide\" onclick=\"return hs.expand(this)\">
<img src=
\"".$pictures[$j]."\" alt=\"".$alt_img."\" title=\"Click to enlarge\" height=\"155\" width=\"220\"></a>
</br> опис: "

.$alt_img." </li>";
//для двох елем. масива
if ($substr_count > 0)
{
$i = $i + 2;
$j = $j + 2;
$alt = $alt+2;
}
// для трох елем. масива
else
{
$i = $i + 3;
$j = $j +3;
$alt = $alt+3;
}

}

//конец цыкла
$output .= "</ul>";

echo $output;
?>


вот что-то такое получилось.
вобщем в чем смысл: есть масив, описаный мной выше. в нем инфа для галереи: маленькая картинка || большая картинка.

надо к каждой фотке добавить описание. Скрипт должен определить, есть ли уже описание, или нет. если есть, то он присвоит переменной $alt_img значение $pictures[$alt] (или $pictures[3]) с массива, если нет, просто добавит элемент $pictures[3] со значением "--&nbsp;" тоесть, код пробела.
А потом, при выводе картинки надо посмотреть если элемент $pictures[3] равняется "--&nbsp;" то в поле ALT картинки вставить значение $doc["longtitle"], если же там иное описание - вставить именно его. Думаю я ясно выразился....


Спустя 3 минуты, 16 секунд (11.09.2010 - 17:19) Michael написал(а):
будь добр в дальнейшем сам пользоваться кнопками форматирования кода.

Спустя 1 минута, 23 секунды (11.09.2010 - 17:20) tgf написал(а):
Спасибо, мой втык

Спустя 1 день, 21 час, 9 минут, 9 секунд (13.09.2010 - 14:29) tgf написал(а):
так что, никто не поможет?
Быстрый ответ:

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