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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: как изменить формат переменной

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Prizma
Отправлено: 20 Июня, 2012 - 13:34:54
Post Id



Посетитель


Покинул форум
Сообщений всего: 463
Дата рег-ции: Июнь 2012  
Откуда: Санкт-Петербург


Помог: 5 раз(а)




$sql = 'SELECT COUNT(id) as alll FROM fir_news;';
$result = mysql_query($sql) or die('ERROR');
$row['alll'] = mysql_fetch_assoc($result);
$max = $row['alll'];
if($max%$amount==0){$pagemax = $max/$amount;}else{$pagemax = $max/5+$max%$amount;}


в последней строке возникает ошибка(Fatal error: Unsupported operand types in), как понимаю форматы чисел разные... ошибку вызывает переменная $max полученная из базы данных командой $sql (кол-во записей в таблице fir_news)

Вопрос: Как из $row['alll'] = mysql_fetch_assoc($result); сделать числовую переменную int(integer)?

заранее спасибо
 
My status
 Top
Данил_123
Отправлено: 20 Июня, 2012 - 13:37:59
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


Помог: 9 раз(а)




присвоение типа: ([type])$var. т.е (int)$row['alll'].. Бывают уймы проблем при присвоение (int)"string" вернет вам неведомое

(Отредактировано автором: 20 Июня, 2012 - 13:40:45)



-----
http://mysitecost.ru
 
 Top
avtor.fox
Отправлено: 20 Июня, 2012 - 13:38:04
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)






Хоть проверяйте что делаете.
 
 Top
caballero
Отправлено: 20 Июня, 2012 - 13:40:21
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)






руки надо выпрямлять а не формат


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
avtor.fox
Отправлено: 20 Июня, 2012 - 13:40:42
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




$max = это массив.
Я не понимаю правда зачем нужно было определять $row['alll']. Бессмысленно и беспощадно.

/////
Данил_123, внимательности Вам.

(Отредактировано автором: 20 Июня, 2012 - 13:41:41)

 
 Top
Мелкий Супермодератор
Отправлено: 20 Июня, 2012 - 13:42:46
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Кусок рабочий. Если запрос вернёт false или true (0 строк) - ошибка всё равно будет другая.
Проверяйте, что у вас в $amount. Там не число и не числовая строка.


-----
PostgreSQL DBA
 
 Top
Данил_123
Отправлено: 20 Июня, 2012 - 13:44:19
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


Помог: 9 раз(а)




PHP:
скопировать код в буфер обмена
  1. $sql = mysql_query('SELECT COUNT(id) FROM fir_news');
  2. $row[0] = mysql_fetch_row($sql);
лучше сделай так.

(Отредактировано автором: 20 Июня, 2012 - 13:45:02)



-----
http://mysitecost.ru
 
 Top
Мелкий Супермодератор
Отправлено: 20 Июня, 2012 - 13:46:55
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Данил_123, и что это получится? Чем будет отличаться от имеющегося?

Мелкий пишет:
Кусок рабочий.

Кроме того, что я автоматом исправил ошибку в третьей строке Радость Пойду погуляю, проветрюсь.


-----
PostgreSQL DBA
 
 Top
Данил_123
Отправлено: 20 Июня, 2012 - 13:48:36
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


Помог: 9 раз(а)




Мелкий если не ошибаюсь, то $row[0] будет нести в себе количество..


-----
http://mysitecost.ru
 
 Top
Prizma
Отправлено: 20 Июня, 2012 - 13:50:02
Post Id



Посетитель


Покинул форум
Сообщений всего: 463
Дата рег-ции: Июнь 2012  
Откуда: Санкт-Петербург


Помог: 5 раз(а)




Мелкий пишет:
Кусок рабочий. Если запрос вернёт false - ошибка будет другая.
Проверяйте, что у вас в $amount. Там не число и не числовая строка.
там число присваиваемое вот этим кодом
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. if((isset($_GET['amount']))AND($_GET['amount']%1==0)){$amount = $_GET['amount'];setcookie(amount, $amount, time()+60*60*24*12);}
  3. elseif(isset($_COOKIE['amount'])){$amount = $_COOKIE['amount'];}
  4. else{$amount = 5;}
  5.  

тоесть в данном случае оно равно 5, запрос не может быть false там число определяющее кол-во тем

avtor.fox пишет:
$max = это массив.
Я не понимаю правда зачем нужно было определять $row['alll']. Бессмысленно и беспощадно.

как массив? я взял значение из массива $raw['alll'] почему значение должно быть массивом?откуда там многомерному массиву взяться

caballero пишет:
руки надо выпрямлять а не формат
конкретней что не так ошибка в лаине с кодом который я показал, там ошибки нету

Данил_123 пишет:
присвоение типа: ([type])$var. т.е (int)$row['alll'].. Бывают уймы проблем при присвоение (int)"string" вернет вам неведомое
спасибо будем дальше эксперементировать

ЗЫ: $row['alll'] = 20! не какой ошибки нету
 
My status
 Top
Мелкий Супермодератор
Отправлено: 20 Июня, 2012 - 13:51:01
Post Id



Активный участник


Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009  
Откуда: Россия, Санкт-Петербург


Помог: 618 раз(а)




Данил_123, ошибаетесь, получите двумерный массив. $row = mysql_fetch_row($sql)[0]; //PHP5.4 и выше


-----
PostgreSQL DBA
 
 Top
Prizma
Отправлено: 20 Июня, 2012 - 13:52:07
Post Id



Посетитель


Покинул форум
Сообщений всего: 463
Дата рег-ции: Июнь 2012  
Откуда: Санкт-Петербург


Помог: 5 раз(а)




всё понял свою ошибку
только счас заметил что массив в массив впихнул гг

спасибо
 
My status
 Top
Данил_123
Отправлено: 20 Июня, 2012 - 13:52:56
Post Id


Участник


Покинул форум
Сообщений всего: 1026
Дата рег-ции: Июнь 2011  
Откуда: rostov


Помог: 9 раз(а)





php 5.3 Улыбка
буду знать..


-----
http://mysitecost.ru
 
 Top
Prizma
Отправлено: 20 Июня, 2012 - 13:55:02
Post Id



Посетитель


Покинул форум
Сообщений всего: 463
Дата рег-ции: Июнь 2012  
Откуда: Санкт-Петербург


Помог: 5 раз(а)




ЗЫ: стёр массив
и тут же всё загрузилось как надо Улыбка

(Отредактировано автором: 20 Июня, 2012 - 13:56:12)

 
My status
 Top
avtor.fox
Отправлено: 20 Июня, 2012 - 13:57:17
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2083
Дата рег-ции: Март 2012  
Откуда: Воронеж


Помог: 50 раз(а)




Ну вы все и блины Ха-ха
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB