Autor | Zpráva | ||
---|---|---|---|
P3T3R Profil |
#1 · Zasláno: 29. 1. 2011, 12:47:54
Dobrý deň,
potreboval by som nejaký script na striedanie optionov zo selectu. Option dáva value z databázy (číslo/ID). Ako ukážku dávam kód: <select id="zobrazgraf" name="zobrazgraf"> <option value="1">Index</option> <option value="2">Hladovka</option> <option value="3">Vitanová</option> <option value="4">Liesek</option> <option value="5">Trstená</option> <option value="6">Brezovica</option> <option value="7">Zabiedovo</option> <option value="8">Tvrdošín</option> <option value="9">Štefanov</option> <option value="10">Nižná</option> <option value="11">Podbieľ</option> <option value="12">Krivá</option> <option value="13">Dlhá</option> <option value="14">Oravský Podzámok</option> <option value="15">Dolný Kubín</option> <option value="16">Istebné</option> <option value="17">Suchá hora</option> <option value="21">Test</option> </select> Po kliknutí na option ukáže grafy pre danú obec, potrebujem aby sa po 30 sekundách striedali a vypisovali grafy. 30 sekúnd index - potom 30 sekúnd Hladovka atď dookola až kým nekliknem na zastaviť striedanie grafov. Ďakujem |
||
Radek Cvek Profil |
#2 · Zasláno: 29. 1. 2011, 13:19:41
Střídání v intervalu není problém - důležité je: Jak se vypisuje ten graf? Pomocí javascriptu? Pomocí PHP? Nebo je na něj nějaký odkaz? Je to obrázek?
|
||
P3T3R Profil |
#3 · Zasláno: 29. 1. 2011, 13:20:45
Pomocou php
<select id="zobrazgraf" name="zobrazgraf"> <?php while ($dedina = mysql_fetch_array($dedR)) { $dediny[]=$dedina['dedina_id']; if($dedina[dedina_id]==$_GET['zobrazgraf']) $add=" SELECTED"; echo '<option value="'.$dedina[dedina_id]."\"$add>".$dedina[dedina]."</option>\n"; unset($add); } ?> |
||
Radek Cvek Profil |
#4 · Zasláno: 29. 1. 2011, 13:47:01
Tím kódem se zobrazuje SELECT s OPTIONY z databáze, ale jak se zobrazuje graf? Třeba portal.sk/zobraz_graf.php?dedina=Blava nebo portal.sk/grafy/blava.jpg ...
Nebo stačí, aby se v SELECTU střídalo SELECTED u OPTIONU a neodesílalo se to - potom se nebude měnit graf, ale jenom vybraný OPTION? |
||
P3T3R Profil |
#5 · Zasláno: 29. 1. 2011, 13:53:01
Myslíš toto?
echo "\n<div class=\"ping\" id=\"$id\"> <p>$nazov</p> <img src=\"$adresa\" class=\"grafik\" alt=\"ping\" /> <a class=\"pridat\" href=\"nahradit.php?id=$id\"><img src=\"obrazky/nahradit.png\" alt=\"Nahradiť graf\" />Nahradiť graf</a> <a class=\"zmazat\" href=\"#\"><img src=\"obrazky/zmazat.png\" alt=\"Zmazať graf\" />Zmazať graf</a> </div>\n"; premenná adresa sa definuje obrázok grafu kde je umiestnený (na inom servery). Každý graf je iný, takže rovnaká adresa tam nie je. A adresa na zobrazenie optionu je takáto: adresa.sk/?zobrazgraf=2 pre zobrazenie optionu č.2 |
||
Radek Cvek Profil |
#6 · Zasláno: 29. 1. 2011, 13:55:39 · Upravil/a: Radek Cvek
adresa.sk/?zobrazgraf=2 - to je ono a výstup je jenom obrázek? To by bylo nejjednodušší.
a vlastně je to jedno |
||
P3T3R Profil |
#7 · Zasláno: 29. 1. 2011, 14:03:33
Radek Cvek:
Áno výstup je obrázok, konkrétne 15 takých obrázkov sa tam zobrazí. Ide o monitorovanie grafov obcí. Takže sa ich na obrazovke zobrazí 15. Ako to riešiť to striedanie? Potrebujem ale aby sa to manuálne vyvolalo keď kliknem na spustiť striedanie grafov a zastavilo sa to pri zastaviť striedanie grafov. Ďalej by som potreboval to, že keď dáš zastaviť striedanie grafov, tak sa obrázky potom obnovujú každých 30 sekúnd, len obrázky. Keďže je tam každá iná adresa predpokladám nejaký javascript. Potom - keď stojí na zastavení grafov a dáš spustiť striedanie grafov, tak sa pustí od aktuálneho, nie od začiatku. Pri výbere grafu zo selectu napr. Index sa obrázok nesmie ďalej posúvať, musia sa len obnovovať obrázky grafov. Ďakujem |
||
Radek Cvek Profil |
#8 · Zasláno: 29. 1. 2011, 15:14:00 · Upravil/a: Radek Cvek
pokud mám skript třeba zobrazgraf.php a volám ho třeba zobrazgraf.php?zobrazgraf=2
tak to bude takto: <html> <head> <script type="text/javascript"> setInterval(zmenDedinu, 3000); function zmenDedinu() { var myselect=document.getElementById("zobrazgraf"); loadXMLDoc(myselect.value); for (var i=0; i<myselect.options.length; i++){ myselect.options[i].selected=false; } myselect.options[Math.floor(Math.random() * myselect.options.length)].selected=true; } function loadXMLDoc(dedina) { var xmlhttp; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { document.getElementById("graf").innerHTML=xmlhttp.responseText; } } xmlhttp.open("GET","zobrazgraf.php?zobrazgraf=" + dedina, true); xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded"); xmlhttp.send(); } </script> </head> <body> <form> <select id="zobrazgraf" onchange="loadXMLDoc(this.value)" name="zobrazgraf"> <option value="1">Index</option> <option value="2">Hladovka</option> <option value="3">Vitanová</option> <option value="4">Liesek</option> </select> </form> <div id="graf"></div> </body> </html> - po určité době se změní selected u optionu a AJAXem se podívám, co je v zobrazgraf.php a vypíšu to do div id="graf" - střídání jsem udělal náhodně, protože už jsem to tu viděl a bylo to pro mě rychlejší |
||
Radek Cvek Profil |
#9 · Zasláno: 29. 1. 2011, 16:20:07
jenom střídání toho optionu je:
<html> <head> <script type="text/javascript"> setInterval(zmenOption, 3000); function zmenOption() { var myselect = document.getElementById("zobrazgraf"); var vybrany = myselect.selectedIndex; myselect.options[vybrany].selected=false; myselect.options[vybrany+1].selected=true; } </script> </head> <body> <form> <select id="zobrazgraf" name="zobrazgraf"> <option value="1">Index</option> <option value="2">Hladovka</option> <option value="3">Vitanová</option> <option value="4">Liesek</option> </select> </form> <div id="graf"></div> </body> </html> nekontroluju délku selectu a funguje to options[3+1]=options[0] |
||
P3T3R Profil |
#10 · Zasláno: 29. 1. 2011, 16:28:13
Radek Cvek:
ĎAKUJEM :) Ono to funguje, len som Ti zabudol povedať, že sa to musí aj načítať zo optionu. Každý option má niečo definované, ktoré grafy má zobraziť. Teraz mi robí to, že sa akurát striedajú optiony, avšak obsah z optiónov sa nenačíta. Inak to funguje zatiaľ dobre. Ďakujem |
||
Časová prodleva: 13 let
|
0