Онлайновые статьи времени - PHP и язык сценариев JavaScript

Я работаю в простом crm, у которого есть задания и статьи. apoco я делал линии времени. Но сейчас они просят у меня, что каждая работа уважала линию времени. Пример: у задания есть продолжительность службы 15 дней и в этих днях пользователь может добавлять такие статьи как 3 дня для рисунка, 4 для разработки, 6 для редакции и 2 для revicion. До сих пор я имею все по отношению к половине точки, мне не хватает оживления:

Это - то, что у меня есть:

Блок 1 - Список дней

Titulo:
format('d');?> modify('+ 1 days'); } ?>

В этом блоке видны дни задания горизонтальной формы, примера: 10 11 12 13 14 15 16... до тех пор, пока 10 дней не наступили к 24 - в полном звуке

Блок 2 - Список статей

query("SELECT * FROM items INNER JOIN usuario ON usuario.codde = items.subusuarios WHERE tareacode = '".$row['tareacodde']."'"); while ($filas = $it->fetch()){ $fecha3 = new DateTime($filas['fii']); $fecha4 = new DateTime($filas['fif']); $resultados = $fecha3->diff($fecha4); ?>



В этом блоке, который под линией времени horizaontal, заносятся в список статьи. То, что он был бы должен перемещать здесь, состоит в том, чтобы каждая статья уважала Ваше время. Статья начинается 14-ого числа и заканчивается 18-ого числа и у него должен бы быть linae цвета, который показывал бы дни статьи.

Пользователю должно казаться это так:

introducir la descripción de la imagen aquí

Блоки находятся в том же файле.

Я думаю, что возможно делать с языком сценариев JavaScript, но не, как делание этого.

3
задан 18.03.2019, 04:57
2 ответа

Я старайся делать их самими и я это нашел: Timestack . Работай прямо с Jquery и в любом случае ты был бы должен вводить код php.

ты Можешь использовать Timestack с php следующего способа.

Внутри Файла .php ты можешь использовать ajax, чтобы называть один JSON.

<script>
$(function(){
    $.ajax({
        type: 'POST',
        dataType: 'json', url: 'datos.php', cache: false, async: true,
        success: function(data){
            //console.log( data );
            $('#daily').timestack({
                span: 'day',
                data: data
            });
        }
    });
});
</script>

В datos.php считал бы что-то этим:

foreach($it as $fila){

$data[] = array(
    'title' => utf8_encode($fila['titulo']), 
    'start' =>  strftime('%Y-%m-%d',strtotime(trim($fila['datoFechaInicio']))), 
    'end'   => strftime('%Y-%m-%d',strtotime(trim($fila['datoFechaFinal'])))
    );
}

echo json_encode($data);

Это - это, чтобы заменять пример tiene Timestack и так мочь использовать PHP

5
ответ дан 02.12.2019, 05:31

Я предлагаю тебе работать с процентным содержанием и края

  1. Вычислять количество dГ-эксперта эквивалентный 100 % твоей линии времени
  2. Из-за каждой статьи, вычислять процентное содержание времени с "dГ - в 1" до начала, это левый край
  3. Вычислять процентное содержание dГ-эксперта статьи, это width твоего бруска
  4. , Вычислять процентное содержание dГ-эксперта, с Гєltimo dГ - в статьи, до конца твоей линии времени

Пример fГЎcil с 10 dГ-экспертами и 3 статьями

$total_dias = 10; // date_diff final - inicial

// por cada item
$margen_izquierdo = ($dia_inicial - 1) * 100 / $total_dias;
$ancho = $dias_item * 100 / $total_dias; 
$margen_derecho = ($total_dias - $dia_final) * 100 / $total_dias;

/* Descripción:

     | 1| 2| 3| 4| 5| 6| 7| 8| 9|10|
    1|##|##|##|##|  |  |  |  |  |  |
    2|  |  |##|##|##|##|##|  |  |  |
    3|  |  |  |  |  |  |##|##|##|##| 

Item 1: del día 1 al 4 (0% margen derecho |40% ancho |60% margen izquierdo)

    $margen_izquierdo = (1 - 1) * 100 / 10; // -> 0
    $ancho = 4 * 100 / 10; // -> 40
    $margen_derecho = (10 - 4) * 100 / 10; // -> 60

Item 2: del día 3 al 7 (20% 50% 30%)

    $margen_izquierdo = (3 - 1) * 100 / 10; // -> 20
    $ancho = 5 * 100 / 10; // -> 50
    $margen_derecho = (7 - 4) * 100 / 10; // -> 30

Item 2: del día 7 al 10 (60% 40% 0%)

    $margen_izquierdo = (7 - 1) * 100 / 10; // -> 60
    $ancho = 4 * 100 / 10; // -> 40
    $margen_derecho = (10 - 10) * 100 / 10; // -> 0

Потом с css в каждой статье

<div class="item" 
    style="
        margin-left: <?php echo $margen_izquerdo?>%;
        margin-right: <?php echo $margen_derecho?>%;
        width: <?php echo $ancho?>%;
    ">
    <img... // contenido del item
</div> // fin del item

DeberГ,, - которая должна функционировать, удаче!

1
ответ дан 02.12.2019, 05:31