PHP script opmaken

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Goedenmiddag,

Aller eerst weet ik niet of dit topic 100% goed staat aangezien, (ik) denk dat dit met css heeft te maken, en niks met programmeren.

Nu het volgende: Ik heb een PHP script om tweets op te halen en ze vervolgens op je website te plaatsen. Het script ziet er alsvolgt uit:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
 <div id="tweetList" class="tweetList">
<?php
    // Step 1 - Swap crearegroup for your Twitter User-name
    $twitterid = "mijntwitteraccountisffkesgeheim";
     
    // Step 2 - How many tweets to you want to show? Swap 4 for how many you would like.
    $numberoftweets = "3";
     
    // Step 3 - Would you like to activate links within the tweets?
    $tags = true;
     
    // Step 4 - Would you like to activate nofollow (Best for SEO)?
    $nofollow = true;
     
    // Step 5 - Would you like links to appear in a new window/tab?
    $target = true;
     
    // Step 6 - Would you like to show the Twitter Follow Widget button?
    $widget = false;
     
    // Here's the Science - futher comments can be found below
    function changeLink($string, $tags=false, $nofollow, $target){
      if(!$tags){
       $string = strip_tags($string);
      } else {
       if($target){
        $string = str_replace("<a", "<a target=\"_blank\"", $string);
       }
       if($nofollow){
        $string = str_replace("<a", "<a rel=\"nofollow\"", $string);
       }
      }
      return $string;
     }
     
     function getLatestTweet($xml, $tags=false, $nofollow=true, $target=true,$widget=false){
        global $twitterid;
      $xmlDoc = new DOMDocument();
      $xmlDoc->load($xml);
     
      $x = $xmlDoc->getElementsByTagName("entry"); 
     
      $tweets = array();
      foreach($x as $item){
       $tweet = array();
     
       if($item->childNodes->length)
       {
        foreach($item->childNodes as $i){
         $tweet[$i->nodeName] = $i->nodeValue;
        }
       }
        $tweets[] = $tweet;
      }
     
    // Here's the opening DIV and List Tags.
       echo "<div id=\"tweetList\"><ul>\n";
     
      foreach($tweets as $tweettag){
       $tweetdate = $tweettag["published"];
       $tweet = $tweettag["content"];
       $timedate = explode("T",$tweetdate);
       $date = $timedate[0];
       $time = substr($timedate[1],0, -1);
       $tweettime = (strtotime($date." ".$time))+3600; // This is the value of the time difference - UK + 1 hours (3600 seconds)
       $nowtime = time();
       $timeago = ($nowtime-$tweettime);
       $thehours = floor($timeago/3600);
       $theminutes = floor($timeago/60);
       $thedays = floor($timeago/86400);
       if($theminutes < 60){
        if($theminutes < 1){
         $timemessage =  "Less than 1 minute ago";
        } else if($theminutes == 1) {
         $timemessage = $theminutes." minute ago.";
         } else {
         $timemessage = $theminutes." minutes ago.";
         }
        } else if($theminutes > 60 && $thedays < 1){
         if($thehours == 1){
         $timemessage = $thehours." hour ago.";
         } else {
         $timemessage = $thehours." hours ago.";
         }
        } else {
         if($thedays == 1){
         $timemessage = $thedays." day ago.";
         } else {
         $timemessage = $thedays." days ago.";
         }
        }
        // Here's the list tags wrapping each tweet.
        echo "<li>".changeLink($tweet, $tags, $nofollow, $target)."<br />\n";
        // Here's the span wrapping the time stamp.
        echo "<span>".$timemessage."</span></li>\n";
       }
    // Here's the closing DIV and List Tags.
        echo "</ul></div>";
         
        // Here's the Twitter Follow Button Widget
        if($widget){
            echo "<a href=\"https://twitter.com/" .$twitterid. "\" class=\"twitter-follow-button\" data-show-count=\"true\">Follow @" .$twitterid. "</a>
        <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0];if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=\"//platform.twitter.com/widgets.js\";fjs.parentNode.insertBefore(js,fjs);}}(document,\"script\",\"twitter-wjs\");</script>";
        }
     
     }
        $tweetxml = "http://search.twitter.com/search.atom?q=from:" . $twitterid . "&rpp=" . $numberoftweets . "";
        getLatestTweet($tweetxml, $tags, $nofollow, $target, $widget);
 ?>
            </div>


Het script werkt goed, maar de opmaak blijft hangen. Wanneer ik deze aanpas via css zie ik geen verandering. Bijvoorbeeld als ik iets simpels aanpas zoals:

code:
1
2
3
div.tweetList {
color: #e1e5e9;
}


Zie ik geen verandering als ik iets aanpas, zelf denk ik dat ik iets over het hoofd of dat ik een domme fout maak met het aanpassen. Dit is namelijk het eerste script dat ik wil opmaken.
(Hij zit in de div tweetList)

Het script heb ik tevens van: hier. Deze heren hebben hem wel aan kunnen passen.. maar mijn opmaak ziet er heel anders uit.

Bijvoorbeeld de hoogte tussen de tweets lukt mij ook niet. De tweets staan tegen elkaar geschreven, maar ik kan ze niet onderscheiden.

Iemand die me opweg kan helpen, hoe de opmaak werkt?


Met vriendelijke groet,
whatdoyouthink

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

PHP is in zijn geheel niet relevant voor opmaakproblemen tenzij het foute HTML uitpoept.

Heb je niet gewoon caching aan staan op CSS-files waardoor je browser niet doorheeft dat er een nieuwe CSS is? Doe eens een harde refresh met control+F5.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Matis
  • Registratie: Januari 2007
  • Laatst online: 11-09 20:27

Matis

Rubber Rocket

Volgens mij is dit gewoon een caching probleempje;

Kijk eens hier naar (als je Firefox gebruikt) http://superuser.com/ques...urn-off-the-firefox-cache

Als je firebug hebt geïnstalleerd, kun je ook zien of het bestand uit de cache komt of dat hij (opnieuw) opgehaald wordt vanaf de webserver.
Als je het CSS-bestand opent als directe URL, zie je dan de wijzigingen wel? Met andere woorden, staan de wijzigingen wel echt op de webserver?

[ Voor 46% gewijzigd door Matis op 11-08-2012 14:51 ]

If money talks then I'm a mime
If time is money then I'm out of time


Acties:
  • 0 Henk 'm!

  • BLACKfm
  • Registratie: Maart 2004
  • Laatst online: 10-09 11:40

BLACKfm

o_O

Maakt het nog uit of je Class of ID gebruikt voor het benoemen van de CSS en daarbij gebruik maakt van een punt (.) of een hash (#) ??

In mijn optiek (maar ik heb me daar nooit op gefocust) heb je bij een class="tweetList" een div.tweetList en bij een id="tweetList" een div#tweetList

http://www.quackit.com/css/tutorial/css_id.cfm

[ Voor 8% gewijzigd door BLACKfm op 11-08-2012 14:53 ]

Litebit.eu voorraad check :).


Acties:
  • 0 Henk 'm!

  • MsG
  • Registratie: November 2007
  • Laatst online: 08:55

MsG

Forumzwerver

Roep je nou niet tweetList als klasse aan terwijl het een ID is? of kijk ik nou verkeerd?

EDIT: Wat hij hierboven zegt idd.

[ Voor 17% gewijzigd door MsG op 11-08-2012 14:52 ]

Denk om uw spatiegebruik. Dit scheelt Tweakers.net kostbare databaseruimte! | Groninger en geïnteresseerd in Domotica? Kom naar DomoticaGrunn


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Goed gespot, die had ik gemist. Da's wel erg onhandig ja. 8)7
Matis schreef op zaterdag 11 augustus 2012 @ 14:48:
Volgens mij is dit gewoon een caching probleempje;

Kijk eens hier naar (als je Firefox gebruikt) http://superuser.com/ques...urn-off-the-firefox-cache

Als je firebug hebt geïnstalleerd, kun je ook zien of het bestand uit de cache komt of dat hij (opnieuw) opgehaald wordt vanaf de webserver.
Als je het CSS-bestand opent als directe URL, zie je dan de wijzigingen wel? Met andere woorden, staan de wijzigingen wel echt op de webserver?
Waarom die cache helemaal uitzetten? Het is de server die een "fout" maakt door deze files te lang te laten cachen, je browser volgt die instructie alleen maar op. Tijdens het developen hoort die cache gewoon uit te staan, en pas nadat je klaar bent zet je die aan. Of liever: developen op een server waar de cache uit staat en als je klaar bent de site live zetten op een andere server met de cache aan. :)

Verder kun je natuurlijk ook altijd iets doen als dit:
PHP:
1
<link rel="stylesheet" href="file.css?<?php echo filemtime('file.css'); ?>" type="text/css" />

Als je bestand wijzigt haal je automatisch een "ander" bestand op en wordt dat bestand opnieuw gecachet.

[ Voor 4% gewijzigd door NMe op 11-08-2012 14:55 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 11-09 12:49
MsG schreef op zaterdag 11 augustus 2012 @ 14:52:
Roep je nou niet tweetList als klasse aan terwijl het een ID is? of kijk ik nou verkeerd?
Hij heeft bovenaan zowel de class als id ´tweetList´, dus dat zou in dit geval niet uit moeten maken. Het is natuurlijk wel een beetje dubbelop, want nu krijg je 2x achter elkaar de div met id tweetList (1ste keer voor je php code, en 1 keer in je php code)

Vernieuwen met ctrl+F5 zou ook gewoon je cache moeten legen.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt voor jullie reacties.

Het is gelukt. Inderdaad d.m.v. control+f5, raar dat gewoon f5 niet werkt.

Hoe verander ik eigenlijk de hoogte tussen de tweets in, moet ik daarvoor in het script zijn of in in de css? Ik neem aan dat css niet weet wanneer er een nieuwe tweet komt, en daarvoor het php bestandje moet aanpassen. Maar waar zou dat ongeveer moeten?

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

CSS, margins. Misschien moet je je even in CSS verdiepen vóórdat je er iets mee probeert te doen? Dit is letterlijk les 1 in elke tutorial en elk boek. ;)

En dat F5 niet werkt is redelijk logisch als jouw cacheinstellingen niet goed staan, maar dat staat hierboven al omschreven.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dat zou inderdaad goed kunnen helpen, maar ik ben meer iemand die pas gaat kijken na de opties van css als ik ze nodig heb. Had geen idee eerlijk gezegd dat je daarmee de hoogte tussen elke tweet kan bepalen. Dacht alleen tussen de regels.

Wel bedankt!

Acties:
  • 0 Henk 'm!

  • Barryvdh
  • Registratie: Juni 2003
  • Laatst online: 11-09 12:49
Met html bepaal je geen opmaak, alleen de inhoud. Met CSS bepaal je alle opmaak.

Acties:
  • 0 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 07:32
Verwijderd schreef op zaterdag 11 augustus 2012 @ 15:19:
Dat zou inderdaad goed kunnen helpen, maar ik ben meer iemand die pas gaat kijken na de opties van css als ik ze nodig heb. [...]
Het gaat niet om dat je de opties niet weet, maar om dat je niet begrijpt wat CSS en PHP zijn en wat ze doen. Het is handig eerst even in te lezen over wat elk van de twee doen, dan had je die vraag ook nooit zo gesteld.

[ Voor 26% gewijzigd door Caelorum op 11-08-2012 15:36 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Op een oude fiets moet je het leren.

Het is inmiddels gelukt ook met de margins. Bedankt.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Verwijderd schreef op zaterdag 11 augustus 2012 @ 15:19:
Dat zou inderdaad goed kunnen helpen, maar ik ben meer iemand die pas gaat kijken na de opties van css als ik ze nodig heb.
Hoe weet je welke opties je nodig hebt als je niet weet dát CSS iets kan? ;) Niet de meest handige manier om iets te leren. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • CH4OS
  • Registratie: April 2002
  • Niet online

