sql >> Database >  >> RDS >> Mysql

Hoe gegevens uit een MySQL-database naar een stylesheet in zijn eigen bestand/map te trekken?

Als u een databasesjabloon heeft, kunt u deze gebruiken om een ​​.css-bestand te maken zonder php in het .css-bestand te gebruiken.

Als je twee tabellen hebt:

U kunt dat gebruiken om een ​​css-bestand te maken. Pseudo-code:

<?php

    //$db = new PDO('mysql:host=localhist;dbname=cms', 'root', 'root');

    //$query = $db->query("SELECT * FROM `selector`");
    //$query = $query->fetchAll();

    $query = array(
        array('id' => 1, 'selector' => '.thisone'),
        array('id' => 2, 'selector' => '#thatone'),
        array('id' => 3, 'selector' => '.body')
    );

    $probs = array(
        1 => array(
            array('id' => 1, 'selector_id' => 1, 'css_element' => 'border', 'element_value' => '1px solid'),
            array('id' => 2, 'selector_id' => 1, 'css_element' => 'padding', 'element_value' => '10px')
        ),
        2 => array(
            array('id' => 1, 'selector_id' => 2, 'css_element' => 'border', 'element_value' => '1px solid')
        ),
        3 => array(
            array('id' => 1, 'selector_id' => 2, 'css_element' => 'width', 'element_value' => '40px'),
            array('id' => 2, 'selector_id' => 2, 'css_element' => 'height', 'element_value' => '40px')
        )
    );

    $css = '';
    foreach($query as $selector){
        //$properties = $db->query("SELECT * FROM `properties` WHERE `selector_id` = $selector->id");
        //$properties = $properties->fetchAll();

        $properties = $probs[$selector['id']];

        $rules = '';
        foreach($properties as $element){
            $rules .= "\n \t$element[css_element]:$element[element_value];";
        }

        $css .= "$selector[selector]".'{'."$rules \n".'}'."\n\n";
    }

    $fp = fopen('style.css',"w");
    fwrite($fp,$css);
    fclose($fp);

    echo "<pre>";
    echo "$css";
    echo "</pre>";

?>
";?>

Het resultaat is:

.thisone{
    border:1px solid;
    padding:10px; 
}

#thatone{
    border:1px solid; 
}

.body{
    width:40px;
    height:40px; 
}

U kunt een tabel toevoegen met css_file(id, name) en vervolgens een css_file_id toevoegen aan de selectortabel. Dan kun je ook meerdere bestanden schrijven.

U kunt ook een editorformulier maken waar u CSS-regels/selectors/bestanden kunt toevoegen/verwijderen/wijzigen.




  1. Hoe de maximale waarde van een numerieke kolom in SQL te vinden

  2. SPSS en PHP/MySQL-integratie

  3. Hoe de testdatabase van Django alleen in het geheugen uit te voeren?

  4. MYSQL:Hoe kopieer ik een hele rij van de ene tabel naar de andere in mysql, waarbij de tweede tabel een extra kolom heeft?