Ankündigung

Einklappen
Keine Ankündigung bisher.

dynamische Tabelle- Probleme

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • dynamische Tabelle- Probleme

    Hallo zusammen,

    Ich habe ein grosses Problem und komme nicht weiter. Ich habe scho ein bisschen erfahrung mit PHP doch in Sachen Tabellen war ich noch nie gut. Ich habe folgendes Problem. Ich nutze immer diese Vorgehensweise zum erstellen einer dynamischen Tabelle:

    Code:
    echo '<table border="1" id="tabsichtbar">';
    		echo '<tr>';
    	for($i=0; $i<$anz_spalten; $i++)
    	{
    		echo '<th>' . mysql_field_name($result, $i).'</th>'; //erstellt tabellenkopf
    	}
    	echo '</tr>';
    
    while($zeile = mysql_fetch_row($result)) 
    {
    echo '<tr>';
    		for($i = 0; $i < $anz_spalten;$i++){
    			
    			if($zeile[$i] == '1'){ 						
    				echo '<td align="center">';
    				echo 'aktiviert';
    				echo '</td>';
    			}
    			elseif($zeile[$i]=='0'){					
    				echo '<td align="center">';
    				echo 'deaktiviert';
    				echo '</td>';
    			} 
    			else {
    				echo '<td align="center" style="font-weight:bold; ">';
    					echo '<a href=index.php?s=ressourcen&u=zimmer_bearbeiten&zrnr='.$zeile['0'].'&session_id=' . session_id().'>'.$zeile[$i].'</a>';
    					echo '</td>';
    			}
    			
    		}	
    			
    		
    		echo '</tr>';
    }
    
    echo '</table>';
    Doch jetzt muss ich $zeile durch usort sortieren nach einem eigens erstellen Algorythmus. Doch wie kann ich das jetzt anstellen? Mit foreach? wenn ja wie genau würdet ihr das lösen?

    Ich danke vielmals für euere Hilfe!

    so long sascha


  • #2
    hmm, also ich mach sowas mit einer funktion.

    PHP-Code:

    <?php

    function showTABLE($array$row$table_css$td_css)  
    {  
        
    $count count($array);  
        
    $td round(100/$row); 
        
        
    $col1 "#FFFFFF"#tabellenfarbe 1
        
    $col2 "#FFFFFF"#tabellenfarbe 2
        
        
    print '<table class="'.$table_css.'" cellpadding="0" cellspacing="0">'."\n";
        for(
    $i=0$i<$count$i+=$row)  
        {  
            
    $color = ($color == $col1) ? $col2 $col1
            
            print 
    '<tr>'."\n";  
            for(
    $z=0$z<$row$z++)  
            {  
                if(
    $i+$z $count){print '<td class="'.$td_css.'" style="background-color:'.$color.'" width="'.$td.'%">'.$array[$i+$z].'</td>'."\n";}  
                else{print 
    '<td class="'.$td_css.'" style="background-color:'.$color.'" width="'.$td.'%"></td>'."\n";} 
            }  
            print 
    '</tr>'."\n";  
        }  
        print 
    '</table>'."\n";  
    }  

    # aufruf mit:
    showTABLE($array4'table_css''td_css')

    ?>
    $array = kommt z.b. aus deiner DB
    4 = sagt wieviel reihen pro zeile (in diesem fall 4)
    table_css = damit machst du das style für deine tabellen mit css
    td_css = damit machst du dein style für td

    meine css sieht so aus:

    .table_css{
    border-collapse:collapse;
    border:1px solid #000000;
    }

    .td_css{
    border:1px solid #000000;
    }

    zusätzlich kannst du in der funktion noch 2 farben abwechseln lassen ($col1, $col2)

    viel spass damit.

    Kommentar


    • #3
      Hallo,

      danke für die Antwort.

      ja es ist auch aus einer Funktion herauskopiert, doch ich suche nach einer Lösung bei der ich nicht mehr alles umstellen muss.

      ich denke das muss doch irgendwie mit foreach gehen. Doch ich weiss nicht wie...

      Kommentar


      • #4
        ehrlich gesagt versteh ich dich nicht. (obwohl ich mit den ch kein problem habe da ich nur 5km von euch entfernt wohne, naja vielleicht hab ich zu viel kaffee getrunken)

        du nimmst dein array und machst:

        usort ($array);

        dann rufst du die funktion auf und fügst dein array ein.
        ist doch ganz einfach. oder?

        ob du nun deine variante nimmst oder eine funktion aufrufst ....

        Kommentar

        Lädt...
        X