Terve
Putkassa onkin jo aihe tästä, mutta teinpä uuden.
Itselläni on lomake, jonka haluaisin toimivan näin:
Sivulla on radiobutton nimeltään suunta. Kun nappulaa painaa, tämä "valiintuu" ja lähetää tämän.
Toisessa aiheessa sanottiin, että näin:
<form name="lomake"> ... </form> <div onmouseover="document.getElementById('lomake').submit()">moi</div>
Tämä on muuten hyvä, paitsi tuota hiirtä ei saa vedettyä tuosta moi sanan päältä ennen kuin tekee tämän uudelleen. Toinenkin juttu tässä on huono, että tämä toiminto siis pitäisi tapahtua kun nappia painetaan, eikä mennä siihen päälle. Tiedän, että tuo onmouseover tekee tuon, mutta en osaa javascriptiä niin paljon, että osaisin muokata.
EDIT: Sain toimimaan kun laitoin onmouseoverin tilalle onclick.
Mutta, kun tuota painaa, ja haen PHP:llä onko se true vai ei, niin miten saan laitettua niin, että jos lomake on lähetetty truena niin se näyttäisi buttonin vielä truena.
EDIT2: En koittanut loppun asti. Kun nappulaa painaa ekan karran, se toimii niin että arvo on truena. Mutta kun painaa uudelleen, sen pitäisi lähettää se falsena. Se vain ei toimi... :O Miten tehdään tämmöinen?
EDIT3: Lisäänpäs koodin selventääkseni tilannetta.
<?php echo "<html>\n<head>\n<title>MySQL kyselyt</title>\n</head>\n<body>\n"; ?> <form action="" method="post" name="lomake"> Paina nappulaa kääntääksesi hintajärjestyksen.<br> <div onclick="document.getElementById('lomake').submit()"><input type="radio" name="suunta"> <?php $suunta2 = $_POST["suunta"]; if ($suunta2 == false) { echo "Halvin ensimmäiseksi"; } elseif ($suunta2 == true) { echo "Kallein ensimmäiseksi"; } ?> </div> </form> <?php $jarjestys = $_POST["suunta"]; //Luodaan yhteys... $yhteys = mysql_connect("localhost", "", "") or die("Virhe yhdistämisessä"); //... tietokantaan test. mysql_select_db("test") or die ("Virhe valittaessa tietokantaa"); //Luodaan taulu mysql_query("CREATE TABLE varasto (nimi TEXT, hinta INT (6), maara INT (4))"); //Tarkistetaan, ettei ole tyhjä, jos mikään ei ole, niin kirjoitetaan tauluun if(!empty($_GET['tuote'])) { if(!empty($_GET['hinta'])) { if(!empty($_GET['maara'])) { mysql_query("INSERT INTO varasto (nimi, hinta, maara) VALUES ('".$_GET['tuote']."', '".$_GET['hinta']."', '".$_GET['maara']."')"); } } } //Järjestys listalle if ($jarjestys == true) { $kysely = "SELECT * FROM varasto ORDER BY hinta"; } elseif ($jarjestys == false) { $kysely = "SELECT * FROM varasto ORDER BY hinta DESC"; } //suoritetaan kysely $haku = mysql_query($kysely, $yhteys) or die("Virhe kyselyssä!"); echo "<table border>\n"; echo "<tr><td><b>Tuotteen nimi: </b></td><td><b>Hinta: </b></td><td><b>Myymälässä: </b></td></tr>"; //käydään tavarat läpi for ($i = 0; $i < mysql_num_rows($haku); $i++) { //haetaan nimi, hinta ja määrä muuttujiin $nimi = mysql_result($haku, $i, "nimi"); $hinta = mysql_result($haku, $i, "hinta"); $maara = mysql_result($haku, $i, "maara"); //tulostetaan taulukon rivi echo "<tr><td>$nimi</td><td>$hinta €</td><td>$maara kpl</td></tr>"; } echo "</table>\n"; echo "</body>\n</html>"; ?>
Itse saattaisin tehdä näin.
<?php if(isset($_GET['jarjestys'])){ $jarjestys = siivoaSyote($_GET['jarjestys']); /* Hiukka haastetta peliin */ $suunta = isset($_GET['suunta']) ? "DESC" : "ASC"; $kysely = "SELECT Nimi, Hinta, Maara FROM autot ORDER BY $jarjestys $suunta"; if(mysql_query($kysely, $yhteys)){ }else{ echo mysql_error(); } } ?>
Mutta, jos käytetään tuota mitä aloitusviestissä mainitsin, niin miten tämä laitetaan toimimaan myös jälkeenpäin?
Eli, kun menee sivulle, järjestys on kallein ekana, ja kun painaa nappulaa niin järjestys kääntyy. Mutta kun uudelleen painaa, se ei tee mitään kun järjestyksen pitäisi kääntyä taas.
Tämä johtuu varmaankin siitä, että tuolla truella on vain yksi arvo, ja kun nappulaa painaa, niin se lähettää lomakkeen truena ja nollaa lomakkeen. Sitten seuraava painallus on taas true arvona. Miten voisi laittaa tuon lomakkeen niin, että buttonin painalluksen jälkeen se ei nollaantuisi? Tai, miten te tekisitte tällä tyylillä?
Kuten edellä kerroin, joskaan tuo koodi ei ota kantaa siihen miten tuo data lähetetään. Tuo toimii esimerkiksi näin.
<?php /* Hinnan mukaan laskevaan järjestykseen */ echo "<a href=\"tulos.php?jarjestys=Hinta&suunta\">Hinta</a>"; /*Määrän mukaan nousevaan järjestykseen */ echo "<a href=\"tulos.php?jarjestys=Maara\">Määrä</a> ?>
Lomakkeella menisi seuraavasti.
<?php echo "<form action=\"tulos.php\" method=\"get\">"; echo "<select name=\"jarjestys\">"; echo "<option value=\"Nimi\">Nimi</option>"; echo "<option value=\"Hinta\">Hinta</option>"; echo "<option value=\"Maara\">Määrä</option>"; echo "</select>"; echo "<input type=\"checkbox\" name=\"suunta\" value=\"\" />"; echo "<input type=\"submit\" />"; echo "</form>"; ?>
Helpoiten saisin väsättyä, jos saisi tuolle radiobuttonille jonkun selected arvon. Onko siihen sellaista kuin select listoihin SELECTED?
Mitähän ihmettä mahdat nyt tarkoittaa? Radiobuttonille on olemassa samanlainen checked atribuutti kuin checkboxillekin, mutta en nyt oikein ymmärrä miten se tähän liittyy.
Lisäys:
Luulen, että tajusin mitä ajat takaa, joten alla on runkoa, johon voit itse lisätä puuttuvat kohdat.
<?php $kentta = "Hinta"; $suunta = isset($_GET['suunta']) ? "ASC" : "DESC"; if(isset($_GET['jarjestys'])){ $kentta = /* Täytä itse */ } $kysely = "SELECT ?, ?, ? FROM ? ORDER BY ? ?"; ?>
Tuolta pohjalta ponnistamaan vaan.
Oho, tuli kirjoitusvirhe. Tarkoitin tuolla selected jutulla juuri tätä checked juttua. :D Niin, ajattelin, että jos koodi on lähettänyt tämän true arvon nappulasta, niin se lukuu PHP:llä sitten sen ja lisää tuon checked sanan sinne buttoniin.
Tuli pieni väärinkäsitys aivojeni ja tietämykseni kanssa. Ajattelin, että silloin tuo arvo pysyisi truena (niinhän se pysyykin) ja ajattelin, että kun tätä painaa uudelleen se pyyhkisi true arvon falseksi... Mutta ei mennytkään näin.
<?php echo "<html>\n<head>\n<title>MySQL kyselyt</title>\n</head>\n<body>\n"; ?> <form action="" method="post" name="lomake"> Paina nappulaa kääntääksesi hintajärjestyksen.<br> <div onclick="document.getElementById('lomake').submit()"><input type="radio" name="suunta"<?php $gg = $_POST["suunta"]; if ($gg == true) echo "checked";?>> <?php $suunta2 = $_POST["suunta"]; if ($suunta2 == false) { echo "Halvin ensimmäiseksi"; } elseif ($suunta2 == true) { echo "Kallein ensimmäiseksi"; } ?> </div> </form> <?php $jarjestys = $_POST["suunta"]; //Luodaan yhteys... $yhteys = mysql_connect("localhost", "", "") or die("Virhe yhdistämisessä"); //... tietokantaan test. mysql_select_db("") or die ("Virhe valittaessa tietokantaa"); //Luodaan taulu mysql_query("CREATE TABLE varasto2 (nimi TEXT, hinta INT (6), maara INT (4))"); //Tarkistetaan, ettei ole tyhjä, jos mikään ei ole, niin kirjoitetaan tauluun if(!empty($_GET['tuote'])) { if(!empty($_GET['hinta'])) { if(!empty($_GET['maara'])) { mysql_query("INSERT INTO varasto2 (nimi, hinta, maara) VALUES ('".$_GET['tuote']."', '".$_GET['hinta']."', '".$_GET['maara']."')"); } } } //Järjestys listalle if ($jarjestys == true) { $kysely = "SELECT * FROM varasto2 ORDER BY hinta"; } elseif ($jarjestys == false) { $kysely = "SELECT * FROM varasto2 ORDER BY hinta DESC"; } //suoritetaan kysely $haku = mysql_query($kysely, $yhteys) or die("Virhe kyselyssä!"); echo "<table border>\n"; echo "<tr><td><b>Tuotteen nimi: </b></td><td><b>Hinta: </b></td><td><b>Myymälässä: </b></td></tr>"; //käydään tavarat läpi for ($i = 0; $i < mysql_num_rows($haku); $i++) { //haetaan nimi, hinta ja määrä muuttujiin $nimi = mysql_result($haku, $i, "nimi"); $hinta = mysql_result($haku, $i, "hinta"); $maara = mysql_result($haku, $i, "maara"); //tulostetaan taulukon rivi echo "<tr><td>$nimi</td><td>$hinta €</td><td>$maara kpl</td></tr>"; } echo "</table>\n"; echo "</body>\n</html>"; ?>
Ajattelin näin sen.. Mutta eihän tuo tietenkään ole oikein ajatukseni kannalta... :S
Hieman ehkä offtopic, mutta tein tuossa pikaisesti tämmöisen, tyylillä jonka olen todennut itse mukavaksi käyttää. Eli Kolumnin tiedot järjestetään otsikossa olevan linkin avulla joko ASC tai DESC riippuen siitä mikä valinta oli viimeksi. Eli linkkiä uudelleen klikkaamalla vaihtuu järjestys aina.
HUOM: Tämä on vain nopeasti sipaistu raakile, jossa ei ole järjestetty dataa eri kolumnien perusteella (jos olisi useampia kolumneja), vaan pelkästään yksi testi kolumni joko ASC tai DESC. Myös tietoturvaan ei ole kiinnitetty sen enemmin huomiota. Jos kiinnostaa niin tuosta voi soveltaa omaan systeemiin jotain. Koodi voi myös sisältää virheitä / ajatuskatkoksia.
<?php session_start(); // Aloitetaan session $link = mysql_connect('localhost', 'test', 'test') or die(mysql_error()); mysql_select_db('test') or die(mysql_error()); // Jos käyttäjältä tulee sorttaus pyyntö if (isset($_GET['order']) && isset($_SESSION['lastOrder'])) { // Jos käyttäjä on sortannu jo aikaisemmin, tarkistetaan viimeisin sorttaus järjestys if (isset($_SESSION['lastOrder'])) { // Jos viimeisin oli ASC niin, silloin tämän hetkisen pitää olla DESC, jolloin if ($_SESSION['lastOrder'] === 'ASC' && $_GET['order'] === 'DESC') { $order = "DESC"; // order laitetaan DESCiksi, käytetään SQL kyselyn muodostamiseen $_SESSION['lastOrder'] = 'DESC'; // tätä käytetään muutoksen havaitsemiseen $nextOrder = 'ASC'; // ja määritetään linkille seuraavaksi järjestykseksi päinvastainen } // Jos viimeisin oli DESC, niin tehdään ylläolevat päinvastoin else if ($_SESSION['lastOrder'] === 'DESC' && $_GET['order'] === 'ASC') { $order = 'ASC'; $_SESSION['lastOrder'] = 'ASC'; $nextOrder = 'DESC'; } else { // Muussa taoauksessa laitetaan defaultit aina // Esim. käyttäjä syöttää jotain epämääräistä sorttiin osoite riviltä $order = 'ASC'; $_SESSION['lastOrder'] = 'ASC'; $nextOrder = 'DESC'; } } } else { // Tämä ajetaan ekan kerran sivulle tullessa ja laitetaan defaultit alussa. $order = 'ASC'; $_SESSION['lastOrder'] = 'ASC'; $nextOrder = 'DESC'; } $query = "SELECT data FROM testi ORDER BY data $order"; $r = mysql_query($query, $link) or die(mysql_error()); echo '<table border="1"><tr><td><a href="?&sortBy=data&order='. $nextOrder. '">Sort data</a></td></tr>'; while ($row = mysql_fetch_row($r)) { echo '<tr><td>'. $row[0] .'</td></tr>'; } echo '</table>'; ?>
Tein nyt sitten tällä tavalla kun ei millään muuten onnistu:
<?php echo "<html>\n<head>\n<title>MySQL kyselyt</title>\n</head>\n<body>\n"; ?> <form action="" method="post" name="lomake"> Paina nappulaa kääntääksesi hintajärjestyksen.<br> <div onclick="document.getElementById('lomake').submit()"><input type="radio" name="suunta"> Halvin ensin</div> <div onclick="document.getElementById('lomake').submit()"><input type="radio" name="suunta2"> Kallein ensin</div> </form> <?php $jarjestys = $_POST["suunta"]; $jarjestys2 = $_POST["suunta2"]; //Luodaan yhteys... $yhteys = mysql_connect("localhost", "yllapito", "aaa123") or die("Virhe yhdistämisessä"); //... tietokantaan test. mysql_select_db("yllapito") or die ("Virhe valittaessa tietokantaa"); //Luodaan taulu mysql_query("CREATE TABLE varasto (nimi TEXT, hinta INT (6), maara INT (4))"); //Tarkistetaan, ettei ole tyhjä, jos mikään ei ole, niin kirjoitetaan tauluun if(!empty($_GET['tuote'])) { if(!empty($_GET['hinta'])) { if(!empty($_GET['maara'])) { mysql_query("INSERT INTO varasto (nimi, hinta, maara) VALUES ('".$_GET['tuote']."', '".$_GET['hinta']."', '".$_GET['maara']."')"); } } } //Järjestys listalle if ($jarjestys == true) { $kysely = "SELECT * FROM varasto ORDER BY hinta"; } elseif ($jarjestys == false) { $kysely = "SELECT * FROM varasto ORDER BY hinta DESC"; } //suoritetaan kysely $haku = mysql_query($kysely, $yhteys) or die("Virhe kyselyssä!"); echo "<table border>\n"; echo "<tr><td><b>Tuotteen nimi: </b></td><td><b>Hinta: </b></td><td><b>Myymälässä: </b></td></tr>"; //käydään tavarat läpi for ($i = 0; $i < mysql_num_rows($haku); $i++) { //haetaan nimi, hinta ja määrä muuttujiin $nimi = mysql_result($haku, $i, "nimi"); $hinta = mysql_result($haku, $i, "hinta"); $maara = mysql_result($haku, $i, "maara"); //tulostetaan taulukon rivi echo "<tr><td>$nimi</td><td>$hinta €</td><td>$maara kpl</td></tr>"; } echo "</table>\n"; echo "</body>\n</html>"; ?>
Mutta, haluisin laitettua nuo kaksi nappia näin: Jos sivulle tulee, niin name on suunta. Kun tätä klikkaa niin name muuttuukin suunta2:ksi (Sitä kun klikkaa, se muuttuu suunta:ksi jne...). Miten tämä onnistuu?
Ja, että olisi siis yksi nappi mistä tämä siis tapahtuu. Voisi kumpaankin suuntaan säätää järjestystä.
Tuossa mun ylemmässä esimerkissä on just se periaate, että on yks nappi ja sitä aina uudelleen painamalla suunta vaihtuu vastakkaiseksi. Pystyt testaamaan tuota helposti copy&paste johonkin php filuun ja vaihtamalla vain mysqliä koskevat tiedot omiksesi sekä muuttamalla queryä niin, että se hakee kentän tiedot, joka sulla on olemassa. Testaamalla käytännössä ja tutkimalla koodia kun ymmärrät periaatteen miten se yhden napin suunnan vaihto tehdään voit sen myös tehdä tuohon omaan koodiisi. Periaate lyhyesti: sun pitää tietää mikä suunta oli viimeksi kun suuntaa vaihdettiin ja sen mukaan sitten päättää mihin päin suuntaa vaihdetaan seuraavalla kerralla kun sitä nappia klikataan.
Loogisesti kaiketi kuitenkin sarakkeiden otsikoita klikkaamalla järjestyksen tulisi muuttua. Eikä tuota tarvitse ihan oikeasti tehdä noin hankalasti, koska tuo mun esittämä tapa toimii aivan niin hyvin kuin on tarpeellista.
Tässä vielä toimivaksi todettu koodipätkä.
<?php $kentta = "nimi"; $suunta = isset($_GET['suunta']) ? "ASC" : "DESC"; if(isset($_GET['jarjestys'])){ $kentta = $_GET['jarjestys']; } $kysely = " SELECT koirat.id AS id, CONCAT(etunimi, ' ', sukunimi) AS omistaja, nimi, email, rekisteri FROM koirat, henkilot WHERE koirat.omistaja = henkilot.id AND koirat.jalostus = 1 ORDER BY $kentta $suunta"; $urokset = mysql_query($kysely); for($a = 1; $a < mysql_num_fields($urokset); $a++){ $th = $sivu->createElement( "th"); $otsikko = mysql_field_name($urokset, $a); $linkki = $sivu->createElement("a", $otsikko); $osoite = isset($_GET['suunta']) ? "?$otsikko" : "?jarjestys=$otsikko&suunta"; $linkki->setAttribute("href", $osoite); $th->appendChild($linkki); $tr->appendChild( $th ); } ?>
Tuo sun postaamas koosi Tendolla.. Voinko heittää koodiini vain tuon session systeemin, ja sitten tulostaa noilla sen linkin + laittaa omat kselyt tuon sun tilalle? Vai pitääkö noi olla kaikki, ja heittää niiden perään sitten omat? Jos sulla on aikaa, niin voitko yhdistää nuo koodit ´keskenään, niin hoksaisin.. Esimerkistä oppii.. :)
Todellakin, tuo Teuron esittämä tekee saman minkä aikaisemmin tein vaikeamman kautta. Tässä olisi siis yksinkertaisuudessaan samaan tyyliin kuin Teurolla tehty tuo mun aikaisempi pätkä (hieman lyhyempi ja selvempi nyt).
<?php $link = mysql_connect('localhost', 'test', 'test') or die(mysql_error()); mysql_select_db('test') or die(mysql_error()); $order = isset($_GET['order']) ? 'ASC' : 'DESC'; // Rivi 1 $url = isset($_GET['order']) ? '?' : '?order'; // Rivi 2 $query = "SELECT data FROM testi ORDER BY data $order"; // Rivi 3 $r = mysql_query($query, $link) or die(mysql_error()); echo '<table border="1"><tr><td><a href="'. $url .'">Sort data</a></td></tr>'; // Rivi 4 while ($row = mysql_fetch_row($r)) { echo '<tr><td>'. $row[0] .'</td></tr>'; } echo '</table>'; ?>
Roccerin kannattaisi sisäistää tämä käytäntö näillä esimerkeillä mitä tässä threadissa on tullut jo enemmänkin esille. Eli ei ole mitään järkeä mun mielestä tehdä erikseen napeilla noita sorttauksia, koska se käy tuolla otsikossa olevalla linkillä todella kätevästi.
Tuossa on käytännössä 4 riviä, jotka vaikuttaa tuohon sorttaukseen. Sen läpi käyminen ajatuksella ei varmaan mahdotonta.
Rivi 1: Asetetaan sorttaus järjestys SQL kyselyä varten.
Rivi 2: Luodaan linkille osoite.
Rivi 3: Lisätty vain SQL lauseeseen järjestys, joka tulee $_GET['order'] muuttujan perusteella.
Rivi 4: Tulostetaan linkki.
Edit: Jos haluaa hifistellä, niin kannattaa eka saada yksinkertaisesti asia toimimaan. Kun tuo linkki toimii, niin linkinhän saa muotoilta vaikka millaseks CSS:llä myöhemmin (myös napiksi/kuvaksi) sekä siirrettyä mihin kohtaa sivua vain.
Edit2: Tuossa alla on nyt tuo tapa yhdistettynä sinun aikaisempaan koodiin.
<?php $yhteys = mysql_connect('localhost', 'test', 'test') or die('Virhe yhdistämisessä'); mysql_select_db("test") or die ('Virhe valittaessa tietokantaa'); $suunta = isset($_GET['suunta']) ? 'ASC' : 'DESC'; $linkki = isset($_GET['suunta']) ? '' : '&suunta'; $otsikko = isset($_GET['otsikko']) ? $_GET['otsikko'] : 'nimi'; $kysely = "SELECT * FROM varasto ORDER BY $otsikko $suunta"; $haku = mysql_query($kysely, $yhteys) or die('Virhe kyselyssä!'); echo '<table border>'; echo '<tr><td><b><a href="?otsikko=nimi'. $linkki .'">Tuotteen nimi:</a></b></td> <td><b><a href="?otsikko=hinta'. $linkki .'">Hinta: </a></b></td> <td><b><a href="?otsikko=maara'. $linkki .'">Myymälässä: </a></b></td></tr>'; for ($i = 0; $i < mysql_num_rows($haku); $i++) { $nimi = mysql_result($haku, $i, 'nimi'); $hinta = mysql_result($haku, $i, 'hinta'); $maara = mysql_result($haku, $i, 'maara'); echo '<tr><td>'. $nimi .'</td><td>'. $hinta .'€</td><td>'. $maara .'kpl</td></tr>'; } echo '</table>'; ?>
Hienoa TeNDoLLA! Tuolta pohjalta saan väännettyä tarvittavat toiminnot. :)
Teurolle (ja muillekin) kysymys: kun käyttää tuolla tavalla sortingia, että aina kun tulee $_GET['suunta'] niin tehdään suunnan muutos. Ja kuljetetaan tuota suuntaa urlissa, niin mitenkäs sitten kun lyödään siihen kaveriksi sivutus kulkemaan urlissa myös?
Eli silloinhan kun sivua vaihdetaan, niin vaihdetaan myös suuntaakin. Ja tämähän ei ole tarkoitus silloin, vaan suunnan pitäisi pysyä samana aina kun sivua vaihdetaan.
Eihän suuntaa vaihdeta aina, kun tulee $_GET['suunta']. Mikäli $_GET['suunta'] on asetettu tulee sorting olemaan ASC ja vastaavasti, jos se ei ole asetettu tulee sorting olemaan DESC. Sivutuksen parametriä voi kuljettaa ihan samalla tavalla urlin mukana. Sivutuksen tuottavassa rakenteessa pitää vain huomioida minkälaiset parametrit on ohjelmalle lähetetty.
<?php require_once("liita/ylaosa.php"); $sivu = new DOMDocument("1.0", "ISO-8859-1"); $sivu -> formatOutput = true; $html = $sivu -> createElement("html"); $sivu -> appendChild($html); $head = $sivu -> createElement("head"); $html -> appendChild($head); $title = $sivu -> createElement("title", "manssi.net :: koiralista"); $head -> appendChild($title); $body = $sivu -> createElement("body"); $html -> appendChild($body); $con = $sivu -> createElement("div"); $con -> setAttribute("id", "content"); $body -> appendChild($con); /** * Haetaan kannasta kaikki koirat */ $kentta = isset($_GET['jarjestys']) ? $_GET['jarjestys'] : "nimi"; $suunta = isset($_GET['suunta']) ? "ASC" : "DESC"; $maara = isset($_GET['maara']) ? $_GET['maara'] : 10; $alku = isset($_GET['alku']) ? $_GET['alku'] : 0; $kysely = "SELECT nimi, rekisteri FROM koirat ORDER BY $kentta $suunta LIMIT $alku, $maara"; $koiria = mysql_result(mysql_query("SELECT COUNT(*) AS maara FROM koirat"), 0, 0); $kpl = $sivu -> createElement("p", $kysely); $con -> appendChild($kpl); $koirat = mysql_query($kysely); $kpl = $sivu -> createElement("p", mysql_error()); $con -> appendChild($kpl); $table = $sivu -> createElement("table"); $con -> appendChild($table); $tr = $sivu -> createElement("tr"); $table -> appendChild($tr); for($a = 0; $a < mysql_num_fields($koirat); $a++){ $th = $sivu->createElement("th"); $otsikko = mysql_field_name($koirat, $a); $linkki = $sivu->createElement("a", $otsikko); $osoite = isset($_GET['suunta']) ? "?jarjestys=$otsikko" : "?jarjestys=$otsikko&suunta"; $linkki->setAttribute("href", $osoite); $th->appendChild($linkki); $tr->appendChild($th); } for($a = 0; $a < mysql_num_rows($koirat); $a++){ $rivi = mysql_fetch_array($koirat); $tr = $sivu -> createElement("tr"); $table -> appendChild($tr); $td = $sivu->createElement("td", utf8_encode($rivi['nimi'])); $tr->appendChild($td); $td = $sivu->createElement("td", $rivi['rekisteri']); $tr->appendChild($td); } $ul = $sivu->createElement("ul"); $con->appendChild($ul); for($a = 0; $a < ($koiria / $maara); $a++){ if($a == ($alku / $maara)){ $li = $sivu -> createElement("li", $a+1); $li->setAttribute("style", "font-weight: bold;"); }else{ $li = $sivu -> createElement("li"); $li->setAttribute("style", "font-weight: none;"); $linkki = $sivu->createElement("a", $a+1); $suunta = isset($_GET['suunta']) ? "&suunta" : ""; $osoite = "?jarjestys=$kentta$suunta"; $linkki->setAttribute("href", $osoite . "&alku=" . $a * $maara); $li->appendChild($linkki); } $ul->appendChild($li); } echo $sivu -> saveXML(); ?>
Aihe on jo aika vanha, joten et voi enää vastata siihen.