login  Naam:   Wachtwoord: 
Registreer je!
 Forum

CSS structuur middels PHP maken (Opgelost)

Offline jc2 - 08/08/2008 15:43 (laatste wijziging 08/08/2008 16:48)
Avatar van jc2PHP interesse Bewerkt: 08-08-'08 16:47

Ik wil graag mijn CSS-code uit een database halen.
De héle css-structuur moet middels php gemaakt kunnen worden.

Mijn databasetabel ziet er zo uit:
Citaat:
- attribuut (body, font, A:hover)
- name (width, height, background-image, line-height)
- value (50px, 100px, url('achtergrondplaatje.jpg'), 5px)


Korte samenvatting:
Doel: De normaliter statistische CSS-code variabel maken zodat via een CMS de CSS-code kan worden aangepast

Nu: de gebruiker kan alleen de dingen aanpassen die ik vooraf in de css-code variabel gemaakt heb
  1. <style type="text/css">
  2. body{
  3. width: <? echo $css[body][width]; ?>;
  4. height: <? echo $css[body][height]; ?>;
  5. }
  6. </style>


Eindresultaat: de gebruiker kan dingen toevoegen, verwijderen, bewerken e.d. zonder dat er statistische code aangepast hoeft te worden.
  1. // VOORBEELDCODE
  2.  
  3. <style type="text/css">
  4. <?
  5. $selectcss=mysql_query("SELECT * FROM tabelnaam");
  6. while($selectcss2=mysql_fetch_assoc($selectcss)){
  7. foreach(???????){
  8. echo $selectcss2['attribuut']."{";
  9. echo $selectcss2['name'].": ".$selectcss2['value'].";";
  10. echo "}";
  11. }
  12. }
  13. ?>
  14. </style>


Alvast bedankt 

8 antwoorden

Gesponsorde links
Offline Martijn - 08/08/2008 15:49 (laatste wijziging 08/08/2008 15:53)
Avatar van Martijn Crew PHP wat je zou kunnen doen, is per persoon per css onderdeel 1 rij in je tabel kunnen zetten. Dan alle dingen zoeken where naam=PersoonDieHetWil.

en dan met een while kun je doen
  1. echo $type."{"
  2. kolom1
  3. kolom2
  4. echo"}<br />";


dan zit je wel vast aan een x aantal atributes per onderdeel. Maar ik denk dat 15 meer dan genoeg is
Offline jc2 - 08/08/2008 16:16 (laatste wijziging 08/08/2008 23:24)
Avatar van jc2 PHP interesse Ik denk dat ik het alsnog verkeerd heb uitgelegd 

Zie #topic!

@devioursoul: het gaat dus om één gebruiker en niet per gebruiker.
Hetgeen ik lastig vind, is om body bij body te krijgen en font bij font etc.

Wie o wie helpt mij?
Offline kickasgamer - 09/08/2008 16:27
Avatar van kickasgamer PHP ver gevorderde en heb je een probleem of vraag je advies als deze manier goed is ?
Offline jc2 - 11/08/2008 13:26
Avatar van jc2 PHP interesse Ik heb wel degelijk een probleem.
Ik wil een CSS-structuur uit mijn database krijgen.
Wat mij wel lukt is dit:
  1. body{
  2. width:5px;
  3. }
  4. body{
  5. height:10px;
  6. }
  7. body{
  8. color:#FFFFFF;
  9. }
  10. font{
  11. font-weight:bold;
  12. }
  13. // enzovoorts...


Maar ik wil dit:
  1. body{
  2. width:5px;
  3. height:10px;
  4. color:#FFFFFF;
  5. }
  6. font{
  7. font-weight:bold;
  8. }
  9. // enzovoorts...


In de database staat het zo:
Citaat:
id - attr - name - value
1 - body - padding - 5px
2 - font - color - #FFFFFF


Ik vermoed dus dat er iets met foreach moet gebeuren, maar met de uitleg en voorbeelden op SiMa en andere sites, kom ik niet uit deze functie uit.
Offline bertenz - 11/08/2008 14:03 (laatste wijziging 11/08/2008 14:04)
Avatar van bertenz HTML beginner Zou eerst groeperen in Mysql en dan per groep de code opmaken een oplossing kunnen zijn ? Dus zoiets als dit:
  1. <?php
  2. $query = mysql_query("SELECT * FROM `tabel` GROUP BY `attr`");
  3. while($obj = mysql_fetch_object($query))
  4. {
  5. $query2 = mysql_query("SELECT * FROM `tabel` WHERE attr = '".$obj->attr."'");
  6. echo $attr."{";
  7. while($obj2 = mysql_fetch_object($query2))
  8. {
  9. echo $obj2->name.": ".$obj2->value.";";
  10. }
  11. }
  12. ?>


Eerlijk gezegd weet ik niet hoe het zit met de snelheid van deze manier, maar het werkt wel zo denk ik...
Offline jc2 - 11/08/2008 15:10 (laatste wijziging 11/08/2008 20:42)
Avatar van jc2 PHP interesse @bertenz: bedankt deze oplossing heeft geholpen

Maar toch is er nu een ander probleem:
hij herkent niet alle CSS-codes meer alszijnde CSS-code.

Mijn code heeft als style-type "text/css".
Verder is er niks gewijzigd aan de codes zelf, behalve dat ze nu uit een database worden gelezen ipv statisch in het document zelf staan.

Heeft iemand anders zo'n probleem ook wel eens gehad? En hoe heb je dat dan opgelost? In de broncode zijn geen fouten te zien, maar hij werkt niet goed.

Voorbeeld:
voorbeeldje van... broncode!

Zo moet het er ongeveer uitzien:
zo dus!
Offline Tuinstoel - 12/08/2008 11:31
Avatar van Tuinstoel PHP expert Je gebruikt allemaal classes in je html die niet eens in je CSS staan, dus dan is het logisch dat het niet mooi werkt .

Wat betreft de snelheid... Misschien kun je wat met array's proberen. Gewoon eerst alles in een (multidimensionale-)array zetten. En vervolgens uitlezen met foreach, en dan weer uitlezen met foreach. Of het sneller is, geen idee, dat moet je maar uittesten.
Offline jc2 - 12/08/2008 14:42 (laatste wijziging 12/08/2008 14:42)
Avatar van jc2 PHP interesse @tuinstoel: ik denk idd dat er momenteel een ander probleem aan de orde is.

Ik heb alle classes even static toegevoegd en het menu werkt nog steeds niet.

Dit is mijn complete CSS:
Plaatscode: 15584

En dit is mijn html/php-code:
Plaatscode: 15585

Voorheen heeft het menu het wél gedaan.
Waarom laat hij nu niet gewoon de afbeeldingen zien en heeft hij nog steeds een list-style-type?
Alle afbeeldingen staan in de map, dus dat is het probleem niet.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.219s