Miten pystyy ohjaamaan tiedot uudelleen jotka on haettu tietokannasta!
Haen tietokannasta nyt leffoja ja ne tulostuu taulukkoon alekkain. No nyt pitäisi saada tehtyy niistä haun tuloksista raportti uudelle ikkunalle!
Olen kokeillut käyttää siinä samaa menetelmää kuin haussa. Elikkä laittanut tulostukseen Form tageilla tiedot ja silleen, mutta se ei tulosta niitä tuloksia vaan tulostaa pelkät otsikot taulusta!
http://u0400332.korpi.dyndns.org/index.html << tuolta näette ne sivut!
Noi sivut näkyy parhaiten IE:llä kuin firefoxilla!
Kas mielenkiintoista:
IP-Osoiteesi on: ".$_SERVER["REMOTE_ADDR"]; ?>
Ja miksi sivut pitää koodata jollekkin tietylle selaimelle? Miksei niitä voi koodata kunnolla, jolloin ne toimivat jokaisella selaimella joka noudattaa annettuja standardeja.
No tuon ei pitäisikään toimia ollenkaan! Olen vain unohtanut sen sinne ku mulla ei tule mitään tekstiä tuohon kohtaan mutta muualla tulee niin olen unohtanut sen sinne sen takia. Ja noita sivuja ei ole koodattu erikseen millekään sivuille, vaan siinä on semmonen juttu että IE:llä olen saanut tehtyä taustavärin liukuväriksi ja firefoxilla se näkyy yksivärisenä!
No miten luulet että
filter:progid:DXImageTransform.Microsoft.Gradient(endColorstr='#CFCFE7', startColorstr='#BDBEE5', gradientType='0');
toimisi muissa selaimissa kuin IE ?
Älkää nyt tuosta liukuväristä vaan auttakaa minua tuon raportin tekemisessä!
Tiedä nyt sitten, että onko tästä kummempaa apua, mutta tulipahan mieleeni..
Leffan nimi-haussa voisi käyttää seuraavanlaista metodia:
$sql="SELECT * FROM elokuvat WHERE leffanimi LIKE '%$hakusana%'";
Tämähän antaa hakusanalla "mi" kaikki elokuvat joiden nimessä esiintyy kirjainyhdistelmä "mi" kuten "Miekkavalaskostaja" sekä "Nimismiehen kosto".
Tietty samaa metodia voi käyttää muihinkin kenttiin jos siltä tuntuu. Toinen juttu joka tulla pölähti pieneen mieleeni oli se, että leffan valmistusvuodeksi voi lätkäistä vaikka vuoden 4002305. Vaikka tietokannassa eivät pelkät merkit paljoa vie tilaa, niin säästö se on pienikin:
<input type="text" name="vuosi" size="15" maxlength="4">
Jolloin vuosiluku on max. nelinumeroinen, kuten totuttua.
Lisättyäni leffat "Koe1" ja "Koe2" huomasin, että leffojen haku tyhjäsi edellisen tuloksen kokonaan. Tämähän tarkoittaa sitä, että pitäisi olla vähintään 2 samannimistä leffaa, että saisi aikaan varsinaisen raportin. Mitä sitä nyt yhdestä leffasta raporttia väsäämään..? Jos hakusana toimisi siten, kuin ehdotin tuossa alkupuolella, niin haku antaisi kaikki "koe" nimiset leffat. Ehdottaisinkin seuraavanlaista lähestymistapaa:
Haku.html
Elokuvan nimi: [kentän nimeksi vaikka "hakunimi"] Ohjaaja: Näyttelijä: Tuotantoyhtiö: Valmistusvuosi: Tyylilaji:
haku.php
<?php (nimen perusteella) $nimi=$_GET['hakunimi'] $sql="SELECT * FROM leffat WHERE nimi LIKE '%$nimi%'"; if (!$kysely = mysql_query($sql, $yhteys)) { die("kysely epäonnistui : " . mysql_error()); } while ($rivit = mysql_fetch_array($kysely)) { print "$rivit[nimi(joka on tietokannan kentän nimi)]"; print "kaikki loput tiedot jotka halutaan"; } ?>
Ja voillá vai mitenkäs ne ranskalaiset sen sanovat. Tässähän meillä on raportoituna kaikki leffat joiden nimessä esiintyy "hakunimi". Siitä vain sitten lisäämään tulostus ja paperille.
Ihan kiva koodi ja huomautus, mutta kaveri tekee tuon php jutskan ja se valittaa jos se on jostakin muualta otettu ohje kuin opelta. Jotenka sen voi antaa olla kunhan nyt sais tehtyä toi raportti sivu ku semmonenki piti siellä olla! Paitsi että tuota sun koodiasti voisi soveltaa siihen raporttiin. Voisi jopa toimiakki!
Ja tuosta haku hommasta semmonen että sieltä unohtu vahingossa laittaa toi % merkki lopusta niin se ei hae kuin tuolla "mi" haulla pelkän mi sanaiset leffat!
Ja huomasin tuon vuoden pituuden vahingon vasta täällä vanhempien luona ollessa ja en ole sitä vielä kerenny muokkaamaan.
Maanantaihin asti tarvi noita ohjeita jos joku osaisi hjelpata, näin hurri kielellä. Siis maanantai iltaan (klo 04:xx asti 10.5.2005) :D
Lahjahevon suuhun ei katsota, kuten sanonta kuuluu, mutta jos ei syystä tai toisesta tahdo/voi käyttää muualta saatuja vinkkejä, niin mikäs siinä. Tietysti voisi tehdä erityisen raportti.php:n jos haluaa ja käytännössä vain kopioida tuon hakukyselytulostuksen sille sivulle. Itse kun olen laiska, niin yritän tehdä kaiken mahdollisimman yksinkertaisesti ja iskeä koko roskan yhdelle sivulle.
Huhhahhei ja o'hoy my matey ja muuta sellaista kipakkaa kiinalaista slangia. Hakusanassa oli molemmissa päissä % merkki koska nappasin koodin omasta lopputyöstäni (hakusana erilaisten ruokareseptien kohdalla). Pienellä muokkauksella kyseisestä saanee toimivan version myös teikäläisten ohjelmaan ja vaikkei saisikaan, niin ainakin näkisi, että kuinka asiaa ei kannata yrittää tehdä..
Mutta raporttisivun tekeminen onnistunee suunnilleen tähän tüüliin: (pientä humalakohtaista typoa voi olla havaittavissa)
haku.html
Elokuvan nimi: [kentän nimeksi vaikka "hakunimi"] Ohjaaja: [kentän nimeksi vaikka...] Näyttelijä: [kentän nimeksi vaikka...] Tuotantoyhtiö: [kentän nimeksi vaikka...] Valmistusvuosi: [kentän nimeksi vaikka...] Tyylilaji: [kentän nimeksi vaikka...]
seuraavaksi tulee tuttu ohjaaminen toiseen sivuun/lomakkeeseen (haku.php)
<?php $nimi=$_GET['hakunimi'] $sql="SELECT * FROM leffat WHERE nimi LIKE '%$nimi%'"; if (!$kysely = mysql_query($sql, $yhteys)) { die("kysely epäonnistui : " . mysql_error()); } while ($rivit = mysql_fetch_array($kysely)) { print "$rivit[nimi(joka on tietokannan kentän nimi)]"; print "kaikki loput tiedot jotka halutaan"; } ?>
MUTTA kirjoitat koko php-haun eteen tavallista HTML-koodia tyyliin:
<html> <body> Tässä on raporttisivu haetuista elokuvista nimen perusteella <?php // ... ja tähän tulee php-skripti (vaikkapa ehdotukseni tai vastaava) ?> </body> </html>
Käytännössä tällä ei mielestäni ole mitään eroa (tai järkeä), mutta kuka minä olisin arvostelemaan Suuria Wiisaita? Jos opetusmetodi/-hallinto vaatii asian toteuttamista tietyllä tavalla, niin siten sen on oltava. Toevottavasti tästä nyt oli jotain valaistusta hämäriin kesäiltoihin (vaikka epäilenkin), mutta jos ei muuten, niin ainakin kummastelua ja ihmettelyä meikäläisen kirjoitusten suhteen.
Jotakin ymmärsin tuosta, mutta näytän oman koodin haun php:stä ja html:stä
Älkää välittäkö ylimmääräisistä riveistä jotka on laitettu //. osa on selityksiä ja osa on vain muuten vain laitettu sinne
***** leffa_haku.php <?php //otetaan funktiot käyttöön include("funktiot.php"); //avataan tietokanta $yhteys = TietokantaYhteys(); // kootaan SELECT-lause muuttujaan dynaamisesti $SQL_SELECT = "SELECT nro, nimi, ohjaaja, nayttelija, yhtio, vuosi, tyyli FROM leffat WHERE "; //tarkastetaan haku ehdot if ($_POST["nro"] <> "") { $SQL_SELECT = $SQL_SELECT."nro LIKE '".$_POST["nro"]."' AND "; } if ($_POST["leffa_nimi"] <> "") { $SQL_SELECT = $SQL_SELECT."nimi LIKE '".$_POST["leffa_nimi"]."' AND "; } if ($_POST["ohjaaja"] <> "") { $SQL_SELECT = $SQL_SELECT."ohjaaja LIKE '".$_POST["ohjaaja"]."' AND "; } if ($_POST["nayttelija"] <> "") { $SQL_SELECT = $SQL_SELECT."nayttelija LIKE '".$_POST["nayttelija"]."' AND "; } if ($_POST["yhtio"] <> "") { $SQL_SELECT = $SQL_SELECT."yhtio LIKE '".$_POST["yhtio"]."' AND "; } if ($_POST["julkaisuvuosi"] <> "") { $SQL_SELECT = $SQL_SELECT."vuosi LIKE '".$_POST["julkaisuvuosi"]."' AND "; } if ($_POST["tyylit"] <> "0") { $SQL_SELECT = $SQL_SELECT."tyyli LIKE '".$_POST["tyylit"]."' AND "; } //poistetaan AND sana $SQL_SELECT = substr($SQL_SELECT,0,strlen($SQL_SELECT)-4); //tulostetaan SQL-lause // echo $SQL_SELECT; // SUORITETAAN SQL-lause ja otetaan hakutulokset talteen <TD><B>Muokkaa</B></TD> <TD><B>Poista</B></TD> if(! $tulos = mysql_query($SQL_SELECT,$yhteys)) echo "Haku epäonnistui"; // tulostetaan hakutulokset toistotekenteessa ?> <!-- muodostetaan dokumentti, johon tulostus tapahtuu --> <HTML> <script language="JAVASCRIPT" src="javascripts.js"> </script> <head> <LINK href="tyylit.css" rel="stylesheet" type="text/css"> </head> <BODY class="liukuvari_middle"> <H2> Leffatiedot</H2> <BR> <form name="lomake" action="raportti.php" method="POST" target="blankt" > <TABLE border="4" align="left" cellpadding="5" cellspacing="0"> <TR> <TH>Leffannimi</TH> <TH>Ohjaaja</TH> <TH>Näyttelijä</TH> <TH>Tuotantoyhtio</TH> <TH>Vuosi</TH> <TH>Tyyli</TH> </TR> <?php // tulostetaan hakutulokset toistotekenteessa while(list($nro,$nimi,$ohjaaja,$nayttelija,$yhtio,$vuosi,$tyyli) = mysql_fetch_row($tulos)) { echo "<TR><TD>$nimi</TD> <TD>$ohjaaja</TD> <TD>$nayttelija</TD> <TD>$yhtio</TD> <TD>$vuosi</TD> <TD>$tyyli</TD>"; echo "<TD> <a href=\"leffa_muokkaa.php?nro=$nro\"> Muokkaa </a> </TD>"; echo "<TD> <a href=\"leffa_poista.php?nro=$nro\"> Poista </a> </TD> </TR>"; } // lopuksi - suljetaan kantayhteys mysql_close($yhteys); ?> </TABLE> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <p><input type="submit" value="Raportti"> </form> <!-- dokumentti loppuu --> </body> </html>
<html> <head> <title>Leffan haku</title> <LINK href="tyylit.css" rel="stylesheet" type="text/css"> </head> <body class="liukuvari_middle"> <br><br> <h2>Leffan haku</h2> <form name="lomake" action="leffa_haku.php" method="POST" target="oikea"> <table border="0"> <tr> <td class="alleviivaus">Leffan nimi:</td> <td><input type="text" name="leffa_nimi" size="30"></td> </tr> <tr> <td class="alleviivaus">Ohjaaja:</td> <td><input type="text" name="ohjaaja" size="30"></td> </tr> <tr> <td class="alleviivaus">Näyttelijä:</td> <td><input type="text" name="nayttelija" size="30"></td> </tr> <tr> <td class="alleviivaus">Tuotantoyhtiö:</td> <td><input type="text" name="yhtio" size="30"></td> </tr> <tr> <td class="alleviivaus">Valmistusvuosi: </td> <td><input type="text" name="julkaisuvuosi" size="4"></td> </tr> <tr> <td class="alleviivaus">Tyylilaji:</td> <td><select name="tyylit" style='width: 130; font-size: 10pt;'> <option value='0'>Kaikki Elokuvat</option> <option value='Komedia'>Komedia</option> <option value='Seikkailu'>Seikkailu</option> <option value='Toiminta'>Toiminta</option> <option value='Draama'>Draama</option> <option value='Trilleri'>Trilleri</option> <option value='Jännitys'>Jännitys</option> <option value='Kauhu'>Kauhu</option> <option value='Sci-fi'>Sci-fi</option> <option value='Sotaelokuva'>Sotaelokuva</option> <option value='Piirretty elokuva'>Piirretty elokuva</option> <option value='Musiikkielokuva'>Musiikkielokuva</option> <option value='Muu'>Muu</option> <option value='Lastenelokuva'>Lastenelokuva</option> <option value='Animaatio'>Animaatio</option> <option value='Western'>Western</option> </select> </td> </tr> <p> <td colspan="2"> <br><br> <input type="submit" value=" Hae "> <input type="reset" value="Tyhjennä"> </td> </table> </form> </body> </html> <html> <head> <title>Leffan haku</title> <LINK href="tyylit.css" rel="stylesheet" type="text/css"> </head> <body class="liukuvari_middle"> <br><br> <h2>Leffan haku</h2> <form name="lomake" action="leffa_haku.php" method="POST" target="oikea"> <table border="0"> <tr> <td class="alleviivaus">Leffan nimi:</td> <td><input type="text" name="leffa_nimi" size="30"></td> </tr> <tr> <td class="alleviivaus">Ohjaaja:</td> <td><input type="text" name="ohjaaja" size="30"></td> </tr> <tr> <td class="alleviivaus">Näyttelijä:</td> <td><input type="text" name="nayttelija" size="30"></td> </tr> <tr> <td class="alleviivaus">Tuotantoyhtiö:</td> <td><input type="text" name="yhtio" size="30"></td> </tr> <tr> <td class="alleviivaus">Valmistusvuosi: </td> <td><input type="text" name="julkaisuvuosi" size="4"></td> </tr> <tr> <td class="alleviivaus">Tyylilaji:</td> <td><select name="tyylit" style='width: 130; font-size: 10pt;'> <option value='0'>Kaikki Elokuvat</option> <option value='Komedia'>Komedia</option> <option value='Seikkailu'>Seikkailu</option> <option value='Toiminta'>Toiminta</option> <option value='Draama'>Draama</option> <option value='Trilleri'>Trilleri</option> <option value='Jännitys'>Jännitys</option> <option value='Kauhu'>Kauhu</option> <option value='Sci-fi'>Sci-fi</option> <option value='Sotaelokuva'>Sotaelokuva</option> <option value='Piirretty elokuva'>Piirretty elokuva</option> <option value='Musiikkielokuva'>Musiikkielokuva</option> <option value='Muu'>Muu</option> <option value='Lastenelokuva'>Lastenelokuva</option> <option value='Animaatio'>Animaatio</option> <option value='Western'>Western</option> </select> </td> </tr> <p> <td colspan="2"> <br><br> <input type="submit" value=" Hae "> <input type="reset" value="Tyhjennä"> </td> </table> </form> </body> </html> <html> <head> <title>Leffan haku</title> <LINK href="tyylit.css" rel="stylesheet" type="text/css"> </head> <body class="liukuvari_middle"> <br><br> <h2>Leffan haku</h2> <form name="lomake" action="leffa_haku.php" method="POST" target="oikea"> <table border="0"> <tr> <td class="alleviivaus">Leffan nimi:</td> <td><input type="text" name="leffa_nimi" size="30"></td> </tr> <tr> <td class="alleviivaus">Ohjaaja:</td> <td><input type="text" name="ohjaaja" size="30"></td> </tr> <tr> <td class="alleviivaus">Näyttelijä:</td> <td><input type="text" name="nayttelija" size="30"></td> </tr> <tr> <td class="alleviivaus">Tuotantoyhtiö:</td> <td><input type="text" name="yhtio" size="30"></td> </tr> <tr> <td class="alleviivaus">Valmistusvuosi: </td> <td><input type="text" name="julkaisuvuosi" size="4"></td> </tr> <tr> <td class="alleviivaus">Tyylilaji:</td> <td><select name="tyylit" style='width: 130; font-size: 10pt;'> <option value='0'>Kaikki Elokuvat</option> <option value='Komedia'>Komedia</option> <option value='Seikkailu'>Seikkailu</option> <option value='Toiminta'>Toiminta</option> <option value='Draama'>Draama</option> <option value='Trilleri'>Trilleri</option> <option value='Jännitys'>Jännitys</option> <option value='Kauhu'>Kauhu</option> <option value='Sci-fi'>Sci-fi</option> <option value='Sotaelokuva'>Sotaelokuva</option> <option value='Piirretty elokuva'>Piirretty elokuva</option> <option value='Musiikkielokuva'>Musiikkielokuva</option> <option value='Muu'>Muu</option> <option value='Lastenelokuva'>Lastenelokuva</option> <option value='Animaatio'>Animaatio</option> <option value='Western'>Western</option> </select> </td> </tr> <p> <td colspan="2"> <br><br> <input type="submit" value=" Hae "> <input type="reset" value="Tyhjennä"> </td> </table> </form> </body> </html>
Jos tohon sais sen jotenki tungettua.
Ainiin ja tässä olis vielä tämän hetkinen raportti mut se ei toimi yhtään.
<?php //otetaan funktiot käyttöön include("funktiot.php"); //avataan tietokanta $yhteys = TietokantaYhteys(); // kootaan SELECT-lause muuttujaan dynaamisesti $SQL_SELECT = "SELECT nro, nimi, ohjaaja, nayttelija, yhtio, vuosi, tyyli FROM leffat WHERE "; //tarkastetaan haku ehdot if ($_POST["leffa_nimi"] <> "") { $SQL_SELECT = $SQL_SELECT."nimi LIKE '".$_POST["leffa_nimi"]."' AND "; } if ($_POST["ohjaaja"] <> "") { $SQL_SELECT = $SQL_SELECT."ohjaaja LIKE '".$_POST["ohjaaja"]."' AND "; } if ($_POST["nayttelija"] <> "") { $SQL_SELECT = $SQL_SELECT."nayttelija LIKE '".$_POST["nayttelija"]."' AND "; } if ($_POST["yhtio"] <> "") { $SQL_SELECT = $SQL_SELECT."yhtio LIKE '".$_POST["yhtio"]."' AND "; } if ($_POST["julkaisuvuosi"] <> "") { $SQL_SELECT = $SQL_SELECT."vuosi LIKE '".$_POST["julkaisuvuosi"]."' AND "; } if ($_POST["tyylit"] <> "0") { $SQL_SELECT = $SQL_SELECT."tyyli LIKE '".$_POST["tyylit"]."' AND "; } //poistetaan AND sana $SQL_SELECT = substr($SQL_SELECT,0,strlen($SQL_SELECT)-4); //tulostetaan SQL-lause // echo $SQL_SELECT; // SUORITETAAN SQL-lause ja otetaan hakutulokset talteen if(! $tulos = mysql_query($SQL_SELECT,$yhteys)) echo "Haku epäonnistui"; // tulostetaan hakutulokset toistotekenteessa ?> <!-- muodostetaan dokumentti, johon tulostus tapahtuu --> <HTML> <script language="JAVASCRIPT" src="javascripts.js"> </script> <head> <LINK href="tyylit.css" rel="stylesheet" type="text/css"> </head> <BODY class="liukuvari_middle"> <H2> Leffatiedot</H2> <BR> <TABLE border="4" align="left" cellpadding="5" cellspacing="0"> <TR> <TH>Leffannimi</TH> <TH>Ohjaaja</TH> <TH>Näyttelijä</TH> <TH>Tuotantoyhtio</TH> <TH>Vuosi</TH> <TH>Tyyli</TH> </TR> <?php // tulostetaan hakutulokset toistotekenteessa while(list($nro,$nimi,$ohjaaja,$nayttelija,$yhtio,$vuosi,$tyyli) = mysql_fetch_row($tulos)) { echo "<TR><TD>$nimi</TD> <TD>$ohjaaja</TD> <TD>$nayttelija</TD> <TD>$yhtio</TD> <TD>$vuosi</TD> <TD>$tyyli</TD>"; } // lopuksi - suljetaan kantayhteys mysql_close($yhteys); ?> </TABLE> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <!-- dokumentti loppuu --> </body> </html>
Joku leffojen selaus ois iha kätsä ku ei oikee voi tietää mitä tuol on ja mitä ei oo. Sitte laitat ne tulemaa sillee taulukkoon ja taulukon otsikoista voi vaihtaa lajitteluperustetta... niinku:
LEFFAN NIMI | VUOSI <-- ku noita klikkaa nii lajittelu vaihtuu nousevasta laskevaan tms. ------------------------------- testi | 1969 testi2 | 1942
HellCome: Tuota eiks tää tee vain yhdestä leffasta sen raportin, ainakin mitä ymmärsin tästä, mutta kun sen pitäisi tehdä kaikista mitä tulostu haussa! Eli jos haet kaikki leffat jotka alkaa "mi" alulla niin raporttiin tulee myös kaikki "mi" alkuiset leffat.
Aihe on jo aika vanha, joten et voi enää vastata siihen.