Diskuze: JQUERY a PHP proměnná
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Správce kvízů
Zobrazeno 19 zpráv z 19.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Nebo se podívej <a href="https://api.jquery.com/jquery.get/">sem</a>, popisují tam GET pro JQuery.
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.
Ale tohle je něco úplně jiného. Tohle není jako $_GET v PHP. Tohle vysílá AJAXový požadavek.
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');
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?
v té funkci chybí komentář co dělá ten regex
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'><<</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)."'><</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)."'>></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)."'>>></a>";
}
?>
A potřebuji načíst do toho .load stránku refresh.php?page=<?php echo $_GET["page"];?>" Kdy $page je číslo od jedné výše....
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?
Tady je odkaz a regex je regulérní výraz.. The RegExp constructor creates a regular expression object for matching text with a pattern.
Taky jsem testoval jenom číslo.. refresh.php funguje, ale , když chci číslo.. nefunguje.
A co to znamená "nefunguje"? Nějaký error, cokoliv?
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"></div>
Otevři si konzoli (třeba v chrome ctrl+shift+j), píše to něco užitečnýho?
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í?
Zobrazí, ale neloaduje to a neni to v tom divu ve, kterém by to mělo být....
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.InjectedScript._evaluateOn (<anonymous>:895:140)
at Object.InjectedScript._evaluateAndWrap (<anonymous>:828:34)
at Object.InjectedScript.evaluate (<anonymous>:694:21)
Zobrazeno 19 zpráv z 19.