Refresh divů v cyklu php – JavaScript, AJAX, jQuery – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Refresh divů v cyklu php – JavaScript, AJAX, jQuery – Fórum – Programujte.comRefresh divů v cyklu php – JavaScript, AJAX, jQuery – Fórum – Programujte.com

 

Toto vlákno bylo označeno za vyřešené.
Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
PGE0
Duch
30. 5. 2015   #1
-
0
-

Mám problém, refreshuji podle následujícího scriptu a stránka se mi duplikuje a to tak, že padá doprava dolů přes původní stránku. Co s tím ?
 

Index.php

<div class="wrapper">   
<?php


$countQ = mysql_query("SELECT COUNT(*) as max FROM clanky");

if(mysql_num_rows($countQ) > 0) { 
   $count = mysql_fetch_object($countQ);  
   $max = $count->max;                                 
}

define ("ON_PAGE", 6);

function right_int($arg) {
  $arg = (int) $arg;

  if (is_numeric($arg)) {
    return $arg;
  }
  // v případě, že $arg neprojde kontrolou, bude naše $page 1 => začátek
  return 1;
}

if(!isset($_GET["page"]))
  $page = 1;
else
  $page = right_int($_GET["page"]);
  

$by = (ON_PAGE * ($page - 1));

$articles = mysql_query("SELECT clanek FROM clanky ORDER BY clanek ASC LIMIT ".ON_PAGE." OFFSET " . $by);

if(mysql_num_rows($articles) > 0) {
  while($article = mysql_fetch_object($articles)){
  echo "<div id='refresh'>$article->clanek</div>";
 
 
  }
}

// NA ZAČÁTEK
// pokud nejsme na začátku, udělat odkaz na začátek...
if($page > 1) {
  echo "<a href='http://localhost/strankovani/index.php/?page=1'>&lt;&lt;</a>";
}

// PŘEDCHOZÍ
// pokud  nejsme na začátku, zobrazit odkaz na předchozí a cyklus na předchozí
if($page > 1) { 
  echo "<a href='http://localhost/strankovani/index.php/?page=".($page-1)."'>&lt;</a>";
                     
  // PŘEDCHOZÍ - CYKLUS
  // vypíše 3 předchozí stránky
  for($i = 4; $i > 0; $i--) {
    if(($page - $i) >= 1){
      echo "<a href='http://localhost/strankovani/index.php/?page=".($page-$i)."'>".($page-$i)."</a>";
    }
  }
}

echo "<a href='#' style='color:grey;'>$page</a>";

// DALŠÍ
// když nejsme na konci, tzn. je aktuální menší než maximální počet / na stránce.
// Např. pokud bude max 10 a na stránce bude po 2, tak pokud je aktuální ($page) menší než 5.
if($page < ($max / ON_PAGE)) {
  // DALŠÍ - CYKLUS
  // vypíše 3 následující stránky
  for($i = 1; $i < 4; $i++) { 
    if(($page + $i) <= ceil($max / ON_PAGE)) {
      echo "<a href='http://localhost/strankovani/index.php/?page=".($page+$i)."'>".($page+$i)."</a>";
    }
  }
                     
  // další
  echo "<a href='http://localhost/strankovani/index.php/?page=".($page+1)."'>&gt;</a>";
}

if(($page + $i) <= ceil($max / ON_PAGE))

if($page < ceil($max / ON_PAGE)) {
  echo "<a href='http://localhost/strankovani/index.php/?page=".ceil($max / ON_PAGE)."'>&gt;&gt;</a>";
}
?>



    

</div>   


refresh.js
 

var seconds = 1;

	var divid = "refresh";

	var url = "index.php";

	  

	////////////////////////////////

	//

	// Refreshing the DIV

	//

	////////////////////////////////

	 

	function refreshdiv(){

	  

	// The XMLHttpRequest object

	  

	var xmlHttp;

	try{

	xmlHttp=new XMLHttpRequest(); // Firefox, Opera 8.0+, Safari

	}

	catch (e){

	try{

	xmlHttp=new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer

	}

	catch (e){

	try{

	xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");

	}

	catch (e){

	alert("Your browser does not support AJAX.");

	return false;

	}

	}

	}

	  

	// Timestamp for preventing IE caching the GET request

	  

	fetch_unix_timestamp = function()

	{

	return parseInt(new Date().getTime().toString().substring(0, 10))

	}

	  

	var timestamp = fetch_unix_timestamp();

	var nocacheurl = url+"?t="+timestamp;

	  

	// The code...

	  
	xmlHttp.onreadystatechange=function(){

	if(xmlHttp.readyState==4){

	document.getElementById(divid).innerHTML=xmlHttp.responseText;

	setTimeout('refreshdiv()',seconds*1000);

	}

	}

	xmlHttp.open("GET",nocacheurl,true);

	xmlHttp.send(null);

	}

	  

	// Start the refreshing process

	  

	var seconds;

	window.onload = function startrefresh(){

	setTimeout('refreshdiv()',seconds*1000);

	}

CSS

 

#refresh{
width:181.333px;
margin-left: 5px;
margin-right: 5px; 
margin-top:5px;
margin-bottom:5px;
 height:100px; 
 float:left;
 background-color:white;
 color:black;
border:1px solid black;   
    
    
}
Nahlásit jako SPAM
IP: 78.45.74.–
Reklama
Reklama
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 25 hostů

Podobná vlákna

Refresh divu — založil já už ani nevím

PHP záznam v cyklu — založil Aricak

REFRESH V FF — založil leon

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý