Avatar
PGE
Člen
Avatar
PGE:

Jak lze vytáhnout číslo stránky do odkazu v Jquery ?

<script type="text/javascript">// <![CDATA[
    $(document).ready(function() {
    $.ajaxSetup({ cache: false }); // This part addresses an IE bug.  without it, IE will only load the first number and will never refresh
    setInterval(function() {
    $('#refresh2').load("refresh.php?page=<?php echo $_GET["page"];?>");
    }, 1000); // the "3000" here refers to the time to refresh the div.  it is in milliseconds.
    });
    // ]]></script>
 
Odpovědět 30.5.2015 18:02
Avatar
Odpovídá na PGE
Michal Šmahel (ceskyDJ):

Nebo se podívej sem, popisují tam GET pro JQuery.

Nahoru Odpovědět  -2 30.5.2015 19:02
Nejdůležitější je motivace, ovšem musí být doprovázena činy.
Avatar
PGE
Člen
Avatar
Odpovídá na Daniel Vítek
PGE:

Moc děkuji za reakci..jsem začátečník. Nevím jestli jsme se pochopili dobře.. na stránce refresh.php mám $page, která předává do url pomocí GET číslo...
A na stránce index.php mám ten script co jsem popsal výše....a potřebuji té funkci nebo metodě .load přiřadit tu proměnou s tím číslem.

 
Nahoru Odpovědět 30.5.2015 19:07
Avatar
Daniel Vítek
Tým ITnetwork
Avatar
Odpovídá na Michal Šmahel (ceskyDJ)
Daniel Vítek:

Ale tohle je něco úplně jiného. Tohle není jako $_GET v PHP. Tohle vysílá AJAXový požadavek.

 
Nahoru Odpovědět 30.5.2015 19:08
Avatar
PGE
Člen
Avatar
Odpovídá na Daniel Vítek
PGE:

Tak tahle funkce se mi líbila... , ale nevím jak jí dále použít....mohl bych otravovat a poprosit o polopatické vysvětlení...?

function getURLParameter(name) {
  return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20'))||null
}

myvar = getURLParameter('myvar');
 
Nahoru Odpovědět 30.5.2015 19:45
Avatar
Richard
Člen
Avatar
Odpovídá na PGE
Richard:

Myslím že tu nikdo neví co vlastně potřebuješ, rádi poradíme, ale musíme vědět co a jak.
Zkus to polopatě vysvětlit, jako prvňákovi :-).

V url máš proměnnou a tu chceš dosadit do toho JS kódu? V tom případě mi přijde že to co si posílal v prvním postup je správná cesta, nebo chceš dosáhnout něčeho jiného?

Nahoru Odpovědět  +1 30.5.2015 19:55
$action = $_GET['Life']; | Když dáš mínus, napiš proč!
Avatar
Odpovídá na PGE
Michal Žůrek (misaz):

v té funkci chybí komentář co dělá ten regex

Nahoru Odpovědět 30.5.2015 19:59
Nesnáším {}, proto se jim vyhýbám.
Avatar
PGE
Člen
Avatar
Odpovídá na Richard
PGE:

Mám stránku index.php

<script type="text/javascript">// <![CDATA[
    $(document).ready(function() {
    $.ajaxSetup({ cache: false }); // This part addresses an IE bug.  without it, IE will only load the first number and will never refresh
    setInterval(function() {
    $('#refresh2').load("refresh.php" + page);
    }, 1000); // the "3000" here refers to the time to refresh the div.  it is in milliseconds.
    });
    // ]]></script>
</head>
<body>

<?php

?>
 <div class="wrapper">

<div id="refresh2"></div>




</div>

</body>
</html>

A loaduju přes Jquery z refresh.php

<?php
mysql_connect("localhost","root","") or die("Nelze se připojit k sql serveru");
mysql_select_db("clanky") or die("Nelze vybrat databázi");
mysql_set_charset("utf8");

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

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



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;
}

define ("ON_PAGE", 6);

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/refresh.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/refresh.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/refresh.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/refresh.php/?page=".($page+$i)."'>".($page+$i)."</a>";
    }
  }

  // další
  echo "<a href='http://localhost/strankovani/refresh.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/refresh.php/?page=".ceil($max / ON_PAGE)."'>&gt;&gt;</a>";
}
?>

A potřebuji načíst do toho .load stránku refresh.php?pa­ge=<?php echo $_GET["page"];?>" Kdy $page je číslo od jedné výše....

 
Nahoru Odpovědět 30.5.2015 20:01
Avatar
Richard
Člen
Avatar
Odpovídá na PGE
Richard:

Takže url je třeba index.php?page=1, tzn to má volat refresh.php?page=1 ? V tom případě nevím kde je problém, něco nefunguje?

Nahoru Odpovědět 30.5.2015 20:06
$action = $_GET['Life']; | Když dáš mínus, napiš proč!
Avatar
PGE
Člen
Avatar
Odpovídá na Michal Žůrek (misaz)
PGE:

Tady je odkaz a regex je regulérní výraz.. The RegExp constructor creates a regular expression object for matching text with a pattern.

http://stackoverflow.com/…ipt/11582513#…

 
Nahoru Odpovědět 30.5.2015 20:08
Avatar
PGE
Člen
Avatar
Odpovídá na Richard
PGE:

Taky jsem testoval jenom číslo.. refresh.php funguje, ale , když chci číslo.. nefunguje.

 
Nahoru Odpovědět 30.5.2015 20:11
Avatar
Richard
Člen
Avatar
Odpovídá na PGE
Richard:

A co to znamená "nefunguje"? Nějaký error, cokoliv?

Nahoru Odpovědět 30.5.2015 20:13
$action = $_GET['Life']; | Když dáš mínus, napiš proč!
Avatar
PGE
Člen
Avatar
Odpovídá na Richard
PGE:

tzn. že zadám do adresy url... http://localhost/…refresh.php/?… a do souboru index.php .load("refresh­.php?page=1"); s lomítkem nebo bez..to je jedno... a stránka se nenačte do <div id="refresh2"></di­v>

 
Nahoru Odpovědět 30.5.2015 20:16
Avatar
Richard
Člen
Avatar
Odpovídá na PGE
Richard:

Otevři si konzoli (třeba v chrome ctrl+shift+j), píše to něco užitečnýho?

Nahoru Odpovědět 30.5.2015 20:19
$action = $_GET['Life']; | Když dáš mínus, napiš proč!
Avatar
PGE
Člen
Avatar
 
Nahoru Odpovědět 30.5.2015 20:29
Avatar
Richard
Člen
Avatar
Odpovídá na PGE
Richard:

A když si v prohlížeči načteš samotný refresh.php?page=1 tak ti to ukáže výsledek?
Když si otevřeš index a do tý konzole napíšeš $('#refresh2')­.load("refresh­.php?page=1"); tak se to zobrazí?

Nahoru Odpovědět 30.5.2015 20:31
$action = $_GET['Life']; | Když dáš mínus, napiš proč!
Avatar
PGE
Člen
Avatar
Odpovídá na Richard
PGE:

Zobrazí, ale neloaduje to a neni to v tom divu ve, kterém by to mělo být....

 
Nahoru Odpovědět 30.5.2015 20:32
Avatar
PGE
Člen
Avatar
Odpovídá na Richard
PGE:

Teda do konzole ne... z url jo...v consoli tam mi to vyhodilo tohle...

$('#refresh2')­.load("refresh­.php?page=1");
VM158:2 Uncaught SyntaxError: Unexpected token ILLEGAL
at Object.Injected­Script._evalu­ateOn (<anonymous>:895:140)
at Object.Injected­Script._evalu­ateAndWrap (<anonymous>:828:34)
at Object.Injected­Script.evalua­te (<anonymous>:694:21)

 
Nahoru Odpovědět 30.5.2015 20:35
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 19 zpráv z 19.