Autor Zpráva
jarda_
Profil *
Ahoj,
potřeboval bych aby se po zaškrtnutí checkboxu "moje" vybraly data z databáze, u kterých je garant přihlášený uživatel, po zaškrtnutí checkboxu "partner" partner přihlášeného uživatel a po zaškrtnutí obojího ty řádky, kde jsem já(přihlášený), nebo partner. Pokud nezaškrtnu nic, tak aby e vybrali všechny řádky z tabulky.
Nevíte někdo prosím jak na to? Problém je v tom, že ať zaškrtávám cokoliv, nedělá to nic. Chtěl bych abych nemusel po zaškrtnutí checkboxu už klikat na žádný submit.
Zatím mám toto:


<?php
$user="$_SESSION['user']"
mysql_connect('xxxxx',xxxxx','xxxxx');
mysql_select_db("xxxxx");
$sql = "select partner from users where jmeno='$user'";
$res = mysql_query($sql);
while ($myrow = mysql_fetch_array($res)){
$partner = $myrow["partner"];

echo "
<table class=\"i_user\">
<tr>
<td>
<b>Přihlášen:</b>
</td>
<td>
$user
</td>
</tr>
<tr>
<td>
<b>Partner:</b>
</td>
<td>
$partner
</td>
</tr>
</table>";
?>


<form action="<?php echo $PHP_SELF ?>" method="post">
<input type="checkbox" name="moje" checked>Pouze moje<br/>
<input type="checkbox" name="partner" >Mého partnera
</form>

<?php
if (document.moje.checked=="true"):
$sql_moje="select * from tabulka where $garant='$user'";
elseif (document.partner.checked=='true'":
$sql_partner="select  * from tabulka where $garant='$partner' ";
elseif (document.moje.partner.checked=='false'):
$sql_all="select * from tabulka";
endif;

echo " <center><table>
<tr>
<td class=\"tb_topic\">Slouoec 1:</td>
<td class=\"tb_topic\">Slouoec 2:</td>
<td class=\"tb_topic\">Slouoec 3:</td>
<td class=\"tb_topic\">Slouoec 4:</td>
<td class=\"tb_topic\">Slouoec 5 :</td>
</tr>
";

while ($myrow = mysql_fetch_array($res_m))
{
$Slouoec1 = $myrow["Slouoec1"];
$Slouoec2 = $myrow["Slouoec2"];
$Slouoec3 = $myrow["Slouoec3"];
$Slouoec4 = $myrow["Slouoec4"];
$Slouoec5 = $myrow["Slouoec5"];
echo"
<tr onmouseover=\"this.style.backgroundColor='#7b8ccb'\" onmouseout=\"this.style.backgroundColor='#ffffff'\">

<td><center>$Slouoec1</center></td>
<td><center>$Slouoec2</center></td>
<td><center>$Slouoec3</center></td>
<td><center>$Slouoec4</center></td>
<td><center>$Slouoec5</center></td>
";

   }
echo"</tr></table></center>";
?>


Hodnotu $_SESSION['user'] posílá přihlášovací formulář ze stránky login.php
Po přihlášení se přihlášený uživatel i jeho partner vypíší správně. Problém je někde v těch podmínkách if a tipoval bych, že bude ještě potřeba nějak využít událost onCheck u zaškrtávacích polí. Nevím ale jak a ani se mi nepodařilo nic vygooglovat :-(

Budu vděčný za každou radu.
Zdravím
Jarda
Kajman_
Profil *
Proč to neuděláte bez javascriptu? Prostě v php vypsat věci z tabulky dle odeslaného zaškrtávacího formuláře.
jarda_
Profil *
Rád bych, ale myslím, že to asi nepůjde. Požadavek je, aby se výpis z databáze měnil bez jakéhokoliv submitu, pouze zaškrtáváním a odškrtáváním jednotlivých checkboxů. To nevím jak udělat jinak než javascriptem. Aby checkbox fungoval jako submit, to bude cosi jako onChange="document.formular.submit(); ale já mám spíše problém jak zajistit, aby se po zaškrtnutí checkboxu provedl sql dotaz.
Kajman_
Profil *
Buď pomocí ajaxu (ale stejně by se poslal požadavek na server) nebo si v té tabulce nějak poznačíte, zda je to uživatele či partnera a javascriptem nevhodné řádky schováte.
jarda_
Profil *
To jestli je řádek uživatele, či partnera je v tabulce dané tím, že jedním ze sloupců je garant a hodnotou je jeho jméno. Každá dvojice garant - partner funguje oboustraně. Záleží kdo je přihlášen. (např. pan Novák je garantem v řádcích 1-10 a jeho partnerem je pan Dvořák, který je zároveň garantem rádku 11-20 a jeho partnerem je pan Novák.
Když se přihlásí Novák a bude mít zaškrtnuto "Pouze moje" měl by vidět jen řádky 1-10. Pokud "Pouze partnera", tak řádky 11-20 a pokud oboji, tak 1-20. Řádků ale bude až několik tisíc, tudíž by asi nebylo vhodné načíst pokaždé všechny a něktré schovávat pomocí js. Navíc garantů/partnerů je více(cca 50) a může se stát, že budou k databázi přistupovat ve stejný čas, což by vše hrozně zpomalovalo.
Radši bych, aby se při každé změně zaškrtávacích polí provedl SQL dotaz.
Našel jsem nějaký návod v ASP, ale v tom neumím a stránky jinak běží komplet v php, tak bych potřeboval spíše nějak pomoct s těmy podmínkami.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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