Kirjautuminen

Haku

Tehtävät

Keskustelu: Koodit: PHP: MySQL Uutiset

raezel [18.09.2004 20:25:42]

#

Tiedän, tiedän näitä on jo kaksi, mutta halusinpa nyt kuitenkin lisätä hyvin yksinkertaisen uutistoiminnon vaikkapa aloittelevalle koodaajalle. Jotta skripti toimii, täytyy tietysti olla tietokanta ja siellä taulu, johon uutiset tallentuvat. Koodia täytyyt tietysti muokata jos kenttänimet yms ovat eriävät.

nyyssi.php

<?php
//tässä lisätään uutinen

//tarkistetaan onko tiedot lähetetty
if($_POST["pvm"] && $_POST["aihe"] && $_POST["sisalto"] && $_POST["lahettaja"])
{
//kerätään tieto muuttujiin
  $pvm = $_POST["pvm"];
  $aihe = $_POST["aihe"];
  $sisalto = $_POST["sisalto"];
  $lahettaja = $_POST["lahettaja"];

//otetaan tietokantayhteys
  mysql_connect(localhost,käyttäjänimi,salasana);

  @mysql_select_db(tietokanta) or die( "Tietokantaa ei voi valita");

//muodostetaan kysely
  $query = "INSERT INTO nyyssit VALUES ('','$pvm','$aihe','$sisalto','$lahettaja')";

//ajetaan kysely
  mysql_query($query);

//määritetään viesti
  $viesti = "Nyyssi postattu!";

//suljetaan tietokantayhteys
  mysql_close();
}

//tulostetaan viesti
  echo $viesti;
?>
<form action = "nyyssi.php" method = "post">
Pvm:<input type = text name="pvm" size = 27><br>
Aihe:<input type = text name="aihe" size = 27><br>
Uutinen:<br>
<textarea name="sisalto" rows = "10" cols = "50"></textarea><br>
Lahettaja:<input type = text name="lahettaja" size = 27><br>
<input type = "submit" value = "Postaa">
</form>

luku.php

<?php
//tässä luetaan uutinen

//otetaan tietokantayhteys
  mysql_connect(localhost,raezel,reisseli);
  @mysql_select_db(raezel) or die( "Tietokantaa ei saada avattua");

//muodostetaan kysely
  $query="SELECT * FROM nyyssit ORDER BY id DESC";

//asetetaan kyselyn ajo muuttujaan
  $result=mysql_query($query);

//asetetaan tuloksen rivien määrä muuttujaan
  $num = mysql_num_rows ($result);

//haetaan tiedot
  $i=0;
  while ($i < $num)
  {
//haetaan tiedot muuttujiin
    $pvm=mysql_result($result,$i,"pvm");
    $aihe=mysql_result($result,$i,"aihe");
    $sisalto=mysql_result($result,$i,"sisalto");
    $lahettaja=mysql_result($result,$i,"lahettaja");

//lisätään rivinvaihdot
    $sisalto = str_replace("\n","<br>",$sisalto);

//tulostetaan uutinen
    echo "<p">";
    echo "<i>$pvm</i><br>$aihe</p>";

    echo "<p class=\"kappale\">";
    echo "$sisalto</p><b class = \"kappale\">$lahettaja</b>";
    echo "<hr class=\"viiva\">";

    $i++;

}

?>

Vastaus

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

Tietoa sivustosta