Minulla on nettisivu, missä tulostetaan automaattisesti kaikki tiedot tietokannasta.
Nyt haluaisin kuitenkin tehdä siten, että sivulle mentäessä olisi ruudulla text-area sekä nappi. Text areaan kirjotettaisiin taulunnimi, jonka tiedot tulostettaisiin ruudulle.
Nyt minulla on ongelmia, sivun teon kanssa. Eli miten se tehdään, eli se, että tämä suoritettaisiin vasta nappia painamalla:
if (!($connection = mysql_connect("localhost", "user", "pass"))) die("Could not open"); if (!(mysql_select_db("testDatabase", $connection))) showerror(); $query = "SELECT * FROM $taulu"; connection if(!($result = mysql_query ("SELECT * FROM $taulu", $connection))) showerror(); $haku = mysql_query($query, $connection) or die("Error on the query");
jne...
Samoin minulla on epäillys, että tämä ei ole ihan toimiva ratkaisu:
$query = "SELECT * FROM $taulu"; if(!($result = mysql_query ("SELECT * FROM $taulu", $connection)))
Eli perusasioihin tarvitsisin vähän apua.
EDIT: typoja
1. Ongelmaan teet html-formin ja tarkistat onko se lähetetty:
if($_POST["taulunimi"] { // Tässä otat yhteyden tietokannan ja tulostelet tiedot } <form action="<?php echo $PHP_SELF;?>" method="post"> <input type="text" name="taulunimi"> <input type submit=" value="lähetä">
2. Ongelmaan on suora vastaus putkan php-oppaassa:
https://www.ohjelmointiputka.net/oppaat/opas.
Kiitän.
Tuota nyt on sellainen ongelma, että selaimen ruutu on ihan tyhjä? En saa edes virheilmoituksia, vaikka php.ini:ssä on erroreiden näyttö päällä?
Koodi on nyt seuraavanlainen
<?php error_reporting = E_ALL & ~E_NOTICE if($_POST["taulunimi"] { if (!($connection = mysql_connect("localhost", "user", "pass"))) die("Could not open"); if (!(mysql_select_db("tietokanta", $connection))) showerror(); $query = "SELECT * FROM $taulunimi"; if(!($result = mysql_query ("SELECT * FROM $taulunimi", $connection))) showerror(); $haku = mysql_query($query, $connection) or die("Error on the query"); echo "<table border>"; echo "<tr><td><b>id</b></td><td><b>Etunimi</b></td> <td><b>Sukunimi</b></td><td><b>email-osoite</b></td> <td><b>Puhelinnumero</b></td></tr>"; //käydään tavarat läpi for ($i = 0; $i < mysql_num_rows($haku); $i++) { //haetaan id, enimi, snimi, email ja puh muuttujiin $id = mysql_result($haku, $i, "id"); $enimi = mysql_result($haku, $i, "enimi"); $snimi = mysql_result($haku, $i, "snimi"); $email = mysql_result($haku, $i, "email"); $tel = mysql_result($haku, $i, "Tel"); //tulostetaan taulukon rivi echo "<tr><td>$id</td><td>$enimi</td><td>$snimi</td><td>$email</td><td>$tel</td></tr>"; } echo "</table>"; echo "</body></html>"; } ?> <html> <head> <title>Main User Page</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <form action="<?php echo $PHP_SELF;?>" method="post"> <input type="text" name="taulunimi"> <input type submit=" value="lähetä"> <body> </body> </html>
(Mod. edit: lyhyemmät rivit, kiitos, että mahtuu ruudulle. Lisäsin pari välilyöntiä.)
Luulisi, että jos sivu ei näy, niin sieltä joku virheilmoitus pitäisi ilmestyä ?
heh olin näköjään vähän typonnu näin aamulla
<form action="<?php echo $PHP_SELF;?>" method="post"> <input type="text" name="taulunimi"> <input type submit=" value="lähetä">
-->
<form action="<?php echo $PHP_SELF;?>" method="post"> <input type="text" name="taulunimi"> <input type="submit" value="lähetä"> </form>
Laitetaan aamukoodaamisen piikkiin
Eli tuosta puuttui vain </form> lopusta. Olisi tuon voinut itsekkin tietty huomata :P
Mutta...
Ei vieläkään toimi. Ruutu pysyy vitivalkoisena, eikä virheilmoituksia vieläkään ilmesty ?
Puuttui </form> lopusta ja
<input type="submit" value="lähetä">
oli kirjoitettu väärin
Ok, kiitos!
Aihe on jo aika vanha, joten et voi enää vastata siihen.