[ Nidza11 @ 07.12.2009. 14:28 ] @
Da li neko zna zašto mi ne funkcioniše paginacija? Naime, na jednoj strani su postavljeni thumbnailovi koji su, u zavisnosti od njihovog broja, raspoređeni na više stranica.
Ovo je deo koda koji treba da promeni stranu:

Code:
<?php 
    $pgt = ceil($totalcount/$items_per_page);  
for ($i = 1; $i <= $pgt; $i++){
    echo "<a ";
    if ($i == $pagination) echo " class='active' ";
    echo " onclick='showItem(". $i.")' href='javascript:void(0)' >";
    echo $i . "</a> ";

    
}
?>
<?php } ?>
[ dakipro @ 07.12.2009. 14:32 ] @
Jel ti ovo javascript paginacija?
Koliko vidim ovo je kod koji samo crta paginaciju, mislim da je bolje da prebacimo problem na JS forum, ali moras prvo da kazes preciznije sta je problem, tj kako se tacno manifestuje
[ Nidza11 @ 07.12.2009. 14:45 ] @
Uf, pa ne razumem se bas toliko :) Problem se manifestuje tako sto mi se generisu stranice (1,2,3) ali sam link na konkretnom broju ne funkcionise. Evo celog koda, uklonio sam parametre za pristup bazi da ne stoje ovde na forumu:
Code:
<?php
session_start();

if (isset($kategorija)) { $kategorije = $kategorija; }
else {
if (isset($_REQUEST['cat'])) $kategorije = $_REQUEST['cat'];
else $kategorije = "7,8,9,10";
}

// inkludujemo konfiguracioni fajl koji koristimo samo za bazu
// setup
$width = 70;    // setup za sirinu i visinu thumbnaila
$height = 70;
$rootpath = ""; // putanja, obavezno kosa crta iza
$items_per_page = 18;    // paginacija

?>
<?php
define('DB_NAME', '');
define('DB_USER', '');
define('DB_PASSWORD', '');
define('DB_HOST', '');

// pagination stuff
$page =1;
$pagination = 18;

if (isset($_REQUEST['pagination'])) {
                                    $page = $_REQUEST['pagination'];
                                    $pagination = $_REQUEST['pagination'];
                                    $_SESSION['pagination'] = $page;
                                    }

else { 
if (isset($_SESSION['pagination'])) 
                                    $page = $_SESSION['pagination'];
                                    $pagination = $_SESSION['pagination'];
}

$page--;

// konekcija i selekcija baze
$db = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) or trigger_error(mysql_error(),E_USER_ERROR); 
mysql_select_db(DB_NAME, $db);

// totalcount
$query_text = "
SELECT wp_posts.ID
FROM wp_posts, wp_terms, wp_term_relationships, wp_term_taxonomy
WHERE
wp_posts.ID = wp_term_relationships.object_id AND
wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id AND
wp_term_taxonomy.term_id = wp_terms.term_id  AND
wp_posts.post_content LIKE ('%img%') 
AND wp_posts.post_status = 'publish' 
AND wp_terms.term_id IN ($kategorije)
  " ;
// echo $query_text;
// exit();

// SELECT COUNT(wp_posts.ID) AS totals, wp_terms.term_id FROM wp_posts, wp_terms, wp_term_relationships, wp_term_taxonomy WHERE wp_posts.ID = wp_term_relationships.object_id AND wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id AND wp_term_taxonomy.term_id = wp_terms.term_id AND wp_posts.post_content LIKE ('%img%') AND wp_posts.post_status = 'publish' AND wp_terms.term_id IN (7,8,9) 

$results = mysql_query($query_text);
$totalcount = mysql_num_rows($results);
unset($query_text, $results, $row );

// echo "Debug: " . $totalcount . "<br>";
?>

<div id="pagination">
<?php if (ceil($totalcount/$items_per_page)>1) { ?>
<?php 
    $pgt = ceil($totalcount/$items_per_page);  
for ($i = 1; $i <= $pgt; $i++){
    echo "<a ";
    if ($i == $pagination) echo " class='active' ";
    echo " onclick='showItem(". $i.")' href='javascript:void(0)' >";
    echo $i . "</a> ";

    
}
?>
<?php } ?>
</div>


<div id="thumbnails">






<?php 
// upit
$query_text = "
SELECT wp_posts.post_content, wp_posts.post_title, wp_posts.ID, wp_terms.term_id, wp_terms.name 
FROM wp_posts, wp_terms, wp_term_relationships, wp_term_taxonomy
WHERE
wp_posts.ID = wp_term_relationships.object_id AND
wp_term_relationships.term_taxonomy_id = wp_term_taxonomy.term_taxonomy_id AND
wp_term_taxonomy.term_id = wp_terms.term_id  AND
wp_terms.term_id IN ($kategorije) AND
post_content LIKE ('%img%') AND post_status = 'publish' 
ORDER BY ID desc
LIMIT " . ($page * $items_per_page) . ", " .  $items_per_page . "
";

$results = mysql_query($query_text);
while ($row = mysql_fetch_assoc($results)){
        // preuzimamo vrednosti iz upita 
        $id     = $row['ID']; 
        $slika     = catch_that_image($row['post_content']);     // saznajemo koja je prva slika u postu
        $opis     = $row['post_title'];
        $slikarel = str_replace($rootpath, "", $slika);        // relativna adresa slike
//        if (file_exists($slikarel)) {                        // ako takav fajl postoji pokazujemo ga
        ?>

        <a href="?p=<?php echo $id; ?>">
        <img src="wp-content/themes/mr_theme/timthumb.php?src=<?php echo $slikarel; ?>&h=<?php echo $height; ?>&w=<?php echo $width; ?>&zc=1" title="<?php echo $row['name'] . ": " .  $opis; ?>" alt="<?php echo $row['name'] . ": " .  $opis; ?>"></a>  
        <?php
//        }
}

//----------------------------------- kraj

// funkcija koja izvlaci prvu sliku iz posta regex-om

function catch_that_image($post) {
  $first_img = '';
  ob_start();
  ob_end_clean();
  $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $post, $matches);
  $first_img = $matches [1] [0];
  if(empty($first_img)){ 
   return 0;
  }
  return $first_img;
}

?>
</div>

[ aleksandar.dragojlovic @ 07.12.2009. 14:57 ] @
Stavi ovako:

Code:

<?php

  $pgt = ceil($totalcount / $items_per_page);
  
  if ($pgt >= 1)
  {
    for ($i = 1; $i <= $pgt; $i++)
    {
      echo "<a" . ( ($i == $pagination) ? " class='active'" : "") . " onclick='showItem(". $i ."); return false;' href='#'>" . $i . "</a> ";
    }
  }

?>


a u javascript:

Code:

function showItem(page)
{
  alert(page);
}


da bi proverio da l uopste pozivas funkciju. Ako je pozivas i lepo prosledjujes parametar onda je do js-a.
[ Nidza11 @ 07.12.2009. 15:14 ] @
Proverio sam, ne poziva se funkcija.
[ aleksandar.dragojlovic @ 07.12.2009. 15:33 ] @
Pa pogledaj gde si ucitao funkciju (gde je definisana)... Istampaj jedan obican link: <a href="#" onclick="showItem(13); return false;">Test</a>, pokreni i klikni na Test, pa ako ne iskoci onda ti nije dobro definisana funkcija ili nije ucitana.
[ Nidza11 @ 07.12.2009. 15:40 ] @
Uf, nije učitana, ništa se ne dešava. Našao sam da je pozivana u dva fajla, jedan od njih je index i deo koda izgleda ovako:

Code:
<script language="javascript" type="text/javascript" src="ajax_commons.js"></script>
<script language="javascript" type="text/javascript">
function showItem(i){
    alert("!");
}
</script>


Inače fajl js se nalazi u rootu.