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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » MySql/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 72 73 74 75 76

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

Mavrikii

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

Цитата:
я получаю ошибку

если говорите об ошибке - приводите код и сообщение об ошибке.
 

Код:
if ($job_duration['hours'] > 0 || $job_duration['minutes'] > 0)
echo  ($job_duration['hours'] > 0 ? $job_duration['hours'] . " Hours " : "") . $job_duration['minutes'] . " Minutes ";

Всего записей: 15115 | Зарегистр. 20-09-2014 | Отправлено: 20:35 22-07-2019 | Исправлено: Mavrikii, 20:37 22-07-2019
zagorisback



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


Код:
<?php if ($job_duration > 0 && $job_duration > 0)
 echo ($job_duration > 0 ? $job_duration . " Hours " : "") . $job_duration . " Minutes ";?>

 
результат
 

Код:
Array Hours Array Minutes

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 20:57 22-07-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback
блин.. разницу между своим и моим кодом видите? или нужно напоминать, что такое массив??

Всего записей: 15115 | Зарегистр. 20-09-2014 | Отправлено: 21:04 22-07-2019
zagorisback



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





Нарушение п. 2.10. главы VIII Соглашения по использованию

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 21:14 22-07-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback
найдите различия между  

Код:
if ($job_duration['hours'] > 0 || $job_duration['minutes'] > 0)  
echo  ($job_duration['hours'] > 0 ? $job_duration['hours'] . " Hours " : "") . $job_duration['minutes'] . " Minutes ";

и

Код:
if ($job_duration > 0 && $job_duration > 0)  
 echo ($job_duration > 0 ? $job_duration . " Hours " : "") . $job_duration . " Minutes ";

Всего записей: 15115 | Зарегистр. 20-09-2014 | Отправлено: 21:17 22-07-2019
zagorisback



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


Код:
['minutes']

 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 21:21 22-07-2019
zagorisback



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

Код:
<?php  
 
// function to convert minutes into hours and minutes for a jobsheet.
function convertFromMinutes($job_duration)
{
    $hours = (int)($job_duration / 60);
    $minutes = $job_duration - ($hours * 60);
    return array('hours' => $hours, 'minutes' => $minutes);
}
 
$job_duration = $row['minutes'];
$job_duration = convertFromMinutes($job_duration);
 
if ($job_duration['hours'] > 0 || $job_duration['minutes'] > 0)  
//echo "Job duration = " . $job_duration['hours'] . " Hours "
  //  . $job_duration['minutes'] . " Minutes ";
    
?>    

 

Код:
<?php echo  ($job_duration['hours'] > 0 ? $job_duration['hours'] . " Hours " : "") . $job_duration['minutes'] . " Minutes "; ?>

 
спасибо Mavrikii

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 07:56 23-07-2019
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
этот код вычисляет разницу лет между полями
«Start»
и
сегодня (today)
У меня есть другое поле,
«End»
Я желаю этого, когда он скомпилирован
«Start»
и
«End»
счет остановлен
сегодня (today)
если вместо этого завершено только
«Start»
возобновить подсчет с
сегодня (today)
 
 
 

Код:
 
<?php
 
$start = $row['start'];
 
$dateOfStart = $start;
$today = date("Y-m-d");
$diff = abs($dateOfStart - $today);
 
$a=explode(' ',$diff);
if($a[0]>1){
    $y=$a[0]."  Years  ";
}else{$y=$diff."  Year";}
 
 
echo   '<font color="blue">'. $y . '&nbsp' . In . '&nbsp' . The . '&nbsp' . Business . '</font>';
 
?>  
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 00:48 13-09-2019 | Исправлено: zagorisback, 00:52 13-09-2019
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback
чего чего? что значит "счет остановлен" и "счет возобновлен"?
не знаем русский - напишите на английском, но только чтобы было внятно описано.

Всего записей: 15115 | Зарегистр. 20-09-2014 | Отправлено: 00:52 13-09-2019 | Исправлено: Mavrikii, 00:53 13-09-2019
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
this code calculates the past years of an actor,
from debut to the end
example:
start: 2010
end: 2015
5 years in the cinema
 
or
start: 2010
today 2019
9 years in the cinema
 

problem for the code fix

this code calculates the difference of years between fields
"Start"
and
today
I have another field
"End"
I wish it when it is compiled
"Start"
and
"End"
account stopped today
if instead only completed
"Start"
resume counting with today

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 01:00 13-09-2019 | Исправлено: zagorisback, 01:03 13-09-2019
Mavrikii

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

Код:
$start = $row['start'];
$end = !empty($row['end']) ? $row['end'] : date('Y');
$diff = $end - $start;
echo $diff . ' year' . ($diff > 1 ? 's' : '');

Всего записей: 15115 | Зарегистр. 20-09-2014 | Отправлено: 02:09 13-09-2019
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
спасибо Mavrikii
 
это прекрасно работает
 
Добавлено:
 
есть другой код для исправления
хорошо работает, если вы заполните поле "день рождения"
но если поле пусто, оно генерирует ошибку
 
there is another code to fix
works well if you fill in the "birthday" field
but if the field is empty it generates error
 
это код
 

Код:
 
<?php
$birthday = $row['birthday'];
 
// get date of birthday this calendar year // count day remaing for birthday
$parts = explode('-', $birthday, 2);
$birth_date = new DateTime(date('Y') . '-' . $parts[1] .' 00:00:00');
$today = new DateTime('midnight today');
 
if ($birth_date < $today) {
    // next birthday is in one year
    $birth_date->modify("+1 Year");  
}
 
// get number of days days remaining
$diff = $birth_date->diff($today);
 
if ($diff->days > 0) {
    echo "There are " . $diff->days . " day remaining until your birthday.";
} else {
    echo '<font color="blue">' . "Happy birthday!" . '</font>';
}
 
?>
 

 
 
это сообщение об ошибке
 

Цитата:
Fatal error: Uncaught exception 'Exception' with message 'DateTime::__construct(): Failed to parse time string (2019- 00:00:00) at position 4 (-): Unexpected character' ....on line 239

 
line 239
 

Код:
 
$birth_date = new DateTime(date('Y') . '-' . $parts[1] .' 00:00:00');
 

 
поле birthday  ---> date

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 08:15 13-09-2019
Mavrikii

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

Цитата:
$row['birthday'];

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

Код:
$earlier = new DateTime("2019-07-06");
$later = new DateTime("2019-12-09");
 
$diff = $later->diff($earlier)->format("%a");

Всего записей: 15115 | Зарегистр. 20-09-2014 | Отправлено: 08:55 13-09-2019
zagorisback



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

поле  
 
birthday  ---> date  ----> 2019-09-13
 

Цитата:
если поле пусто, что просто не выполняем кусок кода - в чем проблема то?

 
как выполнить этот код, если поле дня рождения пустое?
 
было бы решением

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 09:40 13-09-2019
Mavrikii

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

Цитата:
как выполнить этот код, если поле дня рождения пустое?  

если оно пустое, то что тогда использовать в качестве значения? до чего считать дни тогда?

Всего записей: 15115 | Зарегистр. 20-09-2014 | Отправлено: 09:44 13-09-2019
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
if it is empty birthday then you can hide the code, how to do it?
 
если это пустой день рождения, то вы можете скрыть код, как это сделать?
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 10:52 13-09-2019
Mavrikii

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

Цитата:
if it is empty birthday then you can hide the code, how to do it?

выше же бы пример
if (!empty($row['birthday'])) {
// выполняем нужный код
} else {
// иначе делаем что то еще
}
вместо empty можно использовать trim($row['birthday']) == '' и так далее - зависит от возможных значений столбца.

Всего записей: 15115 | Зарегистр. 20-09-2014 | Отправлено: 19:33 13-09-2019
zagorisback



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

Код:
 
<?php  
    $birthday = isset($row['birthday']) ? $row['birthday'] : NULL;
    if($birthday !== NULL){
        $parts = explode('-', $birthday, 2);
        $birth_date = new DateTime(date('Y') . '-' . $parts[1] .' 00:00:00');
        $today = new DateTime('midnight today');
        if ($birth_date < $today) {
            $birth_date->modify("+1 Year");  
        }
        $diff = $birth_date->diff($today);
        if ($diff->days > 0) {
            echo "There are " . $diff->days . " day remaining until your birthday.";
        } else {
            echo '<font color="blue">' . "Happy birthday!" . '</font>';
        }
    }
?>  
 
 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 20:21 13-09-2019
Mavrikii

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

Цитата:
$birthday = isset($row['birthday']) ? $row['birthday'] : NULL;

в php 7.2 и выше можно записать как

Код:
$birthday = $row['birthday'] ?? null;

Всего записей: 15115 | Зарегистр. 20-09-2014 | Отправлено: 20:25 13-09-2019
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PHP 5.6
 
У меня был бы другой запрос, я хотел бы отобразить дни рождения текущей даты (если есть) или еженедельных (если не присутствует) актеров в моей базе данных на стартовой странице со следующими спецификациями:
визуализировать
имя
ета '
фото
ссылка на карту (id)
это поля
имя varchar (45)
фото варчар (100)
дата рождения
 
I would have another request, I would like to display the birthdays of the current date (if any) or weekly (if not present) of the actors in my database on the start page, with these specifications:
visualize
First name
age'
photo
link to the card (id)
 
these are the fields
 
nome varchar (45)
foto varchar (100)
birthday date
 
с этим я могу извлечь имена
with this I can extract the names
 

Код:
 
 <?php
     
    require_once("connetti.php");
     
// just returns the actor having a birthday
function birthday_today() {
    $result = mysql_query("SELECT `nome` FROM `actor` WHERE MONTH(birthday) = MONTH(NOW()) AND DAY(birthday) = DAY(NOW())");
    $actor = array();
    while ($row = mysql_fetch_assoc($result))
        $actor[] = $row['nome'];
    return $actor;
}
 
// make a unordered-list out of the actor having birthday
$ul = "<ul>";
foreach(birthday_today() as $nome)
    $ul .= "<li>$nome</li>";
$ul .= "</ul>";
 
echo $ul;
?>  
 

 
 
Я должен интегрировать это для
возраст
фото
вкладка ссылки
 

Код:
 
<td class="text-center"><?php if($row['foto'] != ""): ?>
<img src="image_upload/actor/uploads/<?php echo $row['foto']; ?>" width="110px" height="130px" style="border:1px solid #333333;">
    <?php else: ?>
<img src="image_upload/actor/images/nophoto170.png" width="100px" height="130px" style="border:1px solid #333333;">
    <?php endif; ?></td>
 
 
 
 
<td class="text-left"><?php echo "<a href=\"cinema.php?id=" . $row['actor_id'] . "\">" . $row['nome'] . "</a>";?></td>
 
 

 

Код:
 
 
 <?php //  
 
$datanascita = $row['birthday'];
 
$dateOfBirth = $datanascita;
$today = date("Y-m-d");
$diff = date_diff(date_create($dateOfBirth), date_create($today));
 
?>  
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 22:44 13-09-2019 | Исправлено: zagorisback, 22:45 13-09-2019
Открыть новую тему     Написать ответ в эту тему

Страницы: 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 72 73 74 75 76

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


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru