<form action="uutiset2.php" method="post"> <b>Ensimmäinen uutinen</b> <br> Otsikko: <br> <input type="text" name="uutinen"><br> Aika: <br> <input type="text" name="aika"><br> Tekijä:<br> <textarea name="lähettäjä"></textarea><br> <br> <br> <input type="submit" value="Päivitä uutinen" name="ok"> </form> <?php if (isset($ok)) { //muodostetaan yhteys tietokantapalvelimeen $yhteys = mysql_connect("", "", ""); //valitaan tietokanta "test" mysql_select_db("phpplaza", $yhteys) or die("Tietokantaa ei löytynyt!"); mysql_query("CREATE TABLE uutiset (uutinen TEXT, aika TEXT, lähettäjä TEXT)", $yhteys); mysql_query("INSERT INTO uutiset (uutinen, aika, lähettäjä) VALUES ('$uutinen', '$aika', '$lähettäjä')", $yhteys); $kysely = "SELECT * FROM uutiset"; //suoritetaan kysely $haku = mysql_query($kysely, $yhteys) or die("Virhe kyselyssä!"); $otsikko = mysql_result($haku, $i, "uutinen"); $aika = mysql_result($haku, $i, "aika"); $lähettäjä = mysql_result($haku, $i, "lähettäjä"); //suljetaan yhteys echo $otsikko ; echo $aika; echo $lähettäjä; mysql_close($yhteys); } ?>
Eli tuossa on se ongelmana, ettei se kirjoita sitä uutista echolla. Jos apua saisi, niin hyvin menisi :).
Mikä on tuo hämärä $i-muuttuja tuolla? Ilmeisesti oot unohtanu silmukan tuon haun ympäriltä. Siitäkin huolimatta käytä mysql_result-funktion sijaan vaikka mysql_fetch_row:ta:
Valittaa: while($rivi = $mysql_fetch_row($haku)) { Virheilmoitus: Fatal error: Call to undefined function: ()
Vielä helppiä kaivataan :).
while($rivi = mysql_fetch_row($haku)) {
Hupsheijjaa, rahankiilto näköjään silmissä ku noita dollarimerkkejä viljelen ylimääräisiä :)
Miksi tuo koodi tulostaa uutisen niin monta kertaa?
Se hakee kaikki rivit taulusta. Käytä WHERE:ä ja LIMIT:iä jos haluat rajata hakua.
<?php $result = mysql_query("SELECT * FROM uutiset WHERE lahettaja='Esko' ORDER BY aika DESC LIMIT 10",$yhteys); ?>
Esimerkkikoodi hakee laskevassa aikajärjestyksessä 10 Eskon lähettämää uutista.
Aihe on jo aika vanha, joten et voi enää vastata siihen.