Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Populacja rekordow z bazy sql do tabeli z wykorzystaniem filtru
Forum PHP.pl > Forum > PHP
butry
Witam wszystkich,

Mam problem z wyswietlaniem danych z bazy sql do tabeli z wykorzystaniem odpowiednich filtrow tak aby odpowienie rekordy wyswietlaly sie odpowiednio w pierwszej kolumnie po lewej i pierwszym wierszu od gory.

Aby ulatwic zrozumienie problemu posluze sie screenami:

Uzytkownik serwisu najpierw okresla trase wybierajac Kraj oraz Miejscowosci - http://awesomescreenshot.com/0e545nd6d8

Nastepnie moze okreslic ceny przejazdow miedzy miejscowosciami korzystajac z mechanizmu siatki cen - http://awesomescreenshot.com/0f245ne65f

I tu wlasnie pojawia sie problem ze zdublowanymi wpisami; powinno byc tak ze wszystkie (ale tylko i wylacznie) miejscowosci z krajem jako Polska powinny byc wyswietlane w pierwszej kolumnie po lewej.

Natomiast wszystkie miejscowosci poza Polska (Niemcy, Holandia, Berlgia, itp.) powinny sie wyswietlac w pierwzym wierszu tabeli. Jak widac na screenie pojawiaja sie rowniez w kolumnie po lewej pod miejscowosciami PL a nie powinny. W ten sposob cala tabela staje nie nieczytelna, bledna i zle dzialajaca.

W serwisie jest kod JS odpowiedzialy za filtrowanie danych i ukrycie zdublowanych wpisow ale wydaje sie ze nie dziala jak trzeba; poza tym wolalbym zastosowac bardziej naturalny sposob filtrowania danych niz mechanizmy JS.

Czy ktos z Was wie gdzie lezy problem, jak to naprawic i czy ewentualnie moze pomoc - oczywiscie z wynagrodzeniem?

Pozdrawiam,
Piotr Butrynowski
ZaqU
Równie dobrze można wróżyć z fusów wink.gif Podaj jaki¶ kawałek kodu.
butry
Cytat(ZaqU @ 8.01.2015, 22:26:07 ) *
Równie dobrze można wróżyć z fusów wink.gif Podaj jaki¶ kawałek kodu.


To jest kod odpowiedzialny za rendering siatki (tabela) cen:

Kod
<div class="panel panel-default">
    <div class="panel-heading">
    <p class="lead">Ustaw ceny przejazdów</p>
    </div>
    <div class="panel-body">



<div id="form_ceny">
{if $smarty.get.status eq 1}<div class="alert alert-success">Ceny zostały ustawione</div>{/if}

<form action="" method="post" >
<input type="hidden" name="co" value="ceny" />
<input type="hidden" name="id" value="{$id}" />

<table class="table table-striped table-hovered">
<tr class="head">
   <td>&nbsp;</td>
    {section name=b loop=$punktyc}
     {if $smarty.section.b.first}{php}continue{/php}{/if}
      
   <td rel="0">
    <small>{$punktyc[b].miasto}</small>
    </td>
{/section}
</tr>
{section name=a loop=$punktyc}
{if $smarty.section.a.last}{php}continue{/php}{/if}
  
  <tr class="line">
   <td><small>{$punktyc[a].miasto}</small></td>    
{section name=b loop=$punktyc}
   {if $smarty.section.b.first}{php}continue{/php}{/if}
    
   {assign var=aid value=$punktyc[a].id}
   {assign var=bid value=$punktyc[b].id}
    
   {assign var=c value=$cena[$aid][$bid]}
   <td
   {if $punktyc[a].kol eq $punktyc[b].kol }rel="x">
    {elseif $punktyc[a].kol gt $punktyc[b].kol}rel="x">
   {elseif $punktyc[a].kraj eq $punktyc[b].kraj}rel="x">
    {else}
    >
      <input type="text" title="{$punktyc[a].miasto} - {$punktyc[b].miasto}" name="{$punktyc[a].id}_{$punktyc[b].id}" value="{$c}" size="6" />
    {/if}
    </td>
{/section}
</tr>
{/section}

</table>
<input type="submit" class="btn btn-primary" name="" value="Zapisz zmiany" />

</form>
</div>
</div>
</div>

{literal}
<script type="text/javascript">
$(document).ready( function() {
    var head = $("tr.head td");
     var lines = $("tr.line" );
      
    
       for( b = 0; b < lines.length; b++ ) {
          var td = $(lines[b]).find( 'td' );
          for( c = 1; c < td.length; c++ ) {
            if( $(td[c]).attr( 'rel' ) == 'x' ) {
                $(head[c]).attr( 'rel', parseInt($(head[c]).attr( 'rel' )) + 1 );
          }    
          }    
        }
    
       $("tr.head td[rel='"+lines.length+"']").hide();
       $("tr.line td[rel='x']").hide();
});
</script>
{/literal}
To jest wersja lo-fi głównej zawarto¶ci. Aby zobaczyć pełn± wersję z większ± zawarto¶ci±, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.