2016-07-08 2 views
-1

Я программирую игру для ставок на футбольные турниры/чашки. В этой игре пользователи смогут разместить свои ставки в форме до 5 минут до начала матча. По истечении этого времени поля должны быть отключены/выделены серым цветом, чтобы он все еще показывал введенное значение, но не редактировалось anyore.Отключить поля ввода на основе метки времени mysql timestamp

Как я могу отключить эти «поля ввода баллов» автоматически на основе time и date (сохраняется для каждой игры в таблице mysql)?

Если вам нужно больше узнать о коде или вам нужно узнать больше о таблицах mysql, задайте вопросы.

SQL Query & таблица

$records = mysqli_query($conn, " 
    SELECT 
     sp.spiel_id, 
     DATE_FORMAT(sp.datum, \"%d.%m.%Y\") AS datum, 
     DATE_FORMAT(sp.zeit, \"%H:%i\") AS zeit, 
     sp.heimteam_id, 
     sp.gastteam_id, 
     sp.tore_heimteam, 
     sp.tore_gastteam, 
     ht.teamname AS heimteam_name, 
     at.teamname AS gastteam_name, 
     t.match_id, 
     t.user_id, 
     t.tipp_heim, 
     t.tipp_gast, 
     t.punkte_tipp, 
     u.user_id, 
     u.username 
    FROM 
     spielplan sp 
    LEFT JOIN mannschaften ht 
     ON sp.heimteam_id = ht.mannschafts_id 
    LEFT JOIN mannschaften at 
     ON sp.gastteam_id = at.mannschafts_id 
    LEFT JOIN tipps t 
     ON sp.spiel_id = t.match_id 
    LEFT JOIN users u 
     ON t.user_id = u.user_id 
    WHERE 
     username = '".$_SESSION["username"]."' 
    ORDER BY 
     spiel_id ASC 
"); 
while($fields = mysqli_fetch_assoc($records)) { 
    ?> 
    <tr> 
     <input type="hidden" name="spiel_ids[]" value="<?php echo $fields["spiel_id"] ?>"> 
     <td><?php echo $fields["datum"] ?></td> 
     <td><?php echo $fields["zeit"] ?></td> 
     <td><?php echo $fields["heimteam_name"] ?></td> 
     <td><?php echo $fields["tore_heimteam"] ?></td> 
     <td>:</td> 
     <td><?php echo $fields["tore_gastteam"] ?></td> 
     <td><?php echo $fields["gastteam_name"] ?></td> 
     <input type="hidden" name="user_ids[]" value="<?php echo $fields["user_id"] ?>"> 
     <td><input type="tel" maxlength="2" size="5" name="tipps_heim[]" value="<?php echo $fields["tipp_heim"] ?>"></td> 
     <td><input type="tel" maxlength="2" size="5" name="tipps_gast[]" value="<?php echo $fields["tipp_gast"] ?>"></td> 
     <td><?php echo $fields["punkte_tipp"] ?></td> 
    </tr> 
<?php 
} 
?> 
+0

SQL, JS и PHP в одном файле ... человек –

+0

Ничего я не имею ни малейшего представления о том, как достичь этого. Моя единственная мысль - использовать javascript для добавления 'readonly' в поле ввода в« match-time »минус 5 минут. – mario

ответ

1

я бы не рекомендовал делать это, но вы можете попробовать это:

Например, это ваше поле, которое вы хотите отключить

<input name="spiel_ids[]" value="<?php echo $fields["spiel_id"] ?>"> 

Вы можете объявить переменную $ disabled на основании записи db:

<?php 
    $disabled = ""; 

    //you check if you date is in future, then you disable field 
    if (date('Y-m-d', strtotime($fields['datum'])) > date('Y-m-d')) { 

     $disabled = "disabled='disabled'"; 
    } ?> 

И поставить эту переменную в свой выходной строки:

<input <?php echo $disabled ?> name="spiel_ids[]" value="<?php echo $fields["spiel_id"] ?>"> 
+0

Почему бы вам не подумать об этом? Кажется вполне разумным для меня. – mario

+1

Первое, что приходит в голову, слишком легко обмануть. Одна строка кода позволяет снова вводить вход, поэтому вам все равно придется добавить код, чтобы проверить, разрешены ли ставки в скрипте обработки ставок. Вероятно, было бы безопаснее просто удалить вход и заменить его текстовым полем. – Shilly

+0

Я бы не рекомендовал использовать sql и php в одном файле. –

Смежные вопросы