Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Sanasto (PHP ja MySQL)

Marakatti [30.03.2012 00:39:39]

#

Miten toteutan "sanaston" PHP:tä ja MySQL:ää käyttäen?

Nettisivulle pitäisi saada lista sanoista ja niiden selityksistä ja mahdollisuus järjestää ne aakkosjärjestykseen. Lisäksi hakupoksi jolla voi hakea tiettyä sanaa.

Olisiko tähän mitään valmista scriptiä vai onko helppo itse toteuttaa?

samip [30.03.2012 07:17:28]

#

<?php

/*
Hae sanat tietokannasta taulukkoon

esim.
$query = $pdo->prepare("SELECT sana, kuvaus FROM Sanasto ORDER BY sana");
$query->execute();
$sanat = $query->fetchAll(PDO::FETCH_COLUMN|PDO::FETCH_GROUP);
*/

$sanat = array();
$sanat['sana1'] = "Kuvaus1";
$sanat['sana2'] = "Kuvaus2";

ksort($sanat); // sanojen mukaan aakkosjärjestykseen. kannattaa tosin tehdä jo sql-kyselyssä.

echo "<dl>";
foreach ($sanat as $sana=>$kuvaus)
{
    echo "<dt>{$sana}</dt> <dd>{$kuvaus}</dd>";
}
echo "</dl">;

?>

Kuvauksen hakeminen tietylle sanalle: $sanat['tiettysana']

Synomi [30.03.2012 07:27:51]

#

Aika helppo tuommoinen on toteuttaa, voit tehdä vaikka tietokantaan taulun sanasto, jossa kentät sana ja selitys. Sitten hommaan riittää yksi php-tiedosto, joka voi olla vaikka index.php. Index-tiedosto sitten sisältää GET tai POST parametrien tutkimisen ja niiden perustella tekee tietokanta pyynnöt ja näyttää haetun tiedon.

Jos ei JavaScriptiä halua käyttää, niin POST on varmaa parempi vaihtoehto. Eli voit tehdä normaali html-lomakkeen hakukentälle ja esim. select-elementille(järjestyksen valinta) ja asettaa lomakeen 'action':ksi saman index.php sivun. Index.php sivulla titten tutkitaan jos isset($_POST['txthae']) on asetettu, niin haetaan sen perusteella sit tietokannasta tietoa. Tuohon miten hae tekstiä verrataan tietokannassa olevaan tietoon kannattee varmaa perehtyä paremmin, mutta jonkun 'like'-komennon käyttäminen voi olla sopivaa.

Vastaus

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

Tietoa sivustosta