CH4OS

It's a kind of magic

BLACKfm schreef op zaterdag 11 augustus 2012 @ 14:52:
Maakt het nog uit of je Class of ID gebruikt voor het benoemen van de CSS en daarbij gebruik maakt van een punt (.) of een hash (#) ??

In mijn optiek (maar ik heb me daar nooit op gefocust) heb je bij een class="tweetList" een div.tweetList en bij een id="tweetList" een div#tweetList

http://www.quackit.com/css/tutorial/css_id.cfm
Op zich hoeft de gebruikte tag niet voor de benaming van het id of van de class te staan. :)
Al zou dat bij een id niet hoeven, die zijn immers altijd al uniek. :)

[ Voor 6% gewijzigd door CH4OS op 11-08-2012 16:46 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Sterker nog, theoretisch is het af te raden omdat het een extra check vereist die zonder die tagnaam niet nodig zou zijn. Nou is dat nogal een micro-optimalisatie, maar met een goeie classnaam of een goed ID is het overnemen van class/ID én tag nogal overbodig. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
NMe schreef op zaterdag 11 augustus 2012 @ 16:29:
[...]

Hoe weet je welke opties je nodig hebt als je niet weet dát CSS iets kan? ;) Niet de meest handige manier om iets te leren. :)
Zal ik je dat is uitleggen?

Als ik ergens mee bezig ben en ik wil ergens een plekje voor me twitter updates. Ga ik na www.google.nl en type daarin: "twitter feed on website". Je leest een beetje, en komt al honderde tutorials/voorbeelden tegen die je enorm op weg helpen.

Dus ik weet dan dat ik de optie van twitter wil, dan zoek ik verder in die richting. En als ik er niet uit kom dan ga ik rondvragen op forums etc. Het is simpeler dan je denkt hoor. :)

En ieder leert immers op zijn eigen manier.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Nee, wij leren het nu voor je. Dat is geen leren. En dan moet je er ook nog eens van uitgaan dat wij weten waar we het over hebben, daar kun je bij een goed boek al veel sneller vanuit gaan.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op zaterdag 11 augustus 2012 @ 17:38:
[...]
En ieder leert immers op zijn eigen manier.
Volgensmij staat er in een boek niet veel anders uitgelegd hoor. Staat ook gewoon in stappen wat je moet doen. Het enige wat je zei is "CSS, margins". Ik heb ze zelf toch toegepast? Hetzelfde of misschien zelfs meer had ik in een boek gevonden. Dan leer ik i.p.v. jullie uit een boek.. right, komt op hetzelfde neer volgensmij?

Maar waar heb ik het over joh.. bedankt voor je hulp, nogmaals.

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Als je een huis gaat bouwen, zoek je dan eerst naar goeie manieren om dat huis te ontwerpen of begin je gewoon met stenen stapelen? Software is niet anders. Maar goed, als dit voor jou werkt moet je het zelf weten. Je komt er vanzelf achter wanneer het niet meer werkt. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Verwijderd

Zelf ben ik ook begonnen met leden op deze manier hoor, maar hoewel ik inmiddels prima html/css/php kan raad ik iedereen af om het op deze manier te doen tenzij je de kennis echt maar één keer nodig hebt (wat waarschijnlijk niet het geval is, aangezien je een eigen website hebt).

Je gaat namelijk vanzelf slechte gewoontes ontwikkelen, simpelweg omdat je de basis nooit hebt begrepen. Je krijgt dan scripts die (figuurlijk) met ducttape aan elkaar hangen in plaats van stabiele constructies. Het werkt wel, maar er hoeft maar iets te veranderen en de hel breekt los.

Verder, voor als het je nog niet helemaal duidelijk was:
PHP verzorgt de backend van je website. Als bezoeker kom je hier op geen mogelijkheid mee in aanraking, en het is dus ook onmogelijk om ook maar iets van uiterlijk te wijzigen met php.
HTML zorgt óók niet voor het uiterlijk, maar alleen voor de structuur. Het zouden html en php een spreekwoordelijke worst zijn hoeveel ruimte er tussen de tweets komt te zitten. Het is ook niet mogelijk om dat soort dingen met die twee talen te doen.
CSS is in haar eentje verantwoordelijk voor het uiterlijk van je website. Wat je ook wilt wijzigen (afstanden, kleuren, groottes, alles), het gaat via css.

Al met al raad ik je dus aan om goed vanaf het begin te beginnen met het leren van script of programmeertalen. Indien je echt niks ermee wilt doen verder kan je alles inderdaad los opzoeken, maar een beetje vooronderzoek wordt over het algemeen wel gewaardeerd voordat je vragen op een forum gooit ;)

Acties:
  • 0 Henk 'm!

  • Caelorum
  • Registratie: April 2005
  • Laatst online: 07:32
Met even de kanttekening dat elke browser een eigen standaard 'css' heeft voor HTML dat het toepast op de plekken waar het niet wordt gedefinieerd met css of javascript manipulatie. Je moet dit overigens niet met javascript willen doen!

Acties:
  • 0 Henk 'm!

  • BLACKfm
  • Registratie: Maart 2004
  • Laatst online: 10-09 11:40

BLACKfm

o_O

Verwijderd schreef op zaterdag 11 augustus 2012 @ 17:51:
[...]
Volgensmij staat er in een boek niet veel anders uitgelegd hoor. Staat ook gewoon in stappen wat je moet doen. Het enige wat je zei is "CSS, margins". Ik heb ze zelf toch toegepast? Hetzelfde of misschien zelfs meer had ik in een boek gevonden. Dan leer ik i.p.v. jullie uit een boek.. right, komt op hetzelfde neer volgensmij?

Maar waar heb ik het over joh.. bedankt voor je hulp, nogmaals.
Vind dat je wel een punt hebt. Ik zie geen probleem in het beantwoorden van vragen.

Volgens mij lezen sommige mensen normale vragen als "Doe dat even voor mij" ipv "Zouden jullie mij de goede weg op kunnen helpen". Jij pakt het goed op door met wat steekwoorden (margins) de oplossing te bouwen voor jouw probleem.

Ik betrap me er zelf ook op -op het werk, waar ik een centraal kennispunt ben voor een bepaald software pakket, dat ik een binnenwoede krijg van "zoek dat even lekker zelf op google, 3 woordjes en je hebt het antwoord", maar ik ben er vervolgens 10 minuten aan kwijt en ben uit me werkritme, wat me effectief misschien een half uur kost en dat enkele keren per dag, maar je doet het dan toch maar, al is het maar om mezelf een goed gevoel te geven. Simpel maar nee zeggen of "zoek het zelf maar op" maak je geen vrienden mee. En op internet is dat laatste wellicht heel makkelijk gezegd.

Een beetje zelf initiatief is nooit vervelend, maar die "Zoek het lekker eerst zelf uit" houding vind ik altijd een vervelend aanblik.

Ik sta wellicht bij sommige bekend als dé tegenpool in discussies, maar dit topic is dan even de spreekwoordelijke druppel die deze reactie in het forum laat stromen.

Geef gewoon antwoord op de vragen en doe er niet te moeilijk over.

Litebit.eu voorraad check :).


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 09-09 13:58

NMe

Quia Ego Sic Dico.

Er is een verschil tussen vragen stellen waar je met één steekwoord wel uit komt en vragen stellen waar je met één steekwoord weliswaar uitkomt maar die je überhaupt niet gesteld had als je een goede basis had voordat je ergens aan begon. Een kok die tijdens het koken pas leert wat hij aan het doen is hoeft voor mij geen eten te maken. Een chirurg die maar wat doet en als hij iets niet weet een boek erbij pakt raakt mijn vinger niet aan. Een automonteur die het verschil tussen een hamer en een schroevendraaier niet kent zal niet in de buurt komen van mijn auto. Waarom zou dat bij developers anders zijn?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1