Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: 20 viimeisintä arvoa, järjestäminen

Sivun loppuun

Vasta_alkaja [09.02.2010 21:26:59]

#

<?php

  echo '<div style="display:none;" id="painograafinen">';

  $k = "SELECT paino FROM terveys WHERE hid = $AsiakasTiedot AND paino > 0.00 ORDER BY autoId DESC, paiva ASC LIMIT 20";
  if(!($t = mysql_query($k))) {
    echo mysq_error();
    return;
  }
  $tarkistettu = 'true';

  while($r = mysql_fetch_assoc($t)){

    $paino = htmlspecialchars($r['paino']);

    $tausta = '#66CC66';
    if($edellinen < $paino){
      $tausta = 'red';
    }

    $edellinen = $paino;

    if($tarkistettu == 'true'){
       $maxkorkeus = $paino+50;
       $tarkistettu = 'false';
    }

    echo '<table height="'.$maxkorkeus.'px;" align="left" cellspacing="0">';
    echo '<tr><td style="font-size:9px;">'.$paino.'</td></tr>';
    echo '<tr><td height="'.$paino.'px" style="background:'.$tausta.'; border:1px solid black;">&nbsp;</td></tr>';
    echo '</table>';

  }


  echo '<br />';
  echo '<table>';
  echo '<tr><td><b style="color:red;" onclick="kutsu2();">[ sulje ]</b></td></tr></table>';
  echo '</div>';

?>

Kyseinen koodi hakee tietokannasta 20 viimeisintä arvoa ja luo niistä graafisen pystypylväs näkymän. Vertaa edellistä painoa seuraavaan ja värittää pylvään sen mukaan. Ongelma on siinä, että miten saan haettua 20 viimeisintä tietoa, mutta oikeassa järjestyksessä. Eli viimeisin arvon tulisi oikeasti olla viimeinen.

Kysymys 2 : Onko mahdollista hakea yhdellä kyselyllä ensimmäinen ja viimeinen arvo tietokannasta vai pitääkö tehdä kaksi erillistä kyselyä.

Sitten jos koodissa huomaatte jotain typerää toteutustyyliä, niin otan mielelläni parempia ohjeita vastaan.

Jokotai [09.02.2010 21:36:54]

#

1. Käänteinen pino.
2. Sen voi tehdä yhteen funktioon jos haluaa.

Vasta_alkaja [09.02.2010 22:58:05]

#

Miten tehdään käänteinen pino? Mitä käytännössä tarkoitat.

Sitten heräsi vielä kysymys, että miten tekstin saa menemään ylhäältä alaspäni

M
a
t
t
i

Katsoin vähän css vaihtoehtoja, mutta en saanut oikein mitään toimimaan.

Metabolix [10.02.2010 12:10:52]

#

Käänteistä järjestystä varten ota ensin tiedot taulukkoon ja käännä sitten taulukko:

<?php
  $rivit = array();
  while($r = mysql_fetch_assoc($t)){
    $rivit[] = $r;
  }
  $rivit = array_reverse($rivit);
  foreach ($rivit as $r) {
    //...
  }

Vasta_alkaja [10.02.2010 12:14:00]

#

Kiitos Metabolix. Jos totta puhutaan niin ajatelinkin jo missä sinä olet :) Kiitos taas kerran.

Kysymys 2 : Onko mahdollista hakea yhdellä kyselyllä ensimmäinen ja viimeinen arvo tietokannasta vai pitääkö tehdä kaksi erillistä kyselyä.

(Mod. huom: älä toistele kysymyksiäsi.)

Grez [10.02.2010 12:17:40]

#

Vasta_alkaja kirjoitti:

Onko mahdollista hakea yhdellä kyselyllä ensimmäinen ja viimeinen arvo tietokannasta

On.

Vasta_alkaja kirjoitti:

Sitten heräsi vielä kysymys, että miten tekstin saa menemään ylhäältä alaspäin

Tähän on montakin mahdollisuutta. Yksi on tuottaa rivinvaihto jokaisen kirjaimen väliin.

Vasta_alkaja [10.02.2010 15:59:13]

#

Lähinnä ajattelin kyllä muuta kuin <br /> toimintoa, mutta miksipäs ei. Toimiihan se :) Ei kyllä käynyt mielessä. Mikä olisi avainsana tuohon ensimmäiseen kysymykseen.

Metabolix [10.02.2010 16:36:15]

#

Tee kyselyt ensimmäiselle ja viimeiselle ja yhdistä tulokset sanalla UNION.

SELECT x FROM taulu ORDER BY y DESC LIMIT 1
UNION
SELECT x FROM taulu ORDER BY y ASC LIMIT 1

Vasta_alkaja [10.02.2010 20:11:26]

#

Niinpä tietenkin. Ei tuo unioni käynyt sitten mielessäkään :)

Jokotai [11.02.2010 17:17:50]

#

Vasta_alkaja kirjoitti:

Lähinnä ajattelin kyllä muuta kuin
toimintoa, mutta miksipäs ei.

PHP koodiin voi laittaa \n(rivinvaihto).


Sivun alkuun

Vastaus

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

Tietoa sivustosta