Autor Zpráva
misho3
Profil *
Zdravím,

potreboval by som zmenu obrázku po kliknutí na jeho miniatúru..
Bude veľký obrázok a vedľa/pod miniatúry, na ktorú keď kliknem zobrazí sa ako veľký obrázok.. A takto prepínať..
ide o systém, kde obrázky pridávajú užívatelia a môžu pridať jeden alebo až 5 obrázkov (alebo žiadny)..

Momentálne sa obrázky zobrazujú v plnej veľkosti pod seba.. Kód:
$images = $sql->get("SELECT `i`.`id` FROM `images` AS `i` WHERE `i`.`clanky` = %d", $clanok['id']);

if(!empty($images)) {
	foreach($images as $img) {
		echo '<img src="http://www.' . DOMAIN . '/actions/clanok-image?id=' . $img['id'] . '" />';
	}
}

$clanok['id'] = id článku
$img['id'] = id obrázku - odlišuje sa od id článku..

Ďakujem veľmi pekne :)
Radek Cvek
Profil
nejdřív (pokud existuje) musí být zobrazen ten velký obrázek
echo '<img id="velky" src="http://www.' . DOMAIN . '/actions/clanok-image?id=1" />';

potom k těm náhledům v tom vypisovacím cyklu přidám (a mohu změnit velikost width= a height=):
echo '<img onClick="document.getElementById("velky").src="http://www.' . DOMAIN . '/actions/clanok-image?id=' . $img['id'] . '" src="http://www.' . DOMAIN . '/actions/clanok-image?id=' . $img['id'] . '" />';

Jinak ty náhledy by měli být různé od těch obrázků v plné velikosti. To by se mělo dělat už při uploadování - takto
misho3
Profil *
Dakujem,
ale nemohli by ste mi napísať ten script v celku? Teda stačí bez toho zmenšovania..
Až taký skúsený kóder nie som..
Radek Cvek
Profil
<?php
echo '<img id="velky" src="http://www.' . DOMAIN . '/actions/clanok-image?id=1" /><br />';

$images = $sql->get("SELECT `i`.`id` FROM `images` AS `i` WHERE `i`.`clanky` = %d", $clanok['id']);

if(!empty($images)) {
    foreach($images as $img) {
        echo '<img width="20%" height="20%" onClick="document.getElementById("velky").src="http://www.' . DOMAIN . '/actions/clanok-image?id=' . $img['id'] . '" src="http://www.' . DOMAIN . '/actions/clanok-image?id=' . $img['id'] . '" />';
    }
}
?>
misho3
Profil *
Dakujem, lenze to nefunguje..
Jednam v druhom riadku namiesto id=1 treba dat prvy obrazok z daneho clanku a tie miniatury asi nejak naodkazovat aby sa ten "velky" menil..
Radek Cvek
Profil
1. neznám strukturu databází - první obrázek z článku asi bude toto:
echo '<img id="velky" src="http://www.' . DOMAIN . '/actions/clanok-image?id='".$clanok['id']"' ;" />';

2. toto onClick="document.getElementById("velky").src="http://www.' . DOMAIN . '/actions/clanok-image?id=' . $img['id'] . '" zajistí, aby se velký měnil
samozřejmě se musí změnit to DOMAIN

aha - mám tam špatně uvozovky
Radek Cvek
Profil
správné uvozovky:
echo '<img width="20%" height="20%" onClick="document.getElementById(\'velky\').src=\'http://www.DOMAIN/actions/clanok-image?id=' . $img['id'] . '" src="http://www.DOMAIN/actions/clanok-image?id=' . $img['id'] . '" />';
misho3
Profil *
no teraz mi to nezobrazuje miniatury vobec..
Hladam tam kde končí onClick=" - lebo tá druhá (ukončujúca) úvodzovka tam nie je - aspoň ju nevidím
Radek Cvek
Profil
je to těžké psát po paměti - myslel jsem, že stačí nápad
echo '<img width="20%" height="20%" onClick="document.getElementById(\'velky\').src=\'http://www.DOMAIN/actions/clanok-image?id=' . $img['id'] . '\'" src="http://www.DOMAIN/actions/clanok-image?id=' . $img['id'] . '" />';
misho3
Profil *
Ok.. veľmi pekne ďakujem..
ešte som si v tom vašom posledom kode zmenil jednu úvodzovku a pridal koncovú pre onClick a už to ide..
Tiež som si nastavil ten prvý obrázok podľa toho prvého scriptu (ktorý som pridal na začiatku) len som pridal LIMIT 1..

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: