Rozevírací seznm a zobrazení dat

Napište nám o svých webových stránkách, dejte vědět o jakémkoliv jiném zajímavém webu

Moderátoři: Myloš, Mods_senior

pajacz17
Level 3
Level 3
Příspěvky: 592
Registrován: březen 14
Pohlaví: Muž
Stav:
Offline

Rozevírací seznm a zobrazení dat

Příspěvekod pajacz17 » 13 pro 2016 11:06

Ahoj, můžete mi prosím poradit, jak udělat rozevírací seznam, aby byly vždy vidět pouze vybrané položky. Jde to pomocí php?
Nevím kde začít. Děkuji

Reklama
Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Rozevírací seznm a zobrazení dat

Příspěvekod CZechBoY » 13 pro 2016 18:18

A kdy chces ty polozky videt? Po odeslani na server nebo hned u klienta?
Jestli u klienta tak zkus nejakej multiselect js plugin.. treba bootstrap-select nebo select2.
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

pajacz17
Level 3
Level 3
Příspěvky: 592
Registrován: březen 14
Pohlaví: Muž
Stav:
Offline

Re: Rozevírací seznm a zobrazení dat

Příspěvekod pajacz17 » 14 pro 2016 06:21

Rád bych po odeslání na server, takže pokud možno přes php. Rád bych aby tam byly checkboxy nebo rozevírací seznam a podle toho se mě to zobrazilo. Stačí udělat formulář s těmito buttony a potom to načítat pomocí include do stránky, nebo je jiný princip? Děkuji

Dodatečně přidáno po 4 hodinách 6 minutách 20 vteřinách:
Napsal jsem toto, ale nejde to prosím udělat jednodušeji, abych pro každé zaškrtnutí nemusel vše opisovat.
Je něco jako: pokud je $_GET['blok1'] vypiš tento blok jinak nic nevypiš
a zároveň pokud je $_GET['blok2'] vypiš tento blok jinak nic nevypiš atd pro blok 3 a 4?


Kód: Vybrat vše

<form action="" method="get">

<input type="checkbox" name="blok1" value="blok1" checked="true" /> blok1<br />
<input type="checkbox" name="blok2" value="blok2" checked="true" /> blok2<br />
<input type="checkbox" name="blok3" value="blok3" checked="true" /> blok3<br />
<input type="checkbox" name="blok4" value="blok4" checked="true" /> blok4<br />
<br />

<input type="submit" name="odeslat" value="zobrazit" />

</form>

<?php
           
           
$blok1 = "blok1";
$blok2 = "blok2";
$blok3 = "blok3";
$blok4 = "blok4";

           
if ((isset($_GET['blok1'])) && (isset($_GET['blok2'])) && (isset($_GET['blok3'])) && (isset($_GET['blok4'])))
{
include "blok1.php";
echo '<br />';
include "blok2.php";
echo '<br />';
include "blok3.php";
echo '<br />';
include "blok4.php";
echo '<br />';
}
elseif ($_GET['blok1'] & $_GET['blok2'] & $_GET['blok3'])
{
include "blok1.php";
echo '<br />';
include "blok2.php";
echo '<br />';
include "blok3.php";
echo '<br />';
}

else
{
echo "chyba";
}



?>


Děkuji

Dodatečně přidáno po 6 hodinách 42 minutách 46 vteřinách:
Tak se mi povedl zápis zkrátit takto a funguje to.

Kód: Vybrat vše

<!-- Checkbox -->
  <form action="" method="get">
  <input type="checkbox" name="blok1" value="blok1" checked="true" /> blok1<br />
  <input type="checkbox" name="blok2" value="blok2" checked="true" /> blok2<br />
  <input type="checkbox" name="blok3" value="blok3" checked="true" /> blok3<br />
  <input type="checkbox" name="blok4" value="blok4" checked="true" /> blok4<br />
  <br />
  <input type="submit" name="odeslat" value="zobrazit" />
  </form>
 
  <?php

 
if (isset($_GET['odeslat']))
   {         
    if (isset($_GET['blok1']))
    {
     include "../inc/test/blok1.php";
     echo '<br />';
    }
   
    if (isset($_GET['blok2']))
    {
     include "../inc/test/blok2.php";
     echo '<br />';
    }
   
    if (isset($_GET['blok3']))
    {
     include "../inc/test/blok3.php";
     echo '<br />';
    }
   
    if (isset($_GET['blok4']))
    {
     include "../inc/test/blok4.php";
     echo '<br />';
    }
    }

else
{
include "../inc/test/blok1.php";
echo '<br />';
include "../inc/test/blok2.php";
echo '<br />';
include "../inc/test/blok3.php";
echo '<br />';
include "../inc/test/blok4.php";
echo '<br />';
}


?>


Ještě bych potřeboval, aby se mi vždy zobrazily zaškrtnutý políčka pouze vybraných bloků.
Mohu Vás poprosit jak to udělat?

Díky

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Rozevírací seznm a zobrazení dat

Příspěvekod CZechBoY » 14 pro 2016 16:53

Vsak to resis tema podminkama dole, ne? Nebo co mas v tech souborech blok1-blok5?
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

pajacz17
Level 3
Level 3
Příspěvky: 592
Registrován: březen 14
Pohlaví: Muž
Stav:
Offline

Re: Rozevírací seznm a zobrazení dat

Příspěvekod pajacz17 » 15 pro 2016 06:31

Zatím nic, ale ten blok bude kus stránky, který se tam načte po zaškrtnutí příslušného checkboxu. Zatím mně to načítá pouze text, ale vždy po zmáčknutí tlačítka se vždy opět načte formulář a všechny checkboxy jsou zatržený. Chtěl bych, pokud zaškrtnu pouze blok 2, aby po zobrazení tohoto bloku se načetl formulář pouze se zaškrtnutým vybraným blokem.

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Rozevírací seznm a zobrazení dat

Příspěvekod CZechBoY » 15 pro 2016 09:19

Aha ty me mates a pouzivas blok i pro zaskrtavatko :D

Kód: Vybrat vše


<input type="checkbox" name="blokX" value="blokX"<?php if (!empty($_GET["blokX"]) { ?> checked="checked"<?php ?>>
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

pajacz17
Level 3
Level 3
Příspěvky: 592
Registrován: březen 14
Pohlaví: Muž
Stav:
Offline

Re: Rozevírací seznm a zobrazení dat

Příspěvekod pajacz17 » 15 pro 2016 11:01

Díky moc jsi borec. :clap: Funguje to perfektně. Jaké jednoduché když člověk ví jak na to. Snad se taky k tomu někdy dopracuji. Ještě si to upravím, aby vždy při prvním načtení stránky bylo vše zaškrtnuté a zobrazené.

Ještě bych měl prosbičku. Je možné přenést proměnnou při přesměrování na jinou stránku?

Kód: Vybrat vše

header('Location: test.php?data=ano');
exit;

if (data)
{
$text = "Toto se vypíše";
}


Takto dokážu vypsat text, který si nastavím do $text. Co když ale chci zapsat - Vaše odpověď je "ta proměnná kterou tam zadal uživatel např. do formuláře"?

Díky, snad jsem to vysvětlil lépe než minule :D

Uživatelský avatar
CZechBoY
Master Level 9.5
Master Level 9.5
Příspěvky: 8813
Registrován: srpen 08
Bydliště: Brno
Pohlaví: Muž
Stav:
Offline
Kontakt:

Re: Rozevírací seznm a zobrazení dat

Příspěvekod CZechBoY » 15 pro 2016 13:14

To je trosku tezsi - bud muzes do url pridat nejaky parametr a mit lhasku napevno naparovanou pro hodnotu toho parametru, nebo pouzit session.

Kód: Vybrat vše


<?php if (isset($_GET["ok"]) && $_GET["ok"] == 1) { ?>
Uspesne ulozeno.
<? ?>

a potom v tom tvym formulari jak presmerovavas

Kód: Vybrat vše

<?php
header
('Location: test.php?ok=1');
exit;
 


Pokud potrebujes tu hlasku dynamickou tak pomoci session

Kód: Vybrat vše

<?php
session_start
();
if (!empty(
$_SESSION["hlaska"])) {
    echo 
htmlspecialchars($_SESSION["hlaska"], ENT_QUOTES):
}
 

a hlasku ulozis takhle

Kód: Vybrat vše

<?php
session_start
();

if (
$data) {
    
$_SESSION["hlaska"] = "Hlaska";
}
 
PHP, Nette, MySQL, C#, TypeScript, Python
IntelliJ Idea, Docker, Opera browser, Linux Mint
iPhone XS
Raspberry PI 3 (KODI, Raspbian)
XBox One S, PS 4, nVidia GeForce NOW

pajacz17
Level 3
Level 3
Příspěvky: 592
Registrován: březen 14
Pohlaví: Muž
Stav:
Offline

Re: Rozevírací seznm a zobrazení dat

Příspěvekod pajacz17 » 15 pro 2016 13:57

Ok, snad se povede. Díky moc.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek

Zpět na “Web-tipy a vaše weby”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 3 hosti