PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1
Info talletamine
Postitaja: joker 2011-12-09 12:20:11

PHP kood:
 
<div class="grid">
    <
span id="title"><a href="javascript:void(0);" onClick="controlFieldBox($('div .grid'));">Rows</a></span>
    <
table id="data" cellpadding="0" cellspacing="0">
        <
tr class="head">
            <
th class="first">&nbsp;</th>
            <
th id="name">{Licence}</th>
            <
th id="module">{Module}</th>
            <
th id="ext">{Extension}</th>
            <
th id="title">{Title}</th>
            <
th id="width">{Width}</th>
            <
th id="height">{Height}</th>
            <
th id="target">{Target}</th>
            <
th id="catalog">{Location}</th>
            <
th id="login">{Identification}</th>
        </
tr>
        <!-- 
CONTENT -->
        <
tr class="hld" onmouseover="this.className = 'hlt';" onmouseout="this.className = 'hld';">
              <
td class="first">{%button}</td>
              <
td>{%name}</td>
              <
td><a href="javascript:void(0);" onClick="openWindow('index.php?view=module_add|{#location}&uid={%uid}&refresh=1')">{%module}</a></td>
              <
td align="center"><a href="javascript:void(0);" onClick="addUrlFilter('ext', '{%ext}')">{%ext}</a></td>
              <
td>{%title}</td>
              <
td align="right">{%width}</td>
              <
td align="right">{%height}</td>
              <
td>{%target}</td>
              <
td>{%catalog}</td>
              <
td align="center">{%login}</td>
          </
tr>
    <!-- 
CONTENT -->
    </
table>
    <!-- 
PAGES -->
</
div>

<
script type="text/javascript">

//Control box exist
function controlFieldBox(tag)
{
    ($(
'.fields').length
        ? (($(
'.fields').is(":visible")) ? $('.fields').hide() : $('.fields').show())
        : 
createDynamicTable(tag);
}

//Manipulate with table data
function createDynamicTable(tag) {

if (
tag == null || tag.length 1) return;

    var 
trow '';
    
    $(
'table#data tr.head th').each(function(index
    {    
        if ($(
this).attr('id') != undefined)
        {
            var 
check = ($(this).is(":visible")) ? 'checked' '';
            
            
trow += "<input type='checkbox' name='" + $(this).attr('id') + "' value='" + (++index) + "' " check " onChange='controlTableRow(this.value);'> " + $(this).text();
        }
    });

    
tag.before('<span class="fields" style="display:show;"><table border="0" width="100%"><tr><td>' trow '</td></tr></table></span>');
}

//Show/hide table rows
function controlTableRow(row)
{
    if ($(
'#data th:nth-child(' row ')').is(":visible"))
    {
        $(
'#data td:nth-child(' row '),#data th:nth-child(' row ')').hide();
    }
    else
    {
        $(
'#data td:nth-child(' row '),#data th:nth-child(' row ')').show();
    }
}

</script>


Kui vajutada span'is olevale nupule "Rows", siis saab JQuery/javascripti poolt loodava vormi abil määrata missugused veerud tabelis kuvada ja missugused mitte.

Probleem: Kui kasutaja läheb teisele leheküljele või läheb antud vormi järgmisele leheküljele, siis tuleks info talletada ... missuguseid veerge antud tabelis tulevikus talle kuvada ja missuguseid mitte. Kuidas oleks kõige optimaalsem talletamist teostada - lisada hidden veerud URL reale, ning sealt sessiooni, kirjutada JS abil cookiesse, üle ajaxi sessiooni, mingi muu geniaalne ja lihtne meetod?

Kuidas lahendaksid olukorra sina?

Viimati muudetud: 09-12-2011 12:30:36
Muutja: joker
Põhjus: Täpsustus

RE: Info talletamine
Postitaja: joker 2011-12-09 15:09:46
Üks võimalus on trikitada cookiega - jooksvalt salvestada JSga info cookiesse, ning seejärel kui kasutaja väljub süsteemist lugeda PHPga cookie info kasutaja juurde andmebaasi. Sisselogimisel toimuks asi vastupidi.

Ja siis veel avastan, et eelpool nimetatud kood töötab "sigaaeglaselt" IE peal, mozilla peal aga "välgukiirusel".

Viimati muudetud: 09-12-2011 15:32:36
Muutja: joker
Põhjus:

RE: Info talletamine
Postitaja: joker 2011-12-09 16:32:44
Kokkuvõttes tundub, et see pole siiski väga kiire ja lollikindel lahendus veergude kuvamiseks ja peitmiseks.

Viimati muudetud: 09-12-2011 16:36:50
Muutja: joker
Põhjus:

RE: Info talletamine
Postitaja: asj 2011-12-10 06:54:07
Tee see mitmeleheline vorm AJAX-tehnoloogias. Ehk teisisõnu, ära saada kasutajat järgmisele lehele vaid kuva talle vorm sinna samasse. Oluline info salvesta vahepeal massiiviks või objektiks.
RE: Info talletamine
Postitaja: rtfm 2011-12-10 12:16:59
TSITEERITUD:
Kokkuvõttes tundub, et see pole siiski väga kiire ja lollikindel lahendus veergude kuvamiseks ja peitmiseks.


sa oled vist järjepidevaim jalgratta leiutaja keda ma kohanud , kasuta väljundis http://www.sencha.com/ gride ja sa ei pea oma ajusid niimoodi pingutama
RE: Info talletamine
Postitaja: joker 2011-12-11 21:45:59
Hei rtfm, kahtlustan endas väga mingit kiiksu ... see on vist programmeerimise kinnisidee ja vajadus ,o)

Tegelen tasuta tarkvara arendamisega, ning Sencha sugusesse tarkvarasse küll ei kavatse raha matta.
RE: Info talletamine
Postitaja: rtfm 2011-12-12 12:39:51
TSITEERITUD:
Hei rtfm, kahtlustan endas väga mingit kiiksu ... see on vist programmeerimise kinnisidee ja vajadus ,o)

Tegelen tasuta tarkvara arendamisega, ning Sencha sugusesse tarkvarasse küll ei kavatse raha matta.


kui sa tegeled vabavara arendamisega, siis on ka extjs sulle tasuta ja võid bundleda.

RE: Info talletamine
Postitaja: ninnunännu 2011-12-14 10:27:36
TSITEERITUD:


sa oled vist järjepidevaim jalgratta leiutaja keda ma kohanud , kasuta väljundis http://www.sencha.com/ gride ja sa ei pea oma ajusid niimoodi pingutama
Ja tegelikult on aju kasutamine või veel hullem, pingutamine, nõrkadele.
RE: Info talletamine
Postitaja: rtfm 2011-12-14 20:14:22
TSITEERITUD:
Ja tegelikult on aju kasutamine või veel hullem, pingutamine, nõrkadele.


vähemalt koht kus maha vaadata , kui niiehknaa õppimisega tegeled, siis võib õpikut kasutada

Leheküljed: 1

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.081160068512