Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Массив
 
 автор: uvajs   (12.10.2010 в 13:32)   письмо автору
 
 

Здравствуйте! на сайте есть скрипт облако тэгов. за вывод отвечает кусок кода:
echo '<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> ';


как все то дело занести в массив вот $tags = '<tags> сюда </tags>';

  Ответить  
 
 автор: Красная_шляпа   (12.10.2010 в 14:08)   письмо автору
 
   для: uvajs   (12.10.2010 в 13:32)
 

$переменная = ""; //инициализация
цикл (условие) {
$переменная.= '<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> '
}
echo $переменная;

  Ответить  
 
 автор: sim5   (12.10.2010 в 14:09)   письмо автору
 
   для: Красная_шляпа   (12.10.2010 в 14:08)
 

И это будет массив?

  Ответить  
 
 автор: Красная_шляпа   (12.10.2010 в 14:23)   письмо автору
 
   для: sim5   (12.10.2010 в 14:09)
 

я как понял он сам не знает что ему надо и поэтому лишь попытался догадаться об этом

  Ответить  
 
 автор: uvajs   (12.10.2010 в 14:50)   письмо автору
 
   для: Красная_шляпа   (12.10.2010 в 14:23)
 

>я как понял он сам не знает что ему надо и поэтому лишь попытался догадаться об этом



Давайте не будем об этом, я прекрасно понимаю, что делаю. у меня тэги выводятся нормально, чтобы сделать вращающий облако необходимо занести тэги в массив

  Ответить  
 
 автор: Красная_шляпа   (12.10.2010 в 15:04)   письмо автору
 
   для: uvajs   (12.10.2010 в 14:50)
 

$переменная = array();
$переменная[] = "новый элемент";

  Ответить  
 
 автор: uvajs   (12.10.2010 в 15:09)   письмо автору
 
   для: Красная_шляпа   (12.10.2010 в 15:04)
 

>$переменная = array();
>$переменная[] = "новый элемент";

прописал tags = array(тут код, что то у меня ошибку выдает);

  Ответить  
 
 автор: Красная_шляпа   (12.10.2010 в 15:12)   письмо автору
 
   для: uvajs   (12.10.2010 в 15:09)
 

какую ошибку?

  Ответить  
 
 автор: uvajs   (12.10.2010 в 15:43)   письмо автору
 
   для: Красная_шляпа   (12.10.2010 в 15:12)
 

>какую ошибку?

Для корректного отображения этого элемента вам необходимо установить FlashPlayer и включить в браузере Java Script. ");widget_so.write("tags");


вот код
<div class="aii_tags">




<?php 

  
    
  
if ($tagcloud === FALSE) {
    echo 
"Данные не найдены";
}
else {
    
$min $tagcloud[0]['posts_count'];
    
$max $tagcloud[0]['posts_count'];
    for (
$i 1$i count($tagcloud); $i++) {
        if (
$tagcloud[$i]['posts_count'] > $max) {
            
$max $tagcloud[$i]['posts_count'];
        }
        if (
$tagcloud[$i]['posts_count'] < $min) {
            
$min $tagcloud[$i]['posts_count'];
        }
    }
    
$minSize 70;
    
$maxSize 130;
    foreach (
$tagcloud as $item) {
        if (
$min == $max) {

            
$fontSize round(($maxSize $minSize) / $minSize);
        }
        else {
        
        
$fontSize round((($item['posts_count'] - $min)/($max $min)) * ($maxSize $minSize) + $minSize);
        }
       
$tags = array('<tags><a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> </tags>');
    }
}
  

?>






<div id="tags" align="center">


Для корректного отображения этого элемента вам необходимо установить FlashPlayer и включить в браузере Java Script.
<script type="text/javascript">
var rnumber = Math.floor(Math.random()*9999999);
var widget_so = new SWFObject("tagcloud.swf?r="+rnumber, "tagcloudflash", "600", "600", "9", "#ffffff");
widget_so.addParam("allowScriptAccess", "always");widget_so.addVariable("tcolor", "black");
widget_so.addVariable("tspeed", "115");
widget_so.addVariable("distr", "true");
widget_so.addVariable("mode", "tags");
widget_so.addVariable("tagcloud", "<?php $tags=iconv("windows-1251","UTF-8"$tags);echo urlencode($tags); ?>");widget_so.write("tags");</script> 

</div>
</div>

  Ответить  
 
 автор: Красная_шляпа   (12.10.2010 в 16:10)   письмо автору
 
   для: uvajs   (12.10.2010 в 15:43)
 

