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

Форум PHP

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Вывод чисел в нужном виде

Сообщения:  [1-6] 

 
 автор: bones   (22.04.2006 в 21:38)   письмо автору
 
   для: Саня   (22.04.2006 в 21:11)
 

Вот это здорово :). Спасибо!

   
 
 автор: Саня   (22.04.2006 в 21:11)   письмо автору
 
   для: bones   (22.04.2006 в 20:59)
 

Хм, по-моему написать это в одну строку - гораздо читабельней и быстрее, чем писать циклы.
if(SHOW_ID)
$showid = "<td width=\"30\">".sprintf("%03d", $items['items_id'])."</td>";
print "<tr">". $showid . $name ."<td width= и т.д.

   
 
 автор: bones   (22.04.2006 в 20:59)   письмо автору
 
   для: aexb   (22.04.2006 в 18:51)
 

Вариант aexb кажется то что надо, проблема как это связать с уже имеющимся кодом. Он выглядит так:

if(SHOW_ID)
$showid = "<td width=\"30\">".$items['items_id']."</td>";
print "<tr">". $showid . $name ."<td width= и т.д.

Если отбросить HTML, создается $showid путем выборки номеров из items_id в таблице, а следующей строкой печатается вместе с $name.
Добавление нулей, как понимаю, надо делать сразу после выборки, чтобы $showid создавался трехзначным числом и именно это значение передавалось на print.

   
 
 автор: Саня   (22.04.2006 в 18:53)   письмо автору
 
   для: bones   (22.04.2006 в 18:37)
 

Для этого можно воспользоваться функцией sprintf() или printf():
<?php
$num1 
1;
$num2 10;
$num3 200;
echo 
sprintf("%03d"$num1); // выведет 001
echo "<br/>";
echo 
sprintf("%03d"$num2); // выведет 010
echo "<br/>";
echo 
sprintf("%03d"$num3); // выведет 200
?>

   
 
 автор: aexb   (22.04.2006 в 18:51)   письмо автору
 
   для: bones   (22.04.2006 в 18:37)
 

Первое, что пришло в голову. В примере просто берутся числа от 1 до 100 и к ним добавляются нули.

<?
for ($i=1$i<101$i++) {
  
$k=$i;
  if (
strlen($k)==1) {echo "00".$k."<br>";}
  elseif (
strlen($k)==2) {echo "0".$k."<br>";}
  else {echo 
$k."<br>";}
}
?>

Если Вы дадите структуру таблицы, можно подправить код непосредственно под нее.

   
 
 автор: bones   (22.04.2006 в 18:37)   письмо автору
 
 

Добрый день. На странице организован нумерованный список с выводом номеров. Номера берутся из базы, и там они имеют такой вид: 1,2,3...10...100. Максимальное число в списке трехзначное. Очень бы хотелось, чтобы при выборке проверялось количество цифр в числе, и если число однозначное, то печаталось бы не 1, а 001, если двузначное то 025 вместо 25, если трехзначное то соответственно печаталось бы как есть. Возможно ли такое сделать?

   

Сообщения:  [1-6] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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