aanpassen .js file

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pascal Wetzels

Pascal Wetzels

13/12/2012 09:59:36
Quote Anchor link
Ik heb een calender/agenda op mijn website staan, waarbij ik de evenementen handmatig in een .js file moet zetten, graag wil ik het zo maken dat ik de gegevens via een formulier op de site kan in geven.
Alleen heb ik geen flauw idee hoe ik moet beginnen

iemand ideeen?
 
PHP hulp

PHP hulp

19/12/2024 00:08:47
 
Kris Peeters

Kris Peeters

13/12/2012 10:05:12
Quote Anchor link
Een javascript file hoeft niet .js als extensie te hebben.
Als je het gewoon een .php extensie geeft, kan je werken met alle wapens die je met php ter beschikking hebt.
 
Pascal Wetzels

Pascal Wetzels

13/12/2012 10:07:35
Quote Anchor link
Dit is een stukje uit de file wat ik moet aanpassen.
achter elke ] moet een , komen, behalve achter de laatst ]
dit zou ik kunnen oplossen door een , vóór de nieuwe invoer te plaatsen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
["Y", "1", "1", "2013", "", "", "Nieuwjaar", ""],
    ["Y", "4", "30", "2013", "", "", "Koninginnedag", ""],
    ["", "11", "17", "2012", "19:00", "", "Feestavond", "Feestavond voor de leden van de vereniging"],
    ["", "11", "25", "2012", "11:00", "", "Ledenvergadering", "Algemene ledenvergadering, verplicht voor elk lid"],
    ["", "10", "27", "2012", "20:00", "", "Nachtoefening", "Nachttraining voor alle leden"],
    ["", "2", "17", "2013", "11:00", "", "Ledenvergadering", "Algemene ledenvergadering, verplicht voor elk lid"],
    ["", "4", "1", "2013", "9:00", "17:00", "Onderlinge Wedstrijd", ""]

tussen de 1e "" staat of het een jaarlijks, wekelijks, dagelijks ... enz terugkerend evenement is
2e "" is de maand waarin het evenement is, 3e "" is de dag, 4e "" het jaartal, 5e en 6e de begin en eind tijd. de 7e"" is de titel van het evenenment en de 8e een korte omschrijving.
 
No One

No One

13/12/2012 10:22:02
Quote Anchor link
Volgens mij kun je dit oplossen door in PHP een array te maken met de juiste formaten en dan vervolgens met json_encode deze te printen.
 
Kris Peeters

Kris Peeters

13/12/2012 10:28:39
Quote Anchor link
Ja, precies.
Als je deze informatie in een array hebt, is het slechts een kwestie van json_encode.

Als je toch een truukje wil ...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
$array
= ...;
$content = '';
for($i=0; $i<count($array); $i++) {
  if($i<0) {
    $content .= ',';  // op deze manier komt er een komma tussen elke iteratie.  Niet voor de eerste, niet na de laatste
  }  
  $content .= '[....]';
}

?>
 
Pascal Wetzels

Pascal Wetzels

13/12/2012 11:45:11
Quote Anchor link
alle gegevens staan in 1 array, de gegevens van een evenement staan tussen [ ] en deze zijn gescheiden door een ",".
bijv.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
events = new Array(
["y", "12", "25", "", "", "", "1e kerstdag", ""],
["y", "12", "26", "", "", "", "2e kerstdag", ""]
);
 
No One

No One

13/12/2012 12:01:21
Quote Anchor link
wat json_encode genereert in php is het zelfde als wat new Array representeert in javascript.

in feite staat er in het stukje javascript die jij geeft het zelfde als dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
events = [
[
"y", "12", "25", "", "", "", "1e kerstdag", ""],
[
"y", "12", "26", "", "", "", "2e kerstdag", ""]
];

?>


dus:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$events
= array(
array("y", "12", "25", "", "", "", "1e kerstdag", ""),
array("y", "12", "26", "", "", "", "2e kerstdag", "")
);


print "events =".json_encode($events).";";
?>


ouptut naar de browser:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
events = [
[
"y", "12", "25", "", "", "", "1e kerstdag", ""],
[
"y", "12", "26", "", "", "", "2e kerstdag", ""]
];

?>
Gewijzigd op 13/12/2012 12:10:16 door No One
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.