Avatar billede seeker Nybegynder
26. juli 2005 - 14:09 Der er 5 kommentarer og
1 løsning

søger et link til klasse/funktionssæt til visning af tabeller

Jeg er doven og jeg kan ikke forstille mig at dette ikke er lavet og udgivet som open source / GPL et eller andet sted. Så hvis nogen venligst vil pege mig i retningen af den dybetallerken så er det her i hvert fald nemme point.

Jeg har selv ledt lidt, men syntes at markede er meget uoverskueligt og vil egentlig hellere ofre de point på at finde noget som andre kender/har prøvet.

Det som jeg søger er et klasse- eller funktionssæt der kan lave et databaseudtræk (over flere tabeller) og putte det ind i en html tabel som enten printes direkte eller ligges i en string.
Header information med sorterings muligheder ville også være en rar ting.

Der er tale om logdata, så vi snakker 5000+ rækker, ~10 kolonner et par relationelle fra andre tabeller og det er muligt det kommer M:N relationer i mellem (3. leds realtioner).

Der skal bruges 5-10 view af forskellig størrelse og komplexitet. Disse må MEGET gerne være dynamiske så det er muligt (fx via forms) at modelere viewet til fx hits omhandelnde en specifik PC eller med dato begrænsning og ligende.

Data indput er ikke issue da der er taget hånd om dette.

Det er et meget simpelt tool jeg er ude efter. standart eksemplet fra php.net er en meget god beskrivelse af den ønskede visningsform, dog ønskes lidt mere lavet for mig, lidt mere dynamik og funktionallitet.

Eksempelvis kunne det være en enkelt PHP fil som blot blev kaldt med en række parametre som den som byggede SQL ud fra, en standart gennemkørsel til visning og et par knapper/link til at modellere outputtet.

Jeg håber jeg har beskevet det ønskede godt nok.
Avatar billede seeker Nybegynder
26. juli 2005 - 14:09 #1
Forresten MySQL (naturligvis)
Avatar billede neess Nybegynder
26. juli 2005 - 15:58 #2
Jeps er der. Man sender bare sit resultset ind i functionen og så køre den.

<?
function mysql_draw_table($result, $null = '&nbsp;')
{
    $out = "<table class='brod'>\n";
 

 
    // Table content
    for ($i = 0, $ii = mysql_num_rows($result); $i < $ii; $i++) {
        $out .= "\t<tr class='brod'>";

        $row = mysql_fetch_row($result);
        foreach ($row as $value) {
            // Make sure 0's are displayed
            if (is_numeric($value)) {
                $value = (int) $value;
            }

            // Display empty cells
            $value = (empty($value) && ($value !== 0)) ?
                $null :
                htmlspecialchars($value);

            $out .= '<td class="brod">' . $value . '</td>';
        }

        $out .= "</tr>\n";
    }
 
    $out .= "</table>\n";
    echo $out;
}


function mysql_draw_tablemed($result, $null = '&nbsp;')
{
    $out = "<table>\n";
 
    // Table header
    $out .= "\t<tr>";
    for ($i = 0, $ii = mysql_num_fields($result); $i < $ii; $i++) {
        $out .= '<th>' . mysql_field_name($result, $i) . '</th>';
    }
    $out .= "</tr>\n";
 
    // Table content
    for ($i = 0, $ii = mysql_num_rows($result); $i < $ii; $i++) {
        $out .= "\t<tr>";

        $row = mysql_fetch_row($result);
        foreach ($row as $value) {
            // Make sure 0's are displayed
            if (is_numeric($value)) {
                $value = (int) $value;
            }

            // Display empty cells
            $value = (empty($value) && ($value !== 0)) ?
                $null :
                htmlspecialchars($value);

            $out .= '<td>' . $value . '</td>';
        }

        $out .= "</tr>\n";
    }
 
    $out .= "</table>\n";
    echo $out;
}

function mysql_draw_tablecol($result,$bgcolor ,$null = '&nbsp;')
{
    $out = "";
 

 
    // Table content
    for ($i = 0, $ii = mysql_num_rows($result); $i < $ii; $i++) {
        $out .= "\t<tr bgcolor='$bgcolor'>";

        $row = mysql_fetch_row($result);
        foreach ($row as $value) {
            // Make sure 0's are displayed
            if (is_numeric($value)) {
                $value = (int) $value;
            }

            // Display empty cells
            $value = (empty($value) && ($value !== 0)) ?
                $null :
                htmlspecialchars($value);

            $out .= '<td>' . $value . '</td>';
        }

        $out .= "</tr>\n";
    }
 
    $out .= "";
    echo $out;
}

function mysql_draw_tableBgcolor($result,$bgcolor ,$null = '&nbsp;')
{
    $out = "<table class='brod'>\n";
 

 
    // Table content
    for ($i = 0, $ii = mysql_num_rows($result); $i < $ii; $i++) {
        $out .= "\t<tr class='brod' bgcolor='".$bgcolor."'>";

        $row = mysql_fetch_row($result);
        foreach ($row as $value) {
            // Make sure 0's are displayed
            if (is_numeric($value)) {
                $value = (int) $value;
            }

            // Display empty cells
            $value = (empty($value) && ($value !== 0)) ?
                $null :
                htmlspecialchars($value);

            $out .= '<td class="brod"> '. $value . '</td>';
        }

        $out .= "</tr>\n";
    }
 
    $out .= "</table>\n";
    echo $out;
}
?>
Avatar billede seeker Nybegynder
27. juli 2005 - 14:16 #3
Tak for forsøget, men dette kode indeholde intet af det ønskede ud over "HTML tabel" der er intet interface til query struktur, der er ingen former for output manipulering, der er dybest set ikke mere dynamik end i omtalte eksempel fra php.net og med 5000+ records så burde der være indbygget en limiter funktion. Klart. Hvis jeg havde en funktion til nem strukturering og eksekvering af sql staements, så er det klart at koden kunne hjælpe mig med at display resultatet, men det var ikke hvad jeg søgte. Men jeg er da ked af hvis jeg har formuleret mig uklart. Hvorfor laver du forresten 4 stortset end funktioner? Hvis 2'eren havde stået alene så kunne resten jo laves på 2 sek. Nok er jeg doven, men ikke dum :)

Jeg forventede ikke at det var noget der skulle laves til formålet, men at der allerede fandes et "sæt" med de ønskede funktionalliteter. Jeg tænker på noget i stil med visningerne i MyPHPadmin, gerne med dynamiske limiter/"where"-klausuler, række sortring ved tryk på header, gerne inkluderet i sættet, en funktion til at skabe sqlstatements og naturligvis et allerede eksisterende produkt, da det ikke er noget man lige kan kaste sammen på en time (tror jeg).
Avatar billede neess Nybegynder
27. juli 2005 - 14:27 #4
var fordi jeg lige skulle have 4 forskellige layout så jeg lavede det på den nemme måde.
Hvis det er noget som phpadmin, hvorfor tager du så ikke koden til den, og lige tilpasser så den kommer til at være som du gerne vil have den ?
hvis den har grund fundamentet.
Avatar billede seeker Nybegynder
28. juli 2005 - 08:26 #5
Det har jeg også overvejet. Men tænkte at det måske fandes et bedre alternativt. Alternativt _kan_ jeg godt gøre det selv. Men jeg gidder bare ik rigtig..
Avatar billede seeker Nybegynder
16. august 2005 - 09:34 #6
Lukket.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester