Pereiti prie turinio

PHP Puslapiavimas


Rekomenduojami pranešimai

Sveiki, bandau pritaikyt puslapiavimą savo skriptui, bet jau nebežinau, ką tiksliai darau blogai... ;P

Būčiau labai dėkingas už pagalbą. ;)

 

<?php
include('config.php');
$db = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD); 
mysql_select_db(DB_DATABASE, $db);

$q = "SELECT * FROM users ORDER BY id LIMIT 0, 1";
$qr = mysql_query($q);

function get_racer()
{
<.....>
}

//PUSLAPIAVIMAS
$max_entries = "1";

$total = mysql_num_rows(mysql_query("SELECT * FROM users"));

if (!$page)
{ 
$page=1; 
}

$start=($max_entries * $page)-$max_entries;

if ($total <= $max_entries) 
{ 
$num_page=1; 
}
else if (($total % $max_entries)==0) 
{ 
$num_page=$total/$max_entries; 
}
else 
{ 
$num_page=$total/$max_entries + 1; 
}

echo "<p>|";

for ($i=1; $i<=$num_page; $i++) 
{

if ($i!=$page) 
{ 
echo "<a href=\"$PHP_SELF?page=$i\">
$i
</a>|"; 
}
else 
{ 
echo " $i |"; 
}
}
//PUSLAPIAVIMO PABAIGA


echo "<table width='400' style='border-style: solid;border-width: 1px;border-collapse: collapse;background-color: rgb(250, 240, 230);'>
<tr>
<th style='color: #1C1C1C;background-color: white;'>ID</th>
<th style='color: #1C1C1C;background-color: white;'>Nick'as</th>
<th style='color: #1C1C1C;background-color: white;'>Pinigai</th>
<th style='color: #1C1C1C;background-color: white;'>Licencijos</th>
</tr>";

while($mas=mysql_fetch_array($qr))
 {
 echo "<tr>"; 
 echo "<td style='color:#0B610B;border-top:1px solid #A4A4A4;'>" . $mas['id'] . "</td>";
 echo "<td style='color:#0B610B;border-top:1px solid #A4A4A4;font:bold 18px Verdana, Arial, Helvetica, sans-serif;'>" . get_racer($mas['username']) . "</td>";
 echo "<td style='color:#0B610B;border-top:1px solid #A4A4A4;'>" . $mas['cash'] . "</td>";
 echo "<td style='color:#0B610B;border-top:1px solid #A4A4A4;'>" . $mas['licence'] . "</td>";
 echo "</tr>";
 }
echo "</table>";
?>

 

Iš esmės, viską atvaizduoja normaliai, tiek puslapius ir rezultatą duodą per puslapį 1-ą, bet kai paspaudžiu ant antro psl. -- nieko neįvyksta... Šitoj vietoj ir pasimečiau :/

Redagavo v1per
Nuoroda į pranešimą
Dalintis kituose puslapiuose

$q = "SELECT * FROM users ORDER BY id LIMIT 0, 1";
$qr = mysql_query($q);

 

sita biski per anksti darai, net nezinodamas kokiam puslapyje esi

 

turetu atrodyti mazdaug taip ir buti po //PUSLAPIAVIMO PABAIGA

 

$q = 'SELECT * FROM users ORDER BY id LIMIT '.(($page - 1) * $max_entries).', '.$max_entries;
$qr = mysql_query($q);

Redagavo noen
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kažkas netaip... :D

"Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in zaidejai.php on line 137"

 

EDIT: OPLIA! ;) Viskas tvarkoj, va kap parašiau:

 

$q = "SELECT * FROM users ORDER BY id LIMIT $start, $max_entries";
$qr = mysql_query($q);

Redagavo v1per
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Na, dabar šiek tiek pakeičiau puslapių atvaizdavimą ir kilo papildomų bėdų (deja). Štai kodas:

 

<!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>
<script type="text/javascript" src="keiciasi.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Žaidėjai</title>
<link href="loginas.css" rel="stylesheet" type="text/css" />

<script type="text/javascript">
function goToUrl(selObj, goToLocation) 
{
eval("document.location.href = '" + goToLocation + "psl=" + selObj.options[selObj.selectedIndex].value + "'");
}

</script>

</head>
<body>
<p><center><h1>Žaidėjai</p></h1>
<HR style="border: 1px dashed #6E6E6E;" />
<br />
<span class="bruksnys"><a href="member-index.php">Pagrindinis</a> | <a href="nick-form.php">Nick Keitimas</a> | <a href="zaidejai.php">Žaidėjai</a> | <a href="forget-form.php">Keisti Slaptažodį</a> | <a style="color:red;" href="logout.php">Atsijungti</a></span>
<br /><br />



<?php 
include('config.php'); 
$db = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);  
mysql_select_db(DB_DATABASE, $db); 




//PUSLAPIAVIMAS 
$max_entries = 1; 

$total = mysql_num_rows(mysql_query("SELECT * FROM users")); 
$psl = $_GET['psl']; 
if (!$psl) 
{  
$psl=1;  
} 

$start=($max_entries * $psl)-$max_entries; 

if ($total <= $max_entries)  
{  
$num_page=1;  
} 
else if (($total % $max_entries)==0)  
{  
$num_page=$total/$max_entries;  
} 
else  
{  
$num_page=$total/$max_entries + 1;  
} 

//////////////////////iterpimas 

$q = "SELECT * FROM users ORDER BY id LIMIT $start, $max_entries"; 
$qr = mysql_query($q); 

echo "<table width='400' style='border-style: solid;border-width: 1px;border-collapse: collapse;background-color: rgb(250, 240, 230);'> 
<tr> 
<th style='color: #1C1C1C;background-color: white;'>ID</th> 
<th style='color: #1C1C1C;background-color: white;'>Nick'as</th> 
<th style='color: #1C1C1C;background-color: white;'>Pinigai(LTL)</th> 
<th style='color: #1C1C1C;background-color: white;'>Licencijos</th> 
<th style='color: #1C1C1C;background-color: white;'>Numeriai</th> 
</tr>"; 

while($mas=mysql_fetch_array($qr)) 
 { 
 echo "<tr>";  
 echo "<td style='color:#0B610B;border-top:1px solid #A4A4A4;'>" . $mas['id'] . "</td>"; 
 echo "<td style='color:#0B610B;border-top:1px solid #A4A4A4;font:bold 18px Verdana, Arial, Helvetica, sans-serif;'>" . get_racer($mas['username']) . "</td>"; 
 echo "<td style='color:#0B610B;border-top:1px solid #A4A4A4;'>" . $mas['cash'] . "</td>"; 
 echo "<td style='color:#0B610B;border-top:1px solid #A4A4A4;'>" . $mas['licence'] . "</td>"; 
 echo "<td style='color:#0B610B;border-top:1px solid #A4A4A4;'>" . $mas['plate'] . "</td>"; 
 echo "</tr>"; 
 } 
echo "</table>"; 

////////////////////iterpimas 



echo "Puslapis: <FORM method=\"GET\" NAME=\"myforma\">"; 
echo "<SELECT onchange=\"goToUrl(this,'zaidejai.php?')\" NAME=\"zaid\">"; 
for ($i=1; $i<=$num_page; $i++) 
{ 

echo "<OPTION VALUE=\"".$i."\">" . $i . "</OPTION>"; 
} 
echo "</SELECT></FORM>"; 

//PUSLAPIAVIMO PABAIGA 
?> 
</span>
</body>
</html>

 

Dabar tik problema ta, kai paspaudžiu ant kito puslapio (2) mane į jį nuveda, viskas ok, tik jau select box'e vėl pasilieka puslapis "1" kaip pasirinktas, nors aš esu 2-ame ir jei spaudžiu ant to vieneto -- vistiek pasilieku antrame.

Tikuosi supratot ką norėjau pasakyt, lauksiu pagalbos :D

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pagal idėją tai HTML'as nežino, koks puslapis yra parinktas, nes php tik sugeneruoja puslapiavimą, bet nenurodo selected opcijos, todėl rodo "1" kaip defaultinį.

 

Tame cikle, kur generuojamas selectbox'as puslapiams, kažkur turėtų būti įterpta if sąlyga, tikrinanti, ar $i lygu dabartiniam puslapiui, jei taip, priskirti tai opcijai atributą selected:

<OPTION VALUE=\"".$i."\" SELECTED=\"SELECTED\">"

 

EDIT: dėl antrosios problemos dalies, t.y. paspaudus ant 1 vistiek pasilieki antrame puslapyje, kažkas turbūt blogai su pačiu puslapiavimo kodu.

Redagavo as3dev
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...