Autorius Tema: Klausimas: Dinaminis puslapiavimas naudojant Mysql  (Skaityta 2522 kartus)

Neprisijungęs ganjabest

  • Dalyvis
  • **
  • Įrašai: 968
  • Karma: +41/-1
  • Povilas Stankevičius
    • Žiūrėti profilį
Klausimas: Dinaminis puslapiavimas naudojant Mysql
« Įrašytas: 2011-01-25 01:25:48 am »
Stai vel as su savo eilinem bedom  ;D Darau puslapiavima su tokia uzklausa

<?php
mysql_query
("SELECT * FROM msg WHERE id<$last_id ORDER BY id DESC LIMIT 12");
?>


Puslapyje atvaizduojama po 12 reikalingu elementu. Atvaizduojama nuo didziausio id tam kad naujausi butu virsuje (veliau bus pakeista pagal data). Atvaizduojama sito kodo pagalba

$.ajax({ type: "POST", url:"functions.php", data:"action=showf",

complete: function(data)
{
$('.centercenter').html(data.responseText);

}

});

Is sonu yra rodykles < > (ankstesni straipsniai , tolimesni straipsniai) . Zodziu man  reikia istraukti sekancias 12 reiksmiu ir t.t. Bet tam reikalinga paskutine id reiksme kad galeciau atsizvelgt i WHERE id<$last_id . Buvo mintis spausdinti prie kiekvieno elemento id reiksmes ir tada su jQuery selectoriais istraukti paskutine reiksme is sitos zonos(joje atvaizduojami elementai  istraukti is DB)

        <div class="centercenter">
       
        </div>
bet kada as turini atvaizduoju per jQuery tada man sita zona tokia ir lieka tuscia nors pati narsykle atspausdina ka reikia, todel selectoriai jau neveikia  :-\
Taigi cia buvo klausimas: Kaip man gauti ta paskutine id reiksme, kad galeciau toliau nuo jos paimti dar 12 reiksmiu ir t.t. ?
Labai laukiu jusu patarimu  8)
« Paskutinį kartą keitė: 2011-01-25 01:27:43 am sukūrė ganjabest »
Visi žmonės kaip žmonės - tik aš vienas kaip dievas!

Neprisijungęs Haris

  • Dalyvis
  • **
  • Įrašai: 833
  • Karma: +56/-0
    • Žiūrėti profilį
    • www.RubikoKubas.Lt

Neprisijungęs ganjabest

  • Dalyvis
  • **
  • Įrašai: 968
  • Karma: +41/-1
  • Povilas Stankevičius
    • Žiūrėti profilį
Re: Klausimas: Dinaminis puslapiavimas naudojant Mysql
« Atsakymas #2 Įrašytas: 2011-01-25 20:05:26 pm »
Hm ieskojau vakar visa foruma ir neradau. Matyt todel, kad tarp php ideta ::) Nu ziuresim ka cia pritaikius ka ne, bet minti nebloga davei . Gal jau pavyks pasigamint  :D
Visi žmonės kaip žmonės - tik aš vienas kaip dievas!

Neprisijungęs ganjabest

  • Dalyvis
  • **
  • Įrašai: 968
  • Karma: +41/-1
  • Povilas Stankevičius
    • Žiūrėti profilį
Re: Klausimas: Dinaminis puslapiavimas naudojant Mysql
« Atsakymas #3 Įrašytas: 2011-01-25 22:44:19 pm »
Nu vo kazka pagaminau bet noreciau, kad papeiktumet jei negerai ir panasiai  :D

html:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>

<link rel="stylesheet" type="text/css" href="template/temp1/style.css"/>
  <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  <script type="text/javascript" src="template/temp1/js.js"></script>
 

</head>


<body>



    <div class="center">
    <div id="centerleft"> <a href="#" id="back"> <img style="margin-top:330px;" src="template/temp1/images/Untitled-1_05.gif" title="Back" /></a></div>
        <div class="centercenter">
     
       
        </div>
        <div id="centerright"> <a href="#" id="more"><img style="margin-top:330px;" src="template/temp1/images/Untitled-1_05-07.gif" title="More" /></a></div>
    </div>



<input type="hidden" id="pageshow" />
<input type="hidden" id="last" />
</body>
</html>

hidden inputuose rasomos reiksmes pirmame vis updeitinama reiksme "nuo", o antrame kiek isviso irasu yra lenteleje.

Na sekanti koda cia viska pats nuo 0 parasiau tai gal bus nelabai suprantama.Jei taip bus pataisykit mane. Zinau, kad galima sutrumpint ir tai bus padaryta  :)

$(document).ready(function(){



/*Puslapiavimas*/


/*Uzkraunama kaip paleidziamas puslapis*/
$('.centercenter').load('functions.php?action=showf&first=0');


/*Patikrinama kiek isviso yra irasu . Patikrinus reiksme irasoma i hiddent input*/

$.ajax({
type:"POST",
url:"functions.php",
data:"action=shownum",
complete:function(data)
{
$('#last').attr('value',data.responseText);

}

});

/*I hidde input irasoma pradine reiksme 0*/
$('#pageshow').attr('value','0');
/*rodykles paspaudimas*/
$('.center a').click(function(){
var veiksmas = $(this).attr('id');

/*nuskaitomos hidde reiksmes*/
var f_limit = $('#pageshow').attr('value');
var last = $('#last').attr('value');


/*tikrinama kokia rodykle buvo paspausta*/
if(veiksmas == 'back')
{
/*apsauga kad nedarytu minusiniu reiksmiu*/
if(f_limit == 0)
{
f_limit = 0;
}
else
{
f_limit = parseInt(f_limit) - 12;
}

/*irasoma nauja reiksme i hidde input ir ivykdomas veiksmas*/
$('#pageshow').attr('value',f_limit);
$('.centercenter').load('functions.php?action=showf&view=back&first=' f_limit);

}
else if(veiksmas == 'more')
{
/*Jeigu daugiau irasu nera kartoja ta pati uzkrovima*/
if(parseInt(f_limit) 12 >=  parseInt(last) )
{
f_limit = f_limit;
}
else{
f_limit = parseInt(f_limit)   12;
}
$('#pageshow').attr('value',f_limit);
$('.centercenter').load('functions.php?action=showf&view=more&first=' f_limit);
}


});


});


na o cia functions.php failas . Zodziu tvarka bus kita karta ! Dabar biski padrikai  :D

<?php
include(&#39;config.php&#39;);
include(&#39;mysql.php&#39;);

$Db = new DB_sql;
$Db->connect($dbhost$dbdatabase$dbuser$dbpass);


function 
show_list($first)
{


$result mysql_query("SELECT * FROM list ORDER BY id ASC LIMIT $first, 12");
while($row mysql_fetch_array($result))
{
echo &#39;<div class="film" id="&#39;.$row[&#39;id&#39;].&#39;"><img id="shot" src="Images/&#39;.$row[&#39;picadress&#39;].&#39;" width="150px" height="200px" onclick="view_this();" />
            
<div class="filmfoot">
           
  <div class="filmpol"></div>
            
<div class="filmkoment"><a href="javascript:coment();">Komentarai (0)</a></div>
            </
div>
</div>&#39;;
}

}

function 
show_num_row()
{
$result mysql_query("SELECT * FROM list");
$numb mysql_num_rows($result);
echo $numb;

}



if(
$_GET[&#39;action&#39;] == &#39;showf&#39;)
{
show_list$_GET[&#39;first&#39;]);
}
elseif(
$_POST[&#39;action&#39;] == &#39;shownum&#39;)
{
show_num_row();
}
$Db->sql_close();
?>



Beje ateiciai noreciau suzinot kaip su tokiu variantu apsieiti be tu hidden inputu ? Nes man cia jie be rysiu atrodo

P.S. stilius pasidarykit patys jei jum reikia :P ;D

EDIT: zodziu dabar perziurejau dar kelis kartus tai pamaciau kad biski apsaugu truksta pagal teisybe. Bet cia bus naudojama po 12 irasu todel ant sito turetu nesimatyt bugu :D Zodziu cia pirmas blynas kuris sove i galva po Hario pavyzdzio ;D
« Paskutinį kartą keitė: 2011-01-26 00:29:49 am sukūrė ganjabest »
Visi žmonės kaip žmonės - tik aš vienas kaip dievas!

Manualai.lt Forumas

Re: Klausimas: Dinaminis puslapiavimas naudojant Mysql
« Atsakymas #3 Įrašytas: 2011-01-25 22:44:19 pm »