Diskuze: rozdelenia uzivatelov z db na jednej stranke
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Člen

Zobrazeno 7 zpráv z 7.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Tvoje řešení se dá vyřešit za pomoci PHP třeba takto https://www.itnetwork.cz/…dani-stranek
Jednoduše
Pokud si začátečník tak si udělej x souborů a v nich tmp podle požadavku
(jako v seriálu na který jsem odkázal)
Jinak se to dá jednoduše vyřešit pomocí AJAX + API
Ja by som to riešil úplne inak. Buď by som si to linkoval ako get parameter, napr:
<a href="stranka.php?uziv=treneri">TRENERI</a>
Následne by som v kóde zobrazil užívateľov podla parametru.
Alebo by som si vypísal všetkých užívateľov naraz a javascriptovo ich schovával/zobrazoval.
Iframe určite nie, to je podľa mňa rakovina zdarma, lebo obsah samotný už nevieš po načítaní webu meniť, respektívne modifikovať, čo postráca akúkoľvek logiku tvorby webu. Iframe jedine na bannery, reklamy a iné záležitosti. Aspoň podľa mňa.
pokud nechces, aby se po stisknuti tlacitka znovu nacitala cela stranka, tak
bud frameset + 2 framy
nebo pres ajax (treba jquery je na takto jednoduchou stranku idealni)
tady je hruby priklad pro obe reseni:
Frameset reseni:
index.html:
<FRAMESET rows="20%, 80%">
<FRAME name="tlacidla" src="tlacidla.html">
<FRAME name="osoby" src="osoby.php?typ=vsichni">
</FRAMESET>
tlacidla.html:
<a href="osoby.php?typ=treneri" target="osoby">Treneri</a>
<a href="osoby.php?typ=muzi" target="osoby">Muzi</a>
<a href="osoby.php?typ=zeny" target="osoby">Zeny</a>
<a href="osoby.php?typ=vsichni" target="osoby">Vsichni</a>
osoby.php:
<?php
switch($_GET['typ']) {
case 'treneri':
// tady bude kod pro vypsani treneru
echo 'treneri';
break;
case 'muzi':
// tady bude kod pro vypsani muzu
echo 'muzi';
break;
case 'zeny':
// tady bude kod pro vypsani zen
echo 'zeny';
break;
case 'vsichni':
default:
// tady bude kod pro vypsani vsech
echo 'vsichni';
break;
}
?>
jQuery reseni
index.html:
<div>
<a href="#" id="btn_treneri">Treneri</a>
<a href="#" id="btn_muzi">Muzi</a>
<a href="#" id="btn_zeny">Zeny</a>
<a href="#" id="btn_vsichni">Vsichni</a>
</div>
<div id="osoby">
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$('#btn_treneri').click(function(){
$('#osoby').load('osoby.php?typ=treneri');
});
$('#btn_muzi').click(function(){
$('#osoby').load('osoby.php?typ=muzi');
});
$('#btn_zeny').click(function(){
$('#osoby').load('osoby.php?typ=zeny');
});
});
</script>
osoby.php
<?php
switch($_GET['typ']) {
case 'treneri':
// tady bude kod pro vypsani treneru
echo 'treneri';
break;
case 'muzi':
// tady bude kod pro vypsani muzu
echo 'muzi';
break;
case 'zeny':
// tady bude kod pro vypsani zen
echo 'zeny';
break;
case 'vsichni':
default:
// tady bude kod pro vypsani vsech
echo 'vsichni';
break;
}
?>
Poznamka 1:
mozna bude u frameset reseni potreba do osoby.php pridat nejake to cache prevention, aby se obsah dostal az do prohlizece pri opravdu kazdem stisknuti tlacitka ... nemam s tim az takovou zkusenost
kdyby bylo potreba, tak na zacatek osoby.php pridat jeste toto:
header("Cache-Control: no-store, no-cache, must-revalidate, max-age=0");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
Poznamka 2:
jak uz psal Ján Timoranský , u iframe ztracis moznost zasahovat do nej javascriptem ze stranky, ve ktere je zobrazen
u klasickych framu zasahovat lze ... viz treba tady:
https://stackoverflow.com/…g-javascript
Zobrazeno 7 zpráv z 7.