Voertuignummers laten zien in php

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

David Meijer

David Meijer

17/12/2015 17:59:35
Quote Anchor link
Hallo allemaal hoe moet ik de voertuignummers van de bussen laten zien in PHP script.

En ik snap niet hoe ik dat moet doen via KV6.

Dit is het script.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
<!DOCTYPE html>
<html dir="ltr" lang="nl">
    <head>
        <meta http-equiv="refresh" content="60" />
        <meta name="viewport" content="width=device-width,initial-scale=1.0;"/>
        <link rel="stylesheet" type="text/css" href="index.css" />
        <title>Komt de tram al? Of de bus?</title>
    </head>
<body>
    <?php
$datum
= date("j F Y");
$dagvanweek = date("l");
$arraydag = array(
"Zondag",
"Maandag",
"Dinsdag",
"Woensdag",
"Donderdag",
"Vrijdag",
"Zaterdag"
);
$dagvanweek = $arraydag[date("w")];
$arraymaand = array(
"Januari",
"Februari",
"Maart",
"April",
"Mei",
"Juni",
"Juli",
"Augustus",
"September",
"Oktober",
"November",
"December"
);
$datum = date("j ") . $arraymaand
[date("n") - 1] . date(" Y");
echo "Het is vandaag $dagvanweek, $datum";  
?>

    
    <?php
        // Haal huidige datum en tijd op
        $nu2 = date('H:i');
        
        echo("<div class=\"hoelaat\"><em>Het is nu ".$nu2." uur</em></div>\n");
    ?>

    <div class="schema">
    <?php    
        // De lijninformatie wordt binnengehaald met curl
        function ophalen($perron) {
            $service_url = 'http://kv78turbo.ovapi.nl/tpc/'.$perron.'/departures';
            $curl = curl_init($service_url);
            curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
            $curl_response = curl_exec($curl);
            if ($curl_response === false) {
                $info = curl_getinfo($curl);
                curl_close($curl);
                die('error occured during curl exec. Additional info: '.var_export($info));
            }

            curl_close($curl);
            // Het JSON-bestand wordt omgezet naar een PHP array
            $decoded = json_decode($curl_response,true);
            if(isset($decoded->response->status) && $decoded->response->status == 'ERROR') {
                die('Er ging iets fout: ' . $decoded->response->errormessage);
            }

            // Hierin zit DE informatie
            $alleinfo = $decoded[$perron];
            // Uncomment de volgende regel als je de ruwe data wilt bekijken:
            // var_export($decoded[$perron]);

            return $alleinfo;
        };
        function
toonZe($alleinfo, $richting) {
            echo("<h1>Halte ".$alleinfo['Stop']['TimingPointName']." <em>".$richting."</em></h1><ul>");
            $allevoertuigen = $alleinfo["Passes"];
            // De array opnieuw sorteren op ExpectedArrivalTime
            $tijdstippen = array();
            foreach ($allevoertuigen as $voertuig){
                $tijdstippen[] = $voertuig['ExpectedArrivalTime'];
            }

            array_multisort($tijdstippen, SORT_ASC, $allevoertuigen);
            foreach($allevoertuigen as $row){
                // Deze gebruik je om de aankomsttijd weer te geven (nu niet in gebruik)
                $tijd = date_parse($row['ExpectedArrivalTime']);
                // Hiermee bereken je het aantal minuten
                $rekentijd = strtotime($row['ExpectedArrivalTime']);
                $nu = strtotime(date("Y-m-d\TH:i:s"));
                if($nu<$rekentijd){
                    $verschil = round(abs($nu - $rekentijd) / 60,0);
                };
// Toon alle bussen die binnen 3 kwartier komen
                if($verschil <= 900){
                    if ($verschil == 1){
                        echo("<li class=\"telaat\"><span>".$row['LinePublicNumber']."</span><h2>".$row['DestinationName50']."</h2><strong>NU!</strong></li>");
                    }
else if ($verschil == 0) {
                        echo("<li class=\"bijnatelaat\"><span>".$row['LinePublicNumber']."</span><h2>" . $row['DestinationName50'] . "</h2><strong>1 minuut</strong><strong>".$row['JourneyNumber']."</strong></li>\n");
                    }
else {
                        echo("<li>".$tijd['hour'].":".sprintf("%'.02d", $tijd['minute'])." uur<em><span>".$row['LinePublicNumber']."</span><h2>".$row['DestinationName50']."</h2><h2>".((isset($row['SideCode']))?$row['SideCode']:"")."</h2><strong>(over ".$verschil." minuten)</strong></li>\n");
                    };
                };
            };

echo("</ul>\n");
};

$alles = ophalen("37220131");
toonZe($alles, "heen");
?>

</div>
<div class="schema">
<?php    
$alles
= ophalen("37220137");
toonZe($alles, "heen");
?>

</div>
<div class="schema">
<?php    
$alles
= ophalen("37220134");
toonZe($alles, "heen");
?>

</div>
<div class="schema">
<?php    
$alles
= ophalen("37220911");
toonZe($alles, "heen");
?>

</div>
<div class="schema">
<?php    
$alles
= ophalen("37220917");
toonZe($alles, "heen");
?>

</div>
<div class="schema">
<?php    
$alles
= ophalen("37220914");
toonZe($alles, "heen");
?>

</div>
<div class="schema">
<?php    
$alles
= ophalen("37220139");
toonZe($alles, "heen");
?>

</div>
<div class="schema">
<?php    
$alles
= ophalen("37220912");
toonZe($alles, "heen");
?>

</div>
<div class="schema">
<?php    
$alles
= ophalen("37220130");
toonZe($alles, "heen");
?>

</div>
<div class="schema">
<?php    
$alles
= ophalen("37220170");
toonZe($alles, "heen");
?>

</div>
<div class="schema">
<?php    
$alles
= ophalen("37224560");
toonZe($alles, "heen");
?>

</div>
</body>
</html>
 
PHP hulp

PHP hulp

19/04/2024 15:12:52
 
- Ariën  -
Beheerder

- Ariën -

17/12/2015 18:09:12
Quote Anchor link
Geen idee, ik weet niet hoe de data samen gesteld wordt.
Het beste is gewoon om met print_r te kijken naar je $row array, zodat je de eerste stap kan zetten om te bepalen waar het voertuignummer staat.
Gewijzigd op 17/12/2015 18:12:30 door - Ariën -
 
David Meijer

David Meijer

17/12/2015 18:11:28
Quote Anchor link
Oke ik ga er van de week even mee aan de gang.

Misschien zijn er andere mensen die er hier meer van weet.
 
- Ariën  -
Beheerder

- Ariën -

17/12/2015 18:17:43
Quote Anchor link
Ik zie wel in de Passes-array een aantal bussen vermeld staan, met een hoop eigenschappen.
Welke het voertuignummer geeft weet ik niet.

Even een wederzijdese vraag: Waar haal je die halte-codes vandaan, als ik vragen mag?
Want dit ziet er best interesssant uit.
 
David Meijer

David Meijer

17/12/2015 18:19:43
 
David Meijer

David Meijer

20/12/2015 20:09:19
Quote Anchor link
Iemand anders nog een suggestie voor de Voertuignummers en zo
 
- Ariën  -
Beheerder

- Ariën -

20/12/2015 20:19:46
Quote Anchor link
Je array even uitlezen met print_r() ?
Dat is het eerste wat ik altijd doe als ik zonder documentatie wil weten hoe ik bepaalde data op wil zoeken.
Gewijzigd op 20/12/2015 20:21:28 door - Ariën -
 
David Meijer

David Meijer

20/12/2015 20:21:21
Quote Anchor link
En waar moet ik die precies neer zetten.
 
- Ariën  -
Beheerder

- Ariën -

20/12/2015 20:22:30
Quote Anchor link
Op een logische plek waar je array bestaat?

En anders kan je ook 'trial & error' proberen ;-).
Gewijzigd op 20/12/2015 20:23:11 door - Ariën -
 
David Meijer

David Meijer

20/12/2015 20:23:40
Quote Anchor link
En dat is?

Toevoeging op 20/12/2015 20:26:02:

- Ariën - op 20/12/2015 20:22:30:
Op een logische plek waar je array bestaat?

En anders kan je ook 'trial & error' proberen ;-).


Maar ben je nog verder gekomen wat ik je in een PM heb verstuurt
 
- Ariën  -
Beheerder

- Ariën -

20/12/2015 20:29:03
Quote Anchor link
David, ik zie op lijn 82 een mooie foreach die $allevoertuigen uitleest, en de data per iteratie in $row verwerkt.

Hier kan je prima een print_r in gebruiken. Dan kan je vast wel zien welke element het voertuignummer bevat.

En ja, de haltes heb ik gevonden.
Gewijzigd op 20/12/2015 20:30:05 door - Ariën -
 
David Meijer

David Meijer

20/12/2015 20:32:23
Quote Anchor link
mooi zo

Toevoeging op 20/12/2015 20:43:32:

hoe krijg ik dit goed http://bussenentreinenforum.nl/busvertrektijden/Zaandam/station.php ik krijg die tijd niet goed wat je ziet staan.
 
- Ariën  -
Beheerder

- Ariën -

20/12/2015 20:49:05
Quote Anchor link
explode()'n op de 'T'? Misschien kan je met de DateTime-class ook wel een goede formatting eruithalen?
 
David Meijer

David Meijer

20/12/2015 20:53:47
Quote Anchor link
oke want dat wil ik dus goed hebben staat ook de vertrektijd van de bus nu zie je ook gewoon de Aankomst tijd van hem wel goed maar niet die andere.

Toevoeging op 20/12/2015 22:42:31:

- Ariën - op 20/12/2015 20:49:05:
explode()'n op de 'T'? Misschien kan je met de DateTime-class ook wel een goede formatting eruithalen?



hier https://groups.google.com/forum/#!topic/openov/u47XjkSIvps had ik het ook gevraagd maar daar werd ik naar hier verwezen door jou
 
- Ariën  -
Beheerder

- Ariën -

21/12/2015 00:21:04
Quote Anchor link
OpenOV is dan ook niet de juiste plek voor programmeertechnische vragen. Deze kan je daarom prima hier stellen.
 
David Meijer

David Meijer

21/12/2015 00:23:17
Quote Anchor link
Daarom omdat ik geen kv6 heb alleen die kv78turbo.ovapi.nl
 
- Ariën  -
Beheerder

- Ariën -

21/12/2015 00:24:18
Quote Anchor link
Wat is nu precies je vraag? Je gaat behoorlijk van de hak naar de tak toe.
 
David Meijer

David Meijer

21/12/2015 00:26:37
Quote Anchor link
laat maar ik laat het voor nu zo
 



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.