Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

Открыть новую тему     Написать ответ в эту тему

ManderX



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
поставил PHP и APACHE.  
написал index.html:  
<html><body> <form action=test.php> Name: <input type=text name="name"><br>  
Year: <input type=text name="year"><br> <input type=submit value="ГОТОВО"> </form>  
</body></html>  
И test.php в том же каталоге:  
echo "$name i $year";  
выполняю, говорит, что переменыее undefined  
в чём трабла??? и ещё гдя взять extensions???




Цитата:
 
Внимание!
 
Эта тема будет закрыта, поэтому по конкретным вопросам по PHP
создаём новые темы, либо используем существующие (один вопрос — одна тема)

Кто-нибудь пытался что-то в этих сeмидесяти страницах найти?
 
В этой теме только отвечаем на оставшиеся без ответа вопросы...

 
 

Всего записей: 84 | Зарегистр. 11-06-2002 | Отправлено: 05:36 11-06-2002 | Исправлено: Svarga, 04:17 23-07-2003
Sergeant

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KVCH,
Почитай про функции is_int(); & is_numeric();
 
GenezZ,
Лучше было бы (имхо) составить некий местный FAQ на основе анализа данного топика..

Всего записей: 1553 | Зарегистр. 06-08-2001 | Отправлено: 12:03 11-05-2003
Excell



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery

Цитата:
Покажи, что делаешь и что выводится


Код:
<html>
<head><title>Form results /Using strings/</title></head>
<body>
<?php
$FirstName=trim($FirstName);
$LastName=trim($LastName);
 
$Name= "$FistName . " " . $LastName";
print ("Your name is $Name.<br>\n");
 
?>
</body>
</html>

 
выводится только $LastName

----------
Построю лабиринт, в котором смогу затеряться с тем, кто захочет меня найти... Кто это сказал и о чем?

Всего записей: 1554 | Зарегистр. 31-08-2002 | Отправлено: 12:50 11-05-2003
Sergeant

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Excell,
Так попробуй:

Код:
<html>  
<head><title>Form results /Using strings/</title></head>  
<body>  
<?php  
$Name=trim($FirstName)." ".trim($LastName);  
print("Your name is ".$Name.".<br>\n");  
?>  
</body>  
</html>

Всего записей: 1553 | Зарегистр. 06-08-2001 | Отправлено: 12:53 11-05-2003
Jagelski

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
$t_pay=@mysql_query("select SUM(money) as money from phpbb_stat_vklad where date=now()") or die(mysql_error());  
$t_pay=mysql_fetch_object($t_pay);  
$t_pay=$t_pay->money;  
 
Короче эта штука суммирует все выплаты проекта за день, и выводит в статистику.  
Но как можно ограничить выводимый параметр?  
 
Он выводится как  
20.500000042526$  
 
А я хочу чтобы он был  
20.50$  
   
как сделать? где то прописать?

Всего записей: 8 | Зарегистр. 10-05-2003 | Отправлено: 13:35 11-05-2003
sp1ke

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Jagelski
просто отрезать всё после двух знаков после запятой, но тогда если 20,4499999, останется 20,44 - что немного не по математике
 
можно конечно перед этим проверить 3й знак после запятой больше либо равен 5, тогда увеличить на на одну сотую, если нет, тогда не увеличивать.

Всего записей: 135 | Зарегистр. 12-11-2002 | Отправлено: 13:50 11-05-2003
Jagelski

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Немного не дошло. Мне всё равно будет округлять он или не будет, мне главное чтобы это выглядело 0.00$ а не 0.000000000000000000$
 
Но я не знаю как это сделать... Эта переменная сама создаётся и выводится... И я хотел бы её ограничить. но я не умею... я вообще плохо разбираюсь с пхп.

Всего записей: 8 | Зарегистр. 10-05-2003 | Отправлено: 14:01 11-05-2003
sp1ke

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
берёшь переменную свою:

Код:
 
$money = "20.4495";
$money_tmp = explode('.', $money);
$money_tmp_1 = $money_tmp[1];
$money_tmp_2 = $money_tmp_1[0].$money_tmp_1[1];
if ($money_tmp_1[2] >= '5') $money_tmp_2 = $money_tmp_2 + 1;
$money_tmp = $money_tmp[0].".".$money_tmp_2;
echo $money_tmp;
 

само собой это так сказать решение в лоб без поиска более удачного решения, но работает
 
а лучше всего пользоваться функцией
string sprintf ( string format [, mixed args])

Код:
 
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money will output "123.1";
$formatted = sprintf("%01.2f", $money);
// echo $formatted will output "123.10"
 

Всего записей: 135 | Зарегистр. 12-11-2002 | Отправлено: 14:35 11-05-2003
Jagelski

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо большое

Всего записей: 8 | Зарегистр. 10-05-2003 | Отправлено: 15:06 11-05-2003
Sergeant

Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А можно воспользоваться функциями округления. Например, так:

Код:
<?php
echo(round(20.500000042526, 2)."$");
?>

Всего записей: 1553 | Зарегистр. 06-08-2001 | Отправлено: 16:42 11-05-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Excell

Цитата:
$Name= "$FistName . " " . $LastName";  

Ну дык.. ты тут с кавычками намудрил.    Точка тут воспринимается не как связывающий элемент, а как элемент строки.
$Name= $FistName . " " . $LastName;
Вот правильно, а еще проще  $Name= "$FistName $LastName";
Только не перепутай кавычки, если одинарные, то значение не подставится.


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:48 11-05-2003
Brutus



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Я пишу небольшую голосовалку и не знаю, как сделать "эффект прогрессбара" (разноцветные полосочки отображают результаты голосования, как в TigVote), вернее я догадываюсь, но сделать это не получается. Помогите плз. Если не трудно, то дайте пример.

----------
http://coding.pp.ru - Все кодеры сюда!
http://forum.web-hack.ru/ - Forum Web-Hack
irc.dal.net.ru #coders

Всего записей: 641 | Зарегистр. 18-11-2002 | Отправлено: 03:14 12-05-2003 | Исправлено: Brutus, 03:16 12-05-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Brutus
Юзай фильтр
http://forum.ru-board.com/topic.cgi?forum=31&topic=2652#1

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 03:19 12-05-2003
KVCH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
посоветовал Sergeant функции is_int(); & is_numeric(); вот... is_numeric(); не подошла, т.к. число должно быть целым, значит is_int();...
 
пробую is_int(12) возвращает 1, is_int(1.2) - 0;
 
вот, делаю следущее:

Код:
  foreach ($_POST['c'] as $n => $v)
  {
    if (is_int($v) && $v > 0 && $v < 101) $basket[$n] = $v;
  }
 
и, не работает, т.к. я подозреваю что $v текст а не число. как быть ?

--------------
 
$v = 10;
 
как сделать чтоб $v было == 10.00 ?
 
пробывал $v= round ($v, 2); // выводит 10...
сделал так:

Код:
$v = 10;
 
$v = round ($v, 2); // может быть дробью
 
if (!ereg ('\.', $v)) $v .= '.00';
 

 
есть ли ещё варианты как упростить сей кодик ?

----------
FreeBSD лучше Linux !

Всего записей: 1741 | Зарегистр. 03-03-2002 | Отправлено: 06:44 12-05-2003 | Исправлено: KVCH, 06:50 12-05-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
KVCH

Цитата:
и, не работает, т.к. я подозреваю что $v текст а не число. как быть ?  

$v=intval($v);

Цитата:
 
$v = 10;  
 
как сделать чтоб $v было == 10.00 ?  

можно, но будет только текстовая переменная
$v=strval($v).".00";

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 06:54 12-05-2003
VolxV

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А со sprintf чего не?

Всего записей: 898 | Зарегистр. 01-06-2001 | Отправлено: 06:58 12-05-2003
KVCH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Cheery
 

Цитата:
$v=intval($v);  

 
так работает:
 
$v = intval ($v);
if (is_int ($v) && $v > 0 && $v < 101) $basket[RI ($n)] = $v;
 
а так нет:
 
if (is_int (intval ($v)) && $v > 0 && $v < 101) $basket[RI ($n)] = $v;
 
почему ?
 
VolxV

Цитата:
А со sprintf чего не?

 
верно, $v = sprintf('%01.2f', $v);
 
2f понял, а вот что 01 значит ? в мане про букивки ток нашёл...


----------
FreeBSD лучше Linux !

Всего записей: 1741 | Зарегистр. 03-03-2002 | Отправлено: 07:33 12-05-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
так работает:  
 
$v = intval ($v);  
if (is_int ($v) && $v > 0 && $v < 101) $basket[RI ($n)] = $v;  
 
а так нет:  
 
if (is_int (intval ($v)) && $v > 0 && $v < 101) $basket[RI ($n)] = $v;  
 
почему ?  

Ответ выделен.. Это же строка, а не цифры..

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 07:40 12-05-2003
ASteel



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
KVCH
Из мана:

Код:
 
$money1 = 68.75;  
$money2 = 54.35;  
$money = $money1 + $money2;  
// echo $money will output "123.1";  
$formatted = sprintf("%01.2f", $money);  
// echo $formatted will output "123.10"  
 


Всего записей: 310 | Зарегистр. 29-01-2002 | Отправлено: 10:48 12-05-2003
VolxV

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
sprintf("%01.2f", $money);  

Суть "01" мне тоже непонятна. Зачем давить лишние две кнопки, если можно перебиться в данном случае и без них?

Всего записей: 898 | Зарегистр. 01-06-2001 | Отправлено: 10:52 12-05-2003
Holland



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Народ!
 
Есть такой вопрос, вернее два в одном:
 
-можно ли совершать запись в массив, если массивом является внешний файл? Ну, допустим я его создал $array=file($somefile);, можно ли потом в него писать что-то в разные элементы массива? Т.е ,чтобы строка шла не подряд, а совершался перенос.
 
-из вышесказанного еще один вопрос - а можно ли переносить pointer в записываемом файле (ну ,к примеру создаваемом fwrite) на новую строку? Если да, то как?
 
 
Спасибо заранее!

Всего записей: 112 | Зарегистр. 15-08-2002 | Отправлено: 17:57 12-05-2003 | Исправлено: Holland, 17:59 12-05-2003
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru