| Uutiset | Koodikirjasto | Wiki | Keskustelut | FAQ | Info |
Tulokset osiinMichi 11.02.05 14:21 Sain kun sainkin duunattua ekan oman koodin. Tällä tulostuu kaikkien kannassa olevien dokumenttien nimet allekkain, 30 kpl / sivu. Lisäks siinä on Javascriptillä toimiva sivusiirtyminen, ihan kätevä jos sivuja on kymmeniä tai satoja.
<html> <head> <script language="JavaScript"> <!-- hide me function move() { var the_url = window.document.the_form.the_url.value; if (the_url == 0) {the_url = 1;} var end_url = the_url - 1; var good_url = fixURL(end_url); window.location = good_url; } function fixURL(the_url) { the_url = "doclist.php?page=" + the_url; return the_url; } // show me --> </script> </head> <? include 'yhteys.inc'; $result = mysql_query("SELECT * FROM document"); $total = mysql_num_rows($result); $limit = 30; $page = $_GET['page']; if ($page <= 0) { $page = 0; } $minlimit = $limit * $page; $maxlimit = $minlimit + $limit; $nextpage = $page + 1; $prevpage = $page -1; $totalpages = $total / $limit; $totalpages = round($totalpages); $totalpages = $totalpages +1; $result1 = mysql_query("SELECT * FROM document ORDER BY mtime DESC limit $minlimit, $limit"); echo "<p><b>Tulokset: $minlimit - $maxlimit <br></b>"; echo "<b>(Sivu $nextpage / $totalpages) </b>"; ?> <form name="the_form" onSubmit="move(); return false;"> <input type="text" name="the_url" size=3> <input type="submit" name="Submit" value="Submit"> </form> <? echo "</p>"; echo "<p>"; if ($page != 0) { echo "<a href=\"$PHP_SELF?page=$prevpage\">Edelliset $limit</a>"; } if ($page != 0 && $page != ($totalpages -1) ) { echo " | "; } if ($page != ($totalpages -1)) { echo "<a href=\"$PHP_SELF?page=$nextpage\">Seuraavat $limit</a>"; } echo "</p>"; while($row1 = mysql_fetch_array($result1)) { $title = $row1['title']; $ID = $row1['ID']; echo $title; echo "<br>"; } ?> <p><a href="<?=$PHP_SELF?>?page=<?=$prevpage?>">Edelliset <?=$limit?></a> | <a href="<?=$PHP_SELF?>?page=<?=$nextpage?>">Seuraavat <?=$limit?></a></p> Akiro 14:24 11.2.05 laitas kunnon <?php tagit noiden <? shorttagien tilalle, niin koodinvärityskin tajuaa että tuo on PHP:tä. Ja short_tags ei ole muutenkaan päällä joka servulla joten niitä kannattaa muutenkin välttää.. editoitu: 21:38 11.2.05 uffis 21:29 11.2.05 Lisäks siinä on Javascriptillä toimiva sivusiirtyminen, ihan kätevä jos sivuja on kymmeniä tai satoja. Miten JavaScriptillä siirtyminen voi olla kätevämpää kuin ilman sitä? Tuo sama onnistuu myös pelkällä HTML:llä ja PHP:llä, ja toimii sellaisillakin, joilla ei JS ole käytössä.Jos JavaScriptin käytöstä ei saada lisäarvoa, niin kuin esim. tässä tapauksessa ei saada, ei sen käytölle ole minkäänlaista perustetta. Mikäköhän muuten on tiedosto yhteys.inc, joka pitäisi koodin käyttäjältä löytyä, jotta tämä pätkä toimisi? EDIT: Muuttujan $PHP_SELF tilalla pitäisi käyttää uudempaa ja selkeämpää $_SERVER['PHP_SELF'], mikä olisi käynyt ilmi, jos manuaalia olisi vähänkään luettu. Sen lisäksi tietokantakyselyssä ei saa koskaan pyytää kaikkia tulosjoukon sarakkeita (SELECT * FROM ...), ellei nimenomaan ole tarkoitus hakea ja käyttää niitä kaikkia. Tähden (*) tilalla pitäisi luetella ne sarakkeet, joita oikeasti tarvitaan. No, ensimmäinen pätkä on aina ensimmäinen, mutta kannattaa oikeasti lukea ja ottaa asioista hieman enemmän selvää, jos haluaa kerryttää taitojaan. djh 00:46 12.2.05 Tosiaankin, JavaScript on tässä aivan turhaa. ajv 12:40 12.2.05 $result = mysql_query("SELECT * FROM document"); Köh köh... Kantani on ~200 megaa, mites luulet että tapahtuu, jos haen sieltä sen 200 megaa tavaraa joka sivunlatauksella?$total = mysql_num_rows($result); $result = mysql_query("SELECT COUNT(*) AS yht FROM document"); $total = mysql_fetch_assoc($result); $total = $total['yht'] |
![]() Haku
|