Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: blogisysteemi (php/mysql)

Sebu [16.03.2006 22:45:16]

#

Mitenkäs tälläinen.. eli teen tällaista blogisysteemiä (php/mysql) ja haluaisin toteuttaa sen niin, että kirjoitukset tulostettaisiin viisi kirjoitusta/sivu.

Tähän mennessä ihan ok, mutta nyt meni sormi suuhun kun aloin miettiä että miten linkitän blogikirjoitukset lopuille sivuille jos ekalla sivulla on viisi uusinta. Eli haluan että seuraava sivu tulee automaattisesti kun edellinen "täyttyy" jne... toivottavasti ymmärsitte :)

ajv [17.03.2006 08:21:49]

#

Haet ilmeisesti sivutusta:
https://www.ohjelmointiputka.net/haku.php?sana­=sivutus

Sebu [18.03.2006 15:19:41]

#

sitähän minä :) tänks

Sebu [19.03.2006 17:44:36]

#

vielä tuosta sivutuksesta yks kysymys.. eli sain ton tietokantaversion pelittämään: https://www.ohjelmointiputka.net/koodivinkit/24487-php-sivutus


...mutta mites nytten sitten kun mulla sivut valikossa tyyliin sivu.fi/index.php?sivu=blogi eikä toi blogisysteemin sivutus toimi jos se hakee niitä blogisivuja tollain: sivu.fi/index.php?sivu=1 (siis toi blogi on vain osa sivustoa)

eli miten toi linkitys kannattaa kikkailla että se toimii myös noin vai täytyykö mun tehdä tolle blogille oma blogi.php sivu?

Niko [19.03.2006 17:59:08]

#

<?php

// yhdellä sivulla olevien viestien määrä
$vps = 10;

// luetaan osoitteen mukana tullut sivunumero
if (isset($_GET['alku'])) {
    $sivu = $_GET['alku'];
}
$sivu = intval($sivu);

// haetaan näytettävät viestit tietokannasta
$viestit = mysql_query("SELECT aika, lahettaja, teksti FROM Viestit
                        ORDER BY aika DESC LIMIT ".($sivu * $vps).", {$vps}");

// selvitetään viestien määrä
$maara = mysql_result(mysql_query("SELECT COUNT(*) FROM Viestit"), 0);

// luodaan sivunumerolista, jos sivuja on useampia
if ($maara > $vps) {
    echo "<p>";
    for ($i = 0; $i < $maara / $vps; $i++) {
        // tulostetaan pystyviivat sivunumeroiden väliin
        if ($i <> 0) {
            echo " | ";
        }
        // jos tämä sivu näytetään, tulostetaan sivun numero lihavoituna
        if ($sivu == $i) {
            echo "<b>".($i + 1)."</b>";
        // muussa tapauksessa luodaan linkki toiselle sivulle
        } else {
            echo "<a href=\"{$_SERVER['PHP_SELF']}?sivu=blogi&amp;alku={$i}\">".($i + 1)."</a>";
        }
    }
    echo "</p>";
}

// tulostetaan tietokannasta luetut viestit
for ($i = 0; $i < $vps; $i++) {
    // varmistetaan, että viimeisellä sivulle ei tule ylimääräistä
    if ($i + $sivu * $vps < $maara) {
        // tulostetaan viestin tiedot yksinkertaisesti muotoiltuna
        $aika = mysql_result($viestit, $i, 0);
        $nimi = mysql_result($viestit, $i, 1);
        $teksti = mysql_result($viestit, $i, 2);
        echo "<p><b>$aika</b> kirjoitti
              <b>".date("d.m.y H:i", $nimi)."</b>:<br>
              <i>{$teksti}</i></p>";
    }
}

?>

Tohon tyyliin muokkaat koodia

jideko [19.03.2006 18:01:00]

#

Sun täytyy vaihtaa sivutuksen sivunumeroiden määritteen nimeä. Eli vaihta "sivu" vaikka "page"ksi.

Ja sitten blogiin osoittavat linkit on muotoa www.sivu.fi/index.php?sivu=blogi&page=1

Sebu [19.03.2006 18:15:56]

#

kiitos vastauksista! nyt pelittää :)

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta