Как говорится в названии, можно ли обновить div без другой html или php-страницы внутри div?Возможно ли обновить DIV без другой страницы внутри DIV?
, например, это то, что можно сделать с помощью JavaScript:
$(document).ready(function() {
$('#mydiv').delay(10000).load('page.php');
});
Мой Div показывает/держит данные, вытягивается из базы данных MySQL и он не имеет page.php
внутри него.
Я искал это, и все результаты были похожи на те, которые я опубликовал выше!
это даже возможно, и если да, то как?
EDIT:
данные, которые в настоящее время отображается в DIV является $end_time
для элемента. $end_time
- это в основном datetime
, который хранится в базе данных mysql. $end_time
уже помечает (таймер обратного отсчета с использованием javascript). Существует кнопка, которая при каждом нажатии, 1 минута будет добавлена в $end_time
в mysql.
Но когда кнопка нажата, мне нужно обновить/перегрузить страницу, чтобы просмотреть изменения (в этом случае 1 минута добавляется к таймеру обратного отсчета).
Что мне нужно сделать, это перезагрузить DIV после нажатия этой кнопки, чтобы все пользователи могли видеть, что 1 минута была добавлена в таймер обратного отсчета БЕЗ перезагрузки или обновления страницы.
EDIT:
Вот мой полный код, это работает, как должно, и он будет извлекать данные из базы данных MySQL, как это должно так что у меня нет проблем с этой частью проекта:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
<?php date_default_timezone_set('Europe/London'); ?>
<?php
session_start();
// Run a select query to get my letest 6 items
// Connect to the MySQL database
include "config/connect.php";
$dynamicList = "";
$sql = "SELECT * FROM item ORDER BY id";
$query = mysqli_query($db_conx, $sql);
$productCount = mysqli_num_rows($query); // count the output amount
if ($productCount > 0) {
while($row = mysqli_fetch_array($query, MYSQLI_ASSOC)){
$id = $row["id"];
$product_name = $row["product_name"];
$date_added = date("Y-m-d", strtotime($row["date_added"]));
$end_date = date("F d Y H:i:s T", strtotime($row["end_date"]));
$price = $row["price"];
$dynamicList .= '<div>' . $end_date . '
</div>';
}
} else {
$dynamicList = "No Records";
}
?>
<?php
$date = $end_date;
$exp_date = strtotime($date);
$now = time();
if ($now < $exp_date) {
?>
<script>
// Count down milliseconds = server_end - server_now = client_end - client_now
var server_end = <?php echo $exp_date; ?> * 1000;
var server_now = <?php echo time(); ?> * 1000;
var client_now = new Date().getTime();
var end = server_end - server_now + client_now; // this is the real end time
var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour *24
var timer;
function showRemaining()
{
var now = new Date();
var distance = end - now;
if (distance < 0) {
clearInterval(timer);
document.getElementById('countdown').innerHTML = 'EXPIRED!';
return;
}
var days = Math.floor(distance/_day);
var hours = Math.floor((distance % _day)/_hour);
var minutes = Math.floor((distance % _hour)/_minute);
var seconds = Math.floor((distance % _minute)/_second);
var countdown = document.getElementById('countdown');
countdown.innerHTML = '';
if (days) {
countdown.innerHTML += 'Days: ' + days + '<br />';
}
countdown.innerHTML += 'Hours: ' + hours+ '<br />';
countdown.innerHTML += 'Minutes: ' + minutes+ '<br />';
countdown.innerHTML += 'Seconds: ' + seconds+ '<br />';
}
timer = setInterval(showRemaining, 1000);
</script>
<?php
} else {
echo "Times Up";
}
?>
<div id="result"><div id="countdown"></div></div>
<?php echo $end_date; ?> </br>
<?php echo $dynamicList; ?>
<script src="ajax_link.js" type="text/javascript"></script>
<div id="ajaxlink" onclick="loadurl('timeadder.php')">Click here</div>
<input type="submit" name="ajaxlink" id="ajaxlink" value="Submit" onclick="loadurl('timeadder.php')"/>
и Вот код страницы, которая добавит в 1 минуту в базу данных, и это owrks тьфу, как это должно также:
timeadder.php
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
<?php
session_start();
// Run a select query to get my letest 6 items
// Connect to the MySQL database
include "config/connect.php";
$sql = "UPDATE item SET end_date = DATE_ADD(end_date,INTERVAL 1 MINUTE) WHERE id = 1;";
$query = mysqli_query($db_conx, $sql);
?>
Все, что нужно сделать, чтобы обновить DIV countdown
, который содержит таймер.
Я надеюсь, что кто-то теперь может помочь.
Конечно, это * возможно * Вам потребуется новый код. и новый серверный скрипт для его обновления. – Blazemonger
Немного смущенный - вы имеете в виду как '$ ('# mydiv'). Text ('...');' или '$ ('# mydiv'). Html ('...');' или что-то еще ? – CompanyDroneFromSector7G
@ bukko, извините за замешательство. что я имею в виду, так это, у меня есть div, который покажет таймер обратного отсчета. таймер обратного отсчета вытаскивается из базы данных mysql. есть кнопка, которая, если нажать, добавит 1 минуту в поле базы данных mysql.Теперь мне нужно обновить DIV каждую секунду, если кто-то нажал кнопку, чтобы каждый мог видеть добавленную минуту до текущего времени. –