Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: global
Форумы портала PHP.SU » PHP » Программирование на PHP » global

Страниц (1): [1]
 

1. broshurkaplus - 26 Февраля, 2011 - 23:24:10 - перейти к сообщению
здравствуйте,
подскажите, весь код используется на одной странице
есть html в котором выводится инфа с пхп

global $r_sum_img;
while($r_tema=mysql_fetch_array($q_tema)) {
$r_sum_img=mysql_num_rows(mysql_query("SELECT * FROM o1 WHERE o1_tema='".$r_tema["id_tema"]."'"));
echo $r_sum_img; // сдесь её видно=6

потом html, потом опять пхп где требуется опять переменная $r_sum_img
echo $r_sum_img; // а сдесь её не видно =0

мне она нужна для отображения в стиле для контейнера картинок
$content_width=106*$r_sum_img
.content{width:<?php echo $content_width ?>px;height:106px;}

А ЕЁ НЕТ!!!
может я не так объявляю global? и может ли быть так нельзя для массива строк?
КАК ПАСТУПИТЬ ?
2. OrmaJever - 26 Февраля, 2011 - 23:28:29 - перейти к сообщению
в даном случае global не нужен. После закрытия тега ?> все переменые сохраняются до окончания работы скрипта. Возможно не верное название. А лутше выложите код всей страницы тогда можно будет точно сказать.
3. broshurkaplus - 26 Февраля, 2011 - 23:40:09 - перейти к сообщению
вот с сокращением

PHP:
скопировать код в буфер обмена
  1. //пока есть данные выводим ссылки
  2. global $r_sum_img;
  3. while($r_tema=mysql_fetch_array($q_tema)) {
  4. $r_sum_img=mysql_num_rows(mysql_query("SELECT * FROM oboi WHERE oboi_tema='".$r_tema["id_tema"]."'"));
  5. $tema_name_sum=$r_tema["name_tema"]." (".$r_sum_img.")";
  6. echo '
  7. <tr>
  8. <td align="center" BGCOLOR="#0066ff">
  9. <a class="c" href="?tema='.$r_tema["id_tema"].'" alt="'.$r_tema["name_tema"].'" align="center">'.$tema_name_sum.'</a><br/>
  10. </td>
  11. </tr>';
  12. //присваиваем переменной значение из выборки
  13. $tema=$r_tema["id_tema"];
  14. //если тема не нажата то ничего
  15. //если тема не нажата то ничего
  16. if(!$_GET['tema']==$tema){}//место для доп кода
  17. //а если нажата выводим
  18. else
  19. //если присвоенное равно нажатой теме, то считаем кол-во страниц
  20. {  if($tema == $_GET['tema'])
  21.     {echo $r_sum_img;
  22.     $item_per_page=3;
  23.     $vsego_page=$r_sum_img/$item_per_page;
  24.         if($vsego_page-intval($vsego_page)>0){$vsego_page=intval($vsego_page)+1;}
  25.     //выводим страницы
  26.     echo '<tr><td BGCOLOR="#ffffff">';
  27.     $page=1;
  28.     while ($page<=$vsego_page){
  29.     echo '<a class="b" href="?page='.$page.'&tema='.$_GET['tema'].'" alt="'.$r_po_teme["oboi_id"].'" align="center">'.$page.'</a>'."\n"; $page++;
  30.     }
  31.     echo '</td></tr>';}


далее ....
и
PHP:
скопировать код в буфер обмена
  1. if(!$_GET['page']){}
  2. //если есть присваиваем переменной гет страницы
  3. else{$page_num=$_GET['page'];
  4. echo $r_sum_img;
  5. $content_width=106*$r_sum_img+3; //всего картинок в теме
  6. ?>
  7. <style type="text/css">
  8. .leftArrow{float:left;background:url(../button/but-1.png) no-repeat center
  9. center;height:15px;width:15px;cursor:pointer;}
  10. .rightArrow{float:left;background:url(../button/but+1.png) no-repeat center
  11. center;height:15px;width:15px;cursor:pointer;}
  12. .container{width:546px;height:106px;border:2px solid #ccc;overflow:hidden;float:left;}
  13. .content{width:<?PHP echo $content_width ?>px;height:106px;}
  14. .content img{width:100px;height:100px; background:#EFEFEF;margin:0px;padding:3px;}
  15. </style>

и далее ...

пс код не до конца отработан, хочу чтобы в меню выбиралась тема, формировалось кол страниц, при клике на ссыл стр например 1 отображался контейнер с превьюшками картинок , листаем его вправо влево, при клике на превьюшу гетом отображаем картинку в таблице с параметрами время юзер и тд.. както вот так
(Добавление)
если в стр 5 явно задаю $content_width=1096 то страница отображает

.content{width:1096px;height:106px;}

??
4. JustUserR - 27 Февраля, 2011 - 15:21:35 - перейти к сообщению
broshurkaplus пишет:
Если в стр 5 явно задаю $content_width=1096 то страница отображает
Возможной причиной осуществления некорректного функционирования предполагаемого PHP-приложения, является проведие определения целевого информационного поля из rvalue-части выражения, в разделенной области видимости или уровне поточного трактования; для осуществления решения поставленной задачи допустимо проведение обращения к целевому переменному объектку на основании синтаксиса $_GLOBALS
5. broshurkaplus - 27 Февраля, 2011 - 21:05:38 - перейти к сообщению
решил вопрос
сделал
в этом блоке
$item_per_page=6
$content_width=106*$r_$item_per_page+3
далее, пока, дальнейшая реализация даного задания пошла успешно.

а с $_GLOBALS чтото не отображало,
вероятно, если я правильно панимаю:
<код запрос перем $a1>
html
<код $a1> здесь её не видно, тк первый блок кода закончился, скрипт закончил работу и все перем удалились. далее вновь скрипт и старых перем не видно(хотя при global вроде должны видетса) - ПРАВИЛЬНО ЛИ Я ПОНЯЛ?

 

Powered by ExBB FM 1.0 RC1