Chciałem prosić o nakierowanie ponieważ robię skrypt aukcji podbijanych i chciałem zrobić z użyciem AJAXA dynamiczne wyświetlanie po podbiciu ceny:
- zwiększonej kwoty
- osoby która wygrywa i podbiła jako ostatnia
Skorzystałem z gotowego skryptu z cioci google i efekt jaki chciałem uzyskać - uzyskałem:
index.php
Kod
<script>
/* AJAX request to checker */
function check(){
$.ajax({
type: 'POST',
url: 'checker.php',
dataType: 'json'
}).done(function( response ) {
$('#message-list').html(response.news);
});
}
setInterval(check,4000);
</script>
checker.php
Kod
<?php
require('config/mysql.php');
$data['news'] .= $db->get_oczekujace();
echo json_encode($data);
require('config/mysql.php');
$data['news'] .= $db->get_oczekujace();
echo json_encode($data);
mysql.php
Kod
function get_oczekujace(){
$result = $this->db->query('SELECT *, (SELECT SUM(liczba_wejsc) FROM lots_user WHERE loteria=lots.id) AS wszystkie_wejscia,
(SELECT user FROM lots_user WHERE loteria=lots.id AND status=1) AS id_wygranego,
(SELECT user.login FROM user WHERE id=id_wygranego) AS login
FROM lots WHERE status=1 ORDER BY data_rozpoczecia');
$czas_do_rozpoczecia = array();
while($r = $result->fetch_array()){
$czas_do_rozpoczecia[] = strtotime($r["data_rozpoczecia"]);
$wejscie = $r["wejscie"];
$w_wejscia = $r["wszystkie_wejscia"];
if ($r["login"] == ''){
$r["login"] = "------";
}
$cena_przedmiotu = number_format($w_wejscia * $wejscie, 0, ',', '.');
if ($r["premium"] == 1){
$return .= '<div class="box premium_zapisany">';
}else{
$return .= '<div class="box zapisany">';
}
$return .= '<a href="aukcja-{$lots_nowe[i].id}.html"><p>'.$r["nazwa"]." (".$r["id"].')</p></a>';
$return .= '<a href="aukcja-{$lots_nowe[i].id}.html"><img width="160" height="160" style="border: 2px solid #ECECEC;" src="../images/nagrody/'.$r["zdjecie"].'" /></a>';
$return .= '<div class="col-lg-12">
<span class="czas_do_rozpoczecia"></span>
</div>';
if ($r["premium"] == 1){
$return .= '<div class="col-lg-12 box-pasek-premium">';
}else{
$return .= '<div class="col-lg-12 box-pasek">';
}
$return .= '<span style=" font-size:18px;">
<a href="aukcje">
<span class="glyphicon glyphicon-refresh"></span>
</a> Wejście: '.$r["wejscie"].'<img class="waluta-b" src="../images/mini-coin.png" />
</span>';
$return .= '</div>';
$return .= '<a class="btn btn-success" href="index.php?site=aukcje&przebij='.$r["id"].'">
Przebij!
</a>
<a class="btn btn-primary" href="#">
Kup teraz!
</a>';
$return .= "<p>".$cena_przedmiotu.'<img class="waluta-b" src="../images/mini-coin.png" /></p>';
if ($r["premium"] == 1){
$return .= '<div class="col-lg-12 box-pasek-premium">';
}else{
$return .= '<div class="col-lg-12 box-pasek">';
}
$return .= 'Wygrywa: <span class="glyphicon glyphicon-user"></span> '.$r["login"].'
</div> ';
$return .= '</div>';
}
///// po dodaniu pliku z licznikiem odliczającym czas nie działa dynamiczne odświeżanie treści! ////////
//include("scripts/lots_oczekujace.php"); // skrypt js
return $return;
}
$result = $this->db->query('SELECT *, (SELECT SUM(liczba_wejsc) FROM lots_user WHERE loteria=lots.id) AS wszystkie_wejscia,
(SELECT user FROM lots_user WHERE loteria=lots.id AND status=1) AS id_wygranego,
(SELECT user.login FROM user WHERE id=id_wygranego) AS login
FROM lots WHERE status=1 ORDER BY data_rozpoczecia');
$czas_do_rozpoczecia = array();
while($r = $result->fetch_array()){
$czas_do_rozpoczecia[] = strtotime($r["data_rozpoczecia"]);
$wejscie = $r["wejscie"];
$w_wejscia = $r["wszystkie_wejscia"];
if ($r["login"] == ''){
$r["login"] = "------";
}
$cena_przedmiotu = number_format($w_wejscia * $wejscie, 0, ',', '.');
if ($r["premium"] == 1){
$return .= '<div class="box premium_zapisany">';
}else{
$return .= '<div class="box zapisany">';
}
$return .= '<a href="aukcja-{$lots_nowe[i].id}.html"><p>'.$r["nazwa"]." (".$r["id"].')</p></a>';
$return .= '<a href="aukcja-{$lots_nowe[i].id}.html"><img width="160" height="160" style="border: 2px solid #ECECEC;" src="../images/nagrody/'.$r["zdjecie"].'" /></a>';
$return .= '<div class="col-lg-12">
<span class="czas_do_rozpoczecia"></span>
</div>';
if ($r["premium"] == 1){
$return .= '<div class="col-lg-12 box-pasek-premium">';
}else{
$return .= '<div class="col-lg-12 box-pasek">';
}
$return .= '<span style=" font-size:18px;">
<a href="aukcje">
<span class="glyphicon glyphicon-refresh"></span>
</a> Wejście: '.$r["wejscie"].'<img class="waluta-b" src="../images/mini-coin.png" />
</span>';
$return .= '</div>';
$return .= '<a class="btn btn-success" href="index.php?site=aukcje&przebij='.$r["id"].'">
Przebij!
</a>
<a class="btn btn-primary" href="#">
Kup teraz!
</a>';
$return .= "<p>".$cena_przedmiotu.'<img class="waluta-b" src="../images/mini-coin.png" /></p>';
if ($r["premium"] == 1){
$return .= '<div class="col-lg-12 box-pasek-premium">';
}else{
$return .= '<div class="col-lg-12 box-pasek">';
}
$return .= 'Wygrywa: <span class="glyphicon glyphicon-user"></span> '.$r["login"].'
</div> ';
$return .= '</div>';
}
///// po dodaniu pliku z licznikiem odliczającym czas nie działa dynamiczne odświeżanie treści! ////////
//include("scripts/lots_oczekujace.php"); // skrypt js
return $return;
}
Problem niestety pojawił się z wyświetlaniem licznika z odliczaniem czasu do zakończenia aukcji. Gdy dodam plik (w kodzie powyżej ujęty w komentarzu include("scripts/lots_oczekujace.php")

Podgląd skryptu Link
(podbijanie nie jest zrobione dynamicznie zatem należy sprawdzać na dwóch kartach bo jescze za to się nie brałem)