Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: BLOB-kuva HTML:n sekaan

Ggnome [29.01.2008 13:36:05]

#

Osaisiko joku sanoa mikä koodissa mättää? Tarkoitus olisi kaivaa tekstitietoa sekä BLOB-kuva tietokannasta html:n ja php:n sekaan <img src=kuvanhaku.php>:lla. Tekstin noutaminen php:lla onnistuu loistavasti, mutta kuvaa en saa näkymään.

Kuva näkyy jos viittaan suoraan johonkin tietyyn id:en (esim <img src="kuvanhaku.php?show=id">), mutta näin kuva on tietysti aina sama. Jos yritän viitata vaihtuvaan id:en (esim <img src="kuvanhaku.php?show=$id">) en saa kuvaa näkyviin. Tekstin kanssa moinen toimii kyllä.

Alla kuvanhaku.php koodi:

$id=$_GET['show'];

    $result = mysql_query("SELECT type, pic
                             FROM kanta
                            WHERE id=$id ");

    if (mysql_num_rows($result) == 0)
        die('no image');

    list($type, $pic) = mysql_fetch_row($result);

    header('Content-Length: '.strlen($pic));
    header("Content-type: image/{$type}");

    echo $pic;

kayttaja-2791 [29.01.2008 14:18:52]

#

Ggnome kirjoitti:

Kuva näkyy jos viittaan suoraan johonkin tietyyn id:en (esim <img src="kuvanhaku.php?show=id">), mutta näin kuva on tietysti aina sama. Jos yritän viitata vaihtuvaan id:en (esim <img src="kuvanhaku.php?show=$id">) en saa kuvaa näkyviin. Tekstin kanssa moinen toimii kyllä.

En nyt oikein ymmärrä että mitä tarkoitat sillä että mikä toimii ja mikä ei. Toimiiko siis esim:
kuvanhaku.php?show=5

Ggnome [29.01.2008 14:37:36]

#

"kuvanhaku.php?show=5" toimii, samaa tarkoitus tuolla "kuvanhaku.php?show=id":llä.

Sivuston rakenne on se, että minulla on linkkilista -> linkeistä aukeaa sivu jonka sisältö määräytyy valitun linkin osoittaman id:n mukaan. Tällä sivulla on tekstiä, jonka hakeminen kannasta onnistuu seuraavasti:

$id=$_GET['show'];
$result = mysql_query("SELECT sitätätä FROM kanta WHERE id='$id' ");

Haluaisin tälle sivulle myös kuvan, joka on tallennettu kantaan. Tätä varten tein ulkoisen kuvanhaku.php:n jota kutsutaan <img src=>:llä. En kuitenkaan saa kuvaa tulostumaan, vika täytyy jotenkin liittyä tuohon id:n esittämiseen. Yritin myös:

<img src="kuvanhaku.php?show=<?php print $id;?>

ei auttanut.

TsaTsaTsaa [29.01.2008 16:14:30]

#

Jos kuvanhaku.php?show=5 toimii niin kyllähän kuvanhaku.php?show=$id pitäisi kanssa toimia, jos vaan $id:llä on joku toimiva(eli sellainen, että sillä id:llä kuva löytyy) arvo.

Ggnome [29.01.2008 16:29:01]

#

Kappas, sain ongelman ratkaistua sillä että otin <img src=>-lauseen pois html:n seasta ja ymppäsin sen php:n sekaan seuraavasti:

echo "<tr class='x'>";
echo "<img src='kuvanhaku.php?show={$id}' />";
echo "</tr>"

Hakasulkeet id:n ympärillä olivat homman avain.

ajv [29.01.2008 22:37:28]

#

Ongelma olisi varmasti selvinnyt heti kurkkaamalla PHP:n tulostamaa html-koodia.

Vastaus

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

Tietoa sivustosta