Forum » Izdelava spletišč » Checkboxes dropdown (show/hide)
Checkboxes dropdown (show/hide)
dinozaver7 ::
Lp!
Spet jaz... iščem že nekaj časa pa ne najdem skripte(ali česa podobnega), ki bi prikazala/skrila listo checkboxov.. Torej imam nekaj odebeljenih imen("nadpomenk"), ko klikneš na naslov ti pod njim naniza(vsakega v svojo vrstico)5-10 checkboxov in ko obkljukaš s klikom na naslov zapreš checkboxe(jih "potegne" v naslov). Je pa prikaz imen in checkboxov narejen v phpju.
Trenutno imam vse checkboxe(jih je mnogo) na eni strani in je nepregledno.
Upam, da kdo razume in ve rešitev za ta problem!
Lp,
M
Spet jaz... iščem že nekaj časa pa ne najdem skripte(ali česa podobnega), ki bi prikazala/skrila listo checkboxov.. Torej imam nekaj odebeljenih imen("nadpomenk"), ko klikneš na naslov ti pod njim naniza(vsakega v svojo vrstico)5-10 checkboxov in ko obkljukaš s klikom na naslov zapreš checkboxe(jih "potegne" v naslov). Je pa prikaz imen in checkboxov narejen v phpju.
Trenutno imam vse checkboxe(jih je mnogo) na eni strani in je nepregledno.
Upam, da kdo razume in ve rešitev za ta problem!
Lp,
M
:P
dinozaver7 ::
Ima mogoče kdo konkreten odgovor?
Karkoli vprašam, skoraj nikoli ne dobim konkretnega odgovora :(
Karkoli vprašam, skoraj nikoli ne dobim konkretnega odgovora :(
:P
dinozaver7 ::
Je že res, da je to tisto, kar rabim, vendar mi zadeve ne uspe integrirat v tole kodo spodaj. Ko klikneš na npr. Starost se ti spodaj odprejo dodatni okenčki (0-18,18-25...). Bi znal kdo pomagat? Lahko tudi proti plačilu! lp
echo "<form method=\"post\" action=\"test.php\">"; 02. 03. $qSkupine = mysql_query("SELECT ime, id_s FROM skupine WHERE ime = 'Starost' ORDER BY ime"); 04. while ($rSkupine = mysql_fetch_array($qSkupine)) { 05. echo "<p><b><font size='4'>"; 06. echo $rSkupine['ime']."<br />"; 07. echo "</b></font></p>"; 08. 09. $qMoznosti = mysql_query("SELECT ime, id_m FROM moznosti WHERE id_s = ".$rSkupine['id_s']." ORDER BY ime"); 10. while ($rMoznosti = mysql_fetch_array($qMoznosti)) { 11. echo "<input type=\"checkbox\" name=\"".$rSkupine['id_s']."[]\" value=\"".$rMoznosti['id_m']."\" /> ".$rMoznosti['ime']."<br />"; 12. } 13. } 14. 15. $qSkupine = mysql_query("SELECT ime, id_s FROM skupine WHERE ime != 'Starost' ORDER BY ime"); 16. while ($rSkupine = mysql_fetch_array($qSkupine)) { 17. echo "<p><b><font size='4'>"; 18. echo "<br />"; 19. echo $rSkupine['ime']."<br />"; 20. echo "</b></font></p>"; 21. 22. $qMoznosti = mysql_query("SELECT ime, id_m FROM moznosti WHERE id_s = ".$rSkupine['id_s']." ORDER BY ime"); 23. while ($rMoznosti = mysql_fetch_array($qMoznosti)) { 24. echo "<input type=\"checkbox\" name=\"".$rSkupine['id_s']."[]\" value=\"".$rMoznosti['id_m']."\" /> ".$rMoznosti['ime']."<br />"; 25. } 26. } 27. echo "<br />"; 28. echo "<input type=\"submit\" value=\"Potrdi\" name=\"klik\" />"; 29. echo "</form>";
:P
Zgodovina sprememb…
- spremenil: dinozaver7 ()
Tody ::
Če misliš delat ankete, potem ti je bolje da vzameš že kako gostovano zadevo. Kot recimor http://polldaddy.com/
dinozaver7 ::
Ni anketa, v bistvu je precej daleč od tega. Res noben ne obvlada javascripta oz. se mu ne da razlagat/pomagat?
:P
dinozaver7 ::
Mogoče kdo ve, če je spodnja koda pravilna? Ker očitno ne deluje:)
Torej, našel sem primerno kodo za javascript, jo vstavil in vse povezal, vendar ne deluje. Sam ne morem najdi napake.
Torej, z javascriptom skrivam/odkrivam nek DIV, ki ima ime .$rSkupine['ime']. vendar ne vem, če sem vse skupaj prav speljal, sploh pri poimenovanju in javascriptu.
Torej, našel sem primerno kodo za javascript, jo vstavil in vse povezal, vendar ne deluje. Sam ne morem najdi napake.
<?php mysql_connect("localhost",nekuporabnik","nekogeslo"); mysql_select_db("baza1"); mysql_query("SET NAMES 'utf8';"); mysql_query("SET CHARACTER SET 'utf8';"); echo "<html> <head> <title>test</title> <link href='css/style.css' rel='stylesheet' type='text/css'> <script type='text/javascript' src='jquery-1.4.2.min.js'></script> <script type='text/javascript'> $ (function() { $ (#\"".$rSkupine['ime']."\").click(function() { $ (#\"".$rSkupine['ime']."\") .toggle('fast'); }); }); </script> </head> <body>"; if ($_GET['idb']) { $qNekaj = mysql_query("SELECT * FROM izdelki WHERE id_i = ".mysql_real_escape_string($_GET['idb']).""); $rNekaj = mysql_fetch_array($qNekaj); echo "<h1>".$rNekaj['ime']."</h1><p>".$rNekaj['opis']."</p><img src=\"slike/".$rNekaj['slika']."\" />"; } elseif (!$_POST['klik']) { echo "<form method=\"post\" action=\"test.php\">"; $qSkupine = mysql_query("SELECT ime, id_s FROM skupine WHERE ime = 'Starost' ORDER BY ime"); while ($rSkupine = mysql_fetch_array($qSkupine)) { echo "<p><b><font size='4'>"; echo $rSkupine['ime']."<br />"; echo "</b></font></p>"; $qMoznosti = mysql_query("SELECT ime, id_m FROM moznosti WHERE id_s = ".$rSkupine['id_s']." ORDER BY ime"); while ($rMoznosti = mysql_fetch_array($qMoznosti)) { echo "<input type=\"checkbox\" name=\"".$rSkupine['id_s']."[]\" value=\"".$rMoznosti['id_m']."\" /> ".$rMoznosti['ime']."<br />"; } } $qSkupine = mysql_query("SELECT ime, id_s FROM skupine WHERE ime != 'Starost' ORDER BY ime"); while ($rSkupine = mysql_fetch_array($qSkupine)) { echo "<p><b><font size='4'>"; echo "<br />"; echo $rSkupine['ime']." <button id=\"".$rSkupine['ime']."\">Prikaži</button>"; echo "<br />"; echo "</b></font></p>"; echo "<div id=\"".$rSkupine['ime']."\">"; $qMoznosti = mysql_query("SELECT ime, id_m FROM moznosti WHERE id_s = ".$rSkupine['id_s']." ORDER BY ime"); while ($rMoznosti = mysql_fetch_array($qMoznosti)) { echo "<input type=\"checkbox\" name=\"".$rSkupine['id_s']."[]\" value=\"".$rMoznosti['id_m']."\" /> ".$rMoznosti['ime']."<br /></div>"; } } echo "<br />"; echo "<input type=\"submit\" value=\"Diagnosticiraj\" name=\"klik\" />"; echo "</form>";
Torej, z javascriptom skrivam/odkrivam nek DIV, ki ima ime .$rSkupine['ime']. vendar ne vem, če sem vse skupaj prav speljal, sploh pri poimenovanju in javascriptu.
:P
t3hn0 ::
1. googlanja se navadi ker ti prakticno ponuja vse
2. najbolje je da se ti naucis uporabljat zadevo, ne pa da ti mi damo direktno resitev - to se naucis ob kaksnem tutorialu (ce bi zelel uporabljat jQuery imas clanke na njihovi strani)
3. da v glavi lahko uporabljas spremenljivko $rSkupine['ime'], moras imeti nek sql query pred tem, da nastavis vrednost spremenljivki (vrstici 16. in 17.)
4. na koncu ti manjka "}" (zakljucek za pogoj iz 36. vrstice)
5. v glavi si definiral da jQuery gleda samo polja ki imajo id $rSkupine['ime'], vendar ta id na strani ne obstaja! Ce mislis uporabljat name, moras to mal spremenit v $('input[name=<?= $rSkupine['ime']; ?>]')
6. ne mores za trigger in rezultat uporabljat isti ime inputa! npr: prvi checkbox ki bo nato aktiviral/prikazal naslednjega mora imeti svoje ime...npr: klikniMe, nato pa definiras za to funkcijo da ob kliku na $('#klikniMe').click() {} naredi nekaj...
2. najbolje je da se ti naucis uporabljat zadevo, ne pa da ti mi damo direktno resitev - to se naucis ob kaksnem tutorialu (ce bi zelel uporabljat jQuery imas clanke na njihovi strani)
3. da v glavi lahko uporabljas spremenljivko $rSkupine['ime'], moras imeti nek sql query pred tem, da nastavis vrednost spremenljivki (vrstici 16. in 17.)
4. na koncu ti manjka "}" (zakljucek za pogoj iz 36. vrstice)
5. v glavi si definiral da jQuery gleda samo polja ki imajo id $rSkupine['ime'], vendar ta id na strani ne obstaja! Ce mislis uporabljat name, moras to mal spremenit v $('input[name=<?= $rSkupine['ime']; ?>]')
6. ne mores za trigger in rezultat uporabljat isti ime inputa! npr: prvi checkbox ki bo nato aktiviral/prikazal naslednjega mora imeti svoje ime...npr: klikniMe, nato pa definiras za to funkcijo da ob kliku na $('#klikniMe').click() {} naredi nekaj...
^.^
dinozaver7 ::
Ok, s super pomočjo t3hn0ta sem prišel skoraj do končane kode. Imam samo še 2 problema:
1. Ko kliknem na gumb pokaži, mi checkboxe skrije samo za sekundo, potem pa refresha in spet skrije.
2. Dela samo prvi gumb (pri prvem divu).
1. Ko kliknem na gumb pokaži, mi checkboxe skrije samo za sekundo, potem pa refresha in spet skrije.
2. Dela samo prvi gumb (pri prvem divu).
<html><head><title>PHP TEST</title><link href='css/style.css' rel='stylesheet' type='text/css'> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type='text/javascript' src='jquery-1.4.2.min.js'></script> </head><body> <?php if ($_GET['idb']) { $qNekaj = mysql_query("SELECT * FROM izdelki WHERE id_i = ".mysql_real_escape_string($_GET['idb']).""); $rNekaj = mysql_fetch_array($qNekaj); echo "<h1>".$rNekaj['ime']."</h1><p>".$rNekaj['opis']."</p><img src=\"slike/".$rNekaj['slika']."\" />"; } elseif (!$_POST['klik']) { echo "<form method=\"post\" action=\"action.php\">"; $skupinaQuery[] = $eSkupine['id']; $qSkupine = mysql_query("SELECT ime, id_s FROM skupine ORDER BY ime"); while ($rSkupine = mysql_fetch_array($qSkupine)) { echo "<p><b><font size='4'>"; echo "<br />"; echo $rSkupine['ime'].""; ?> <button id='pokazi<?php echo $eSkupine['id'];?>'>Prikaži</button> <?php echo "<br />"; echo "</b></font></p>"; ?> <div id="test<?php echo $eSkupine['id'];?>" style="display: none" > <?php $qMoznosti = mysql_query("SELECT ime, id_m FROM moznosti WHERE id_s = ".$rSkupine['id_s']." ORDER BY ime"); while ($rMoznosti = mysql_fetch_array($qMoznosti)) { echo "<input type=\"checkbox\" name=\"".$rSkupine['id_s']."[]\" value=\"".$rMoznosti['id_m']."\" /> ".$rMoznosti['ime']."<br />"; } ?> </div> <?php } echo "<br />"; echo "<input type=\"submit\" value=\"Potrdi\" name=\"klik\" />"; echo "</form>"; } elseif ($_POST['klik']) { $idSkupineZaStarost = 10; function vrniKriterij($stevilo) { if ($stevilo == 1) { return "1 kriteriju"; } elseif ($stevilo == 2) { return "2 kriterijema"; } else { return $stevilo." kriterijem"; } } // generiranje dinamicnega sql zahtevka $genQuery = ""; $st = 0; foreach ($_POST AS $post => $key) { if (is_array($key)) { foreach ($key AS $posta => $keya) { // keya moznost, posta skupina if (empty($genQuery)) { $genQuery .= " WHERE ((id_m = ".$keya.")"; } else { $genQuery .= " OR (id_m = ".$keya.")"; } } } } //echo ("SELECT COUNT(*) AS count, id_i FROM izdelki_moznosti".$genQuery." GROUP BY id_i ORDER BY COUNT(*) DESC"); $najboljUstreza = true; $qNajboljsi = mysql_query("SELECT COUNT(*) AS count, id_i FROM izdelki_moznosti".$genQuery.") GROUP BY id_i HAVING count > 1 ORDER BY count DESC LIMIT 10"); while ($rNajboljsi = mysql_fetch_array($qNajboljsi)) { $qSladoled = mysql_query("SELECT ime, id_i FROM izdelki WHERE id_i = ".$rNajboljsi['id_i'].""); $rSladoled = mysql_fetch_array($qSladoled); if ($najboljUstreza == true) { echo "<b><font size='3px'>Najverjetneje imate:</font></b>"; echo "<div style=\"border: 2px solid #4389c1; width: auto; padding: 5px;\">"; } echo "<a href=\"/diagnoza.php?idb=".$rSladoled['id_i']."\">".$rSladoled['ime']."</a><br />"; foreach ($_POST AS $post => $key) { if (is_array($key)) { foreach ($key AS $posta => $keya) { // keya moznost, posta skupina $qKriterij = mysql_query("SELECT * FROM izdelki_moznosti WHERE id_m = ".$keya." AND id_i = ".$rNajboljsi['id_i'].""); if (mysql_num_rows($qKriterij) > 0) { $rKriterij = mysql_fetch_array($qKriterij); if ($rKriterij['id_s'] != $idSkupineZaStarost) { $qPlus = mysql_query("SELECT ime FROM moznosti WHERE id_m = ".$keya.""); $rPlus = mysql_fetch_array($qPlus); echo "<nobr>"; //echo mb_strtolower($rPlus['ime']." "); echo $rPlus['ime']." "; echo "<img src=\"kljukica.png\" alt=\"Kljukica\" />"; echo "</nobr>"; } } } } } echo "<br />"; if ($rNajboljsi['count'] != $st) { foreach ($_POST AS $post => $key) { if (is_array($key)) { foreach ($key AS $posta => $keya) { // keya moznost, posta skupina $qKriterij = mysql_query("SELECT * FROM izdelki_moznosti WHERE id_m = ".$keya." AND id_i = ".$rNajboljsi['id_i'].""); if (mysql_num_rows($qKriterij) == 0) { $qPlus = mysql_query("SELECT ime FROM moznosti WHERE id_m = ".$keya." AND id_s != ".$idSkupineZaStarost.""); if (mysql_num_rows($qPlus) > 0) { $rPlus = mysql_fetch_array($qPlus); echo "<nobr>"; //echo mb_strtolower($rPlus['ime']." "); echo $rPlus['ime']." "; echo "<img src=\"krizec.png\" alt=\"Krizec\" />"; echo "</nobr>"; } } } } } } if ($najboljUstreza == true) { echo "</div>"; $najboljUstreza = false; } echo "<br />"; echo "<hr />"; echo "<br />"; } echo "<br />"; echo "Prikazanih je največ 10 rezultatov. V iskalno poizvedbo so zajete starosti, vendar v rezultatih niso prikazane zaradi preglednosti. <a href=\"javascript: history.go(-1)\">Nazaj</a>"; } mysql_close(); ?> <script type='text/javascript'> $(document).ready(function() { <?php foreach($skupinaQuery as $id) { echo "$ ('#pokazi".$id."').click(function() { $ ('#test".$id."') .show('slow'); $('#pokazi".$id."').hide('fast'); });"; } ?> }); </script> </body> </html>
:P
Zgodovina sprememb…
- spremenil: dinozaver7 ()
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | [php] preverjanje online uporabnikovOddelek: Programiranje | 2041 (1697) | cobrica |
» | sql injection [PHP + mysql]Oddelek: Informacijska varnost | 1832 (1557) | Lion29 |
» | skripta za člankeOddelek: Izdelava spletišč | 1264 (1086) | cahahopie |
» | PHP help!Oddelek: Programiranje | 1713 (1551) | rc-car |
» | MySQL & PHP napaka..Oddelek: Programiranje | 1707 (1522) | lordgreg |