Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Käyttäjäsyötteen tallentaminen tietokantaan

Temsku [26.09.2008 10:28:35]

#

Ongelma lienee triviaali, mutta täältä saa ratkaisun luultavasti helpommin kuin itse etsimällä, vaikka tämä vastoin yleisiä periaatteitani onkin (ja seliseli...).

Olen rakentanut/hahmotellut pientä arvostelusysteemiä. Eli käyttäjä arvostelee näkemäänsä juttua (tässä tapauksessa pelkkää tekstiä).

Arvosteltavat kohteet on tallennettu MySQL-tietokantaan siten, että yhdessä tietueessa on arvot nimi (arvosteltava asia), arvostelujen määrä ja arvostelujen keskiarvo.

Käyttäjälle arvotaan satunnaislukumenetelmällä tietokannasta viisi kohdetta arvosteltavaksi.

Idea on se, että sivulla on arvosteltavan asian lisäksi tekstikenttä (johon arvostelija syöttää numeerisen arvosanan) sekä nappi. Nappia painamalla käyttäjän antamaa arvosanaa käyttäen lasketaan uusi keskiarvo ja lisätään arvostelujen määrää yhdellä, sekä näytetään seuraava arvosteltava juttu (ja tyhjennetään tekstikenttä).

Vinkkejä koodipuoleen siis kaivataan, lähinnä napin toiminnallisuuteen ja vuorovaikutukseen tekstikentän kanssa.

Metabolix [26.09.2008 11:21:33]

#

Normaalin form-tagin olisit voinut etsiä itsekin.

<form action="lahetys.php" method="post">
  <input type="text" name="arvosana[1]" />
  <input type="text" name="arvosana[25]" />
  <input type="submit" value="Arvostele!" />
</form>
<?php # lahetys.php
if (empty($_POST["arvosana"]) || !is_array($_POST["arvosana"])) {
  die("Joku teki jotain väärin.");
}
$arvosana = $_POST["arvosana"];
foreach ($arvosana as $avain => $arvo) {
  echo "arvosana[$avain] = $arvo";
}
?>

Jos tuo ei kelpaa, käytä AJAXia, josta on erillinen opas. Tämänkin olisit voinut löytää itse. Käytännössä siis yo. esimerkin formiin lisätään onsubmit="funktio(); return false", jolloin lähetystä ei tapahdu vaan kutsutaankin JavaScript-funktiota, jonka saat kirjoittaa itse.

Temsku [26.09.2008 11:36:47]

#

Kuten sanoin heti alussa, tämä lienee triviaali juttu :) Ja luonnollisesti formilla se menee ihan kivuttomasti.

Kiitos...

Lebe80 [26.09.2008 12:49:21]

#

Hieman ideaa täältä:

http://masugadesign.com/the-lab/scripts/unobtrusive-ajax-star-rating-bar/#demos

Yritin löytää erästä toista tähtiarvostelua, mutta tuo näemmä ajaa suurin piirtein saman asian.

Vastaus

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

Tietoa sivustosta