ггг ну так включи в браузере жаба скрипт и установи flash player я то тут при чём

  Ответить  
 
 автор: uvajs   (12.10.2010 в 16:19)   письмо автору
 
   для: Красная_шляпа   (12.10.2010 в 16:10)
 

флэш установлен и javascript тоже включен, все равно не выходит...


если прописать вот так
$tags = '<tags>
<a href="http://engells.com/lessons.php?cat=1" style="font-size: 15pt">HTML</a>
<a href="http://engells.com/lessons.php?cat=2" style="font-size: 15pt">CSS уроки</a>
<a href="http://cssor.ru" style="font-size: 15pt">Крутой сайт о CSS</a>
<a href="http://Wincert.ru" style="font-size: 15pt">Веб разработчик</a>
<a href="http:// W-blog.ru" style="font-size: 15pt">Интересное</a>
<a href="http:// W-blog.ru" style="font-size: 15pt">Интересное</a>
</tags>';


почему то облако работает...

в чем может быть разница?

  Ответить  
 
 автор: sim5   (12.10.2010 в 16:41)   письмо автору
 
   для: uvajs   (12.10.2010 в 16:19)
 

РНР то тут при чем?

  Ответить  
 
 автор: uvajs   (12.10.2010 в 16:43)   письмо автору
 
   для: sim5   (12.10.2010 в 16:41)
 

почему тогда этот код выводит только один тег
  if ($tagcloud === FALSE) {
    echo "Данные не найдены";
}
else {
    $min = $tagcloud[0]['posts_count'];
    $max = $tagcloud[0]['posts_count'];
    for ($i = 1; $i < count($tagcloud); $i++) {
        if ($tagcloud[$i]['posts_count'] > $max) {
            $max = $tagcloud[$i]['posts_count'];
        }
        if ($tagcloud[$i]['posts_count'] < $min) {
            $min = $tagcloud[$i]['posts_count'];
        }
    }
    $minSize = 70;
    $maxSize = 130;
    foreach ($tagcloud as $item) {
        if ($min == $max) {

            $fontSize = round(($maxSize - $minSize) / 2 + $minSize);
        }
        else {
        
        $fontSize = round((($item['posts_count'] - $min)/($max - $min)) * ($maxSize - $minSize) + $minSize);
        }
       $t = '<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> ';
       
       echo $t;
       
    }
}


а этот выводит все тэги
       echo '<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> ';


в чем разница?

  Ответить  
 
 автор: sim5   (12.10.2010 в 16:52)   письмо автору
 
   для: uvajs   (12.10.2010 в 16:43)
 

Вы привели две одинаковых строки и спрашиваете разницу? Между M=N echo M и echo N, нет никакой разницы, кроме лишнего присваивания.

  Ответить  
 
 автор: uvajs   (12.10.2010 в 17:06)   письмо автору
 
   для: sim5   (12.10.2010 в 16:52)
 

       $t = array('<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> ');
       
       echo $t;


выводится: ArrayArrayArrayArrayArrayArrayArray ArrayArrayArrayArrayArrayArrayArray ArrayArrayArrayArrayArrayArrayArray

что я делаю неправильно?

  Ответить  
 
 автор: sim5   (12.10.2010 в 17:20)   письмо автору
 
   для: uvajs   (12.10.2010 в 17:06)
 

>что я делаю неправильно?

Пишите код совсем не изучая материала.

Смысла в записи $t = array('....') нет ни какого, ибо вы получите в конечном итоге массив с одним элементом. К тому же, массив, он и в Африке массив, и обращение к нему echo array(), это за гранью фантастики.

  Ответить  
 
 автор: uvajs   (12.10.2010 в 17:32)   письмо автору
 
   для: sim5   (12.10.2010 в 17:20)
 

тогда подскажите, как выводить эти тэги внутри $tags = '<tags> вот тут</tags>'; ?


вот такое скрипт
<?php 

  
    
  
if ($tagcloud === FALSE) {
    echo 
"Данные не найдены";
}
else {
    
$min $tagcloud[0]['posts_count'];
    
$max $tagcloud[0]['posts_count'];
    for (
$i 1$i count($tagcloud); $i++) {
        if (
$tagcloud[$i]['posts_count'] > $max) {
            
$max $tagcloud[$i]['posts_count'];
        }
        if (
$tagcloud[$i]['posts_count'] < $min) {
            
$min $tagcloud[$i]['posts_count'];
        }
    }
    
$minSize 70;
    
$maxSize 130;
    foreach (
$tagcloud as $item) {
        if (
$min == $max) {

            
$fontSize round(($maxSize $minSize) / $minSize);
        }
        else {
        
        
$fontSize round((($item['posts_count'] - $min)/($max $min)) * ($maxSize $minSize) + $minSize);
        }
       echo 
'<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> ';
    }
}
  

?>
выводятся все тэги http://s003.radikal.ru/i202/1010/a8/6f2774463591.jpg


теги которые выводятся, мне нужно занести $tags = '<tags> вот тут</tags> и получиться вращающее облако. протестировал так:
$tags = '<tags>
<a href="http://engells.com/" style="font-size: 15pt">HTML</a>
<a href="http://engells.com/" style="font-size: 15pt">CSS уроки</a>
<a href="http://cssor.ru" style="font-size: 15pt">Крутой сайт о CSS</a>
<a href="http://Wincert.ru" style="font-size: 15pt">Веб разработчик</a>
<a href="http:// W-blog.ru" style="font-size: 15pt">Интересное</a>
<a href="http:// W-blog.ru" style="font-size: 15pt">Интересное</a>
</tags>';

все нормально работает.

http://s04.radikal.ru/i177/1010/b4/6a9c9847118c.gif

  Ответить  
 
 автор: sim5   (12.10.2010 в 17:36)   письмо автору
 
   для: uvajs   (12.10.2010 в 17:32)
 

Вы теги ссылок выводите в цикле из массива, а обрамить чем-то содержимое массива как можно? То чем вы хотите обрамить относится к самому массиву или нет? Требуется ли для этого промежуточная переменная?

  Ответить  
 
 автор: uvajs   (12.10.2010 в 18:33)   письмо автору
 
   для: sim5   (12.10.2010 в 17:36)
 

>Вы теги ссылок выводите в цикле из массива, а обрамить чем-то содержимое массива как можно? То чем вы хотите обрамить относится к самому массиву или нет? Требуется ли для этого промежуточная переменная?

не совсем я Вас понял. в общих чертах можно сделать то что я сказал выше?

  Ответить  
 
 автор: sim5   (12.10.2010 в 18:42)   письмо автору
 
   для: uvajs   (12.10.2010 в 18:33)
 

Можно. Если у вас есть массив содержащий а, б, в, г, и вам надо его содержимое поместить в тег DIV, что вы будете делать?

  Ответить  
 
 автор: uvajs   (12.10.2010 в 19:10)   письмо автору
 
   для: sim5   (12.10.2010 в 18:42)
 

>что вы будете делать?

знаете, что мне непонятно: echo '<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> '; этот строка выводит теги нормально. если загнать эту страку в переменную какую нибудь, все равно результат тот же. в таком случае $tags = '<tags>'<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a></tags>'; выводится только один тег в вращающем виде. почему не все теги попадают $tags = '<tags>' сюда </tags>';

никак не пойму..

  Ответить  
 
 автор: sim5   (12.10.2010 в 19:36)   письмо автору
 
   для: uvajs   (12.10.2010 в 19:10)
 

Я вам задавал вопрос - а нужна ли вам промежуточная переменная (массив, чего вы раньше просили, не важно что), чтобы вывести содержимое массива в некий тег? Куда вы должны поместить открывающий и закрывающий теги tags, чтобы поместилось все между ними? И почему это:
<?
$tags 
'<tags>'<a style="text-decoration:none; color:black; font-size:'.$fontSize.'.......tags>';
У вас что нет подсветки и вы не замечаете ошибки?
<?
$a 
= array(1,2,3,4,5);
echo 
'<div>';
foreach(
$a as $v) echo $v '<br>';
echo 
'</div>';
Зачем в цикле $tags и прочая, если можно сразу выводить?

  Ответить  
 
 автор: Красная_шляпа   (12.10.2010 в 19:55)   письмо автору
 
   для: uvajs   (12.10.2010 в 19:10)
 


<?php  

   
     
  
if ($tagcloud === FALSE) { 
    echo 
"Данные не найдены"

else { 
    
$min $tagcloud[0]['posts_count']; 
    
$max $tagcloud[0]['posts_count']; 
    for (
$i 1$i count($tagcloud); $i++) { 
        if (
$tagcloud[$i]['posts_count'] > $max) { 
            
$max $tagcloud[$i]['posts_count']; 
        } 
        if (
$tagcloud[$i]['posts_count'] < $min) { 
            
$min $tagcloud[$i]['posts_count']; 
        } 
    } 
    
$minSize 70
    
$maxSize 130


    
$переменная "";

    foreach (
$tagcloud as $item) { 
        if (
$min == $max) { 

            
$fontSize round(($maxSize $minSize) / $minSize); 
        } 
        else { 
         
        
$fontSize round((($item['posts_count'] - $min)/($max $min)) * ($maxSize $minSize) + $minSize); 
        } 
       
$переменная.= '<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> '
    } 



    echo 
"<tags>".$переменная."</tags>";



?>

  Ответить  
 
 автор: sim5   (12.10.2010 в 20:40)   письмо автору
 
   для: Красная_шляпа   (12.10.2010 в 19:55)
 

А без этой переменной ну прямо никак?

  Ответить  
 
 автор: Красная_шляпа   (12.10.2010 в 20:57)   письмо автору
 
   для: sim5   (12.10.2010 в 20:40)
 

нет с чего начали к тому и пришли

  Ответить  
 
 автор: uvajs   (12.10.2010 в 21:19)   письмо автору
 
   для: Красная_шляпа   (12.10.2010 в 20:57)
 

Друзья, Вы просто не понимаете суть моей проблемы. шас попытаюсь объяснить.

на данный момент у меня на сайте реализован скрипт http://www.simplecoding.org/kak-sozdat-oblako-tegov-dlya-svoego-sajta.html

и работает, тэги выводятся нормально. теперь я хотел сделать из этого флеш облако используя этот скрипт http://w-blog.ru/node/22 .

в скрипте как Вы наверное уже видели ссылки нужно прописать вручную, т.е. таким образом
$tags = '<tags>
<a href="http://Wincert.ru" style="font-size: 15pt">Wincert</a>
<a href="http://W-blog.ru" style="font-size: 15pt">Мой блог</a>
<a href="http://cssor.ru" style="font-size: 15pt">Крутой сайт о CSS</a>
<a href="http://Wincert.ru" style="font-size: 15pt">Веб разработчик</a>
<a href="http:// W-blog.ru" style="font-size: 15pt">Интересное</a>
</tags>';


так как у меня этот скрипт http://www.simplecoding.org/kak-sozdat-oblako-tegov-dlya-svoego-sajta.html работает, хотел занести результат вместо этих ссылок, т.е. вот так
<?php   

    
      
  
if ($tagcloud === FALSE) {  
    echo 
"Данные не найдены";  
}  
else {  
    
$min $tagcloud[0]['posts_count'];  
    
$max $tagcloud[0]['posts_count'];  
    for (
$i 1$i count($tagcloud); $i++) {  
        if (
$tagcloud[$i]['posts_count'] > $max) {  
            
$max $tagcloud[$i]['posts_count'];  
        }  
        if (
$tagcloud[$i]['posts_count'] < $min) {  
            
$min $tagcloud[$i]['posts_count'];  
        }  
    }  
    
$minSize 70;  
    
$maxSize 130;  


    
$переменная ""

    foreach (
$tagcloud as $item) {  
        if (
$min == $max) {  

            
$fontSize round(($maxSize $minSize) / $minSize);  
        }  
        else {  
          
        
$fontSize round((($item['posts_count'] - $min)/($max $min)) * ($maxSize $minSize) + $minSize);  
        }  
       
$tag_s.= '<a style="text-decoration:none; color:black; font-size:'.$fontSize.'%"" href="/lessons.php?tag='.$item['id'].'" title="записей: '.$item['posts_count'].'">'.$item['tag'].'</a> ';  
   




$tags "<tags>".$tag_s."</tags>";


?>

Для корректного отображения этого элемента вам необходимо установить FlashPlayer и включить в браузере Java Script.
<script type="text/javascript">
var rnumber = Math.floor(Math.random()*9999999);
var widget_so = new SWFObject("tagcloud.swf?r="+rnumber, "tagcloudflash", "170", "150", "9", "#ffffff");
widget_so.addParam("allowScriptAccess", "always");widget_so.addVariable("tcolor", "0x333333");
widget_so.addVariable("tspeed", "115");
widget_so.addVariable("distr", "true");
widget_so.addVariable("mode", "tags");
widget_so.addVariable("tagcloud", "<?php $tags=iconv("windows-1251","UTF-8"$tags);echo urlencode($tags); ?>");widget_so.write("tags");</script>

<?

}  
}  
?>


но ничего не выводится, хотя какая разница самопрописанные ссылки или тэги?

  Ответить  
 
 автор: sim5   (13.10.2010 в 07:07)   письмо автору
 
   для: uvajs   (12.10.2010 в 21:19)
 

Что содержат в себе ключи $tagcloud[N]['posts_count']?
Каким образом $переменная соотносится с $tag_s?
Почему обрамление тегами и результирующая переменная $tags, а также вывод JS с объектом Flash находятся в теле цикла?

  Ответить  
 
 автор: uvajs   (13.10.2010 в 12:32)   письмо автору
 
   для: sim5   (13.10.2010 в 07:07)
 

Спасибо всем! все заработало!

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования