Mysql & php kuvakanta sovellukseen vielä muutama vinkki:
1) ajatuksena olisi toteuttaa kuvien näyttäminen selaimessa siten, että selauksesta (alla) valitaan haluttu kuva:
<?php echo "<tr> <td>". $mysql_tiedot["id"]."</td> <td>". $mysql_tiedot["kuvaus"]."</td> <td>". $mysql_tiedot["aika"]."</td> <td>". $mysql_tiedot["talo"]."</td> <td>". $mysql_tiedot["hakusanat"]."</td> <td><a href=\"kuvat/kuva".$mysql_tiedot["id"].".jpg"."\">Katso</a></td> </tr>"; ?>
ja avautuvassa uudessa selainikkunassa esitetään sitten haluttu valokuva.
nyt kuitenkin ajattelen, että haluaisin näytettävän kuvan kanssa samassa
näytössä esittää myös kuvaan liittyvän tekstikentän sisällön tietokannasta.
2) kysymys olisikin miten se kannattaisi totetuttaa? tiedän siis kuvaa vastaavan tietueen id:n ja sillä saan noukattua kannasta myös tietueen tekstikentän.
haenko tekstikentän sisällön jo selauksen aikana vai kannattaako se hakea vasta valokuvaa näyttettäessä.
pieni esimerkkikoodi olisi taas poikaa ;-)
Tee sivu, joka hakee ID:n perusteella haluamasi tiedot, ja laita tuossa linkin osoitteeksi sitten kyseinen sivu. ID:n voit välittää osoitteessa GET-parametrina, esim. href="kuvasivu.php?kuva=123"
. Muita tietoja ei ole järkeä välittää sivulta toiselle, koska ne voi kuitenkin hakea uudestaan tietokannasta. (Osoitteen mukana tai lomakkeen kautta välittämiseen liittyy päinvastoin riskejä, koska käyttäjä voi muutella tietoja.)
Näin yksinkertaisesta muutoksesta ei pitäisi tarvita esimerkkikoodia, jos PHP-oppaassa kerrotut asiat ovat edes tyydyttävästi hallussa.
hei taas,
juu noinhan se meni. tekstit tulee kauniisti kuvan alle. ilmeisesti rivinvaihto php-koodin sisällä (\r\n) vaatii pre-elementin toimiakseen?
vielä yksi onkelma: miten saan näytettävän kuvan kokoa näytössä pienennettyä vaikkapa puoleen alkuperäisestä koosta php-koodissa? kunvan kokoon hakemistossa en ajatellut koskea.
volume kirjoitti:
vielä yksi onkelma: miten saan näytettävän kuvan kokoa näytössä pienennettyä vaikkapa puoleen alkuperäisestä koosta php-koodissa? kunvan kokoon hakemistossa en ajatellut koskea.
Width- ja height-parametreillä.
<img src="foo.jpg" widht="400" height="300" />
Tuo ei kylläkään ole hyvä tapa, koska suurien kuvien lataamiseen menee turhaa aikaa.
volume kirjoitti:
juu noinhan se meni. tekstit tulee kauniisti kuvan alle. ilmeisesti rivinvaihto php-koodin sisällä (\r\n) vaatii pre-elementin toimiakseen?
Ilmeisesti tahdot siis tulostaa HTML:ää hieman nätimmin ja rivittää sitä luettavammin? Voit tuolloin käyttää echo:n kanssa "-lainausmerkkejä ja kirjoittaa \n aina, kun tahdot rivinvaihdon selaimelle tulostettavaan HTML:ään. Tabeja saa \t:llä. Siis näin:
Tai sitten voit sulkea koko PHP-tagin ja avata sen ainoastaan muuttujien tulostamisen kohdalla:
<tr> <td><?php echo $muuttuja; ?></td> </tr>
Eiköhän volume tarkoittanut sitä, että rivinvaihdot, tabit ja muut laitetaan kaikki yksittäisiksi välilyönneiksi, jos elementillä ei ole CSS-määreessä white-space
jotain tähän vaikuttavaa arvoa. Tuossa tilanteessa hyvä vaihtoehto olisi white-space: pre-line
, jonka voi asettaa vaikka ihan tavalliselle p-elementillekin.
Aihe on jo aika vanha, joten et voi enää vastata siihen.