Database automatisch vullen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Rene Zwolsman

Rene Zwolsman

01/04/2007 12:26:00
Quote Anchor link
hallo,

Kan een database ook automatisch gevuld worden? Het probleem (of uitdaging ;)) is alsvolgt:

Ik heb een weerstation welke allerlei data genereert die ik op mijn website weergeef. Dit is eigenlijk alleen maar actuele data. Nu wil ik ook een beetje historie weergeven. En volgens mij kan dat met een database.
Ik kan mijn weerstation elke 5 minuten een txt bestand aan laten maken, welke geupload wordt naar mijn site. (http://www.weerstation-houten.nl/NOAA/downld02.txt) Op de site heb ik nu een tabel gemaakt waarin ik handmatig 1x per maand alle getallen verwerk. Nu wil ik dit automatisch laten gaan. De bedoeling is om een tabel te (laten) maken waarin op de regels de dagen van de maand staan en in de kolommen bv de min/max temperatuur, neerslag etc. Het txt bestand geeft van elke 5 minuten de data van de afgelopen 2 dagen. Dus wanneer er een dag voorbij is, zou deze in de database opgenomen moeten zijn. Ik heb geen idee of het mogelijk is en heb dus 0 ervaring met sql. Wel een klein beetje met php...Wie helpt mij op weg?
 
PHP hulp

PHP hulp

20/11/2024 16:21:25
 
Bart van der veen

bart van der veen

01/04/2007 12:54:00
Quote Anchor link
je kunt een script elke 5 min laten lopen middels cronjops (dat ken ik verder niet) en je kunt ook een delay in je script inbouwen..

http://www.php.net/manual/en/function.sleep.php
Gewijzigd op 01/01/1970 01:00:00 door bart van der veen
 
Jan Koehoorn

Jan Koehoorn

01/04/2007 12:57:00
Quote Anchor link
Waarom neem je je gegevens niet meteen op in een database? Maak een pagina waarin je de inhoud van het door je weerstation gegenereerde txt bestand kunt plakken (bijvoorbeeld in een textarea in een formulier) en sla de gegevens uit je txt bestand op in een tabel via een PHP script.

Heb je een abonnement met PHP en MySQL ondersteuning?
 
Rene Zwolsman

Rene Zwolsman

01/04/2007 19:10:00
Quote Anchor link
Als het meteen kan, zou natuurlijk veel handiger zijn. Ik heb een abonnement met php 5 en MySQL 4. Maar dat plakken van een txt bestand moet dat dan niet handmatig?
Gewijzigd op 01/01/1970 01:00:00 door Rene Zwolsman
 
Bart van der veen

bart van der veen

01/04/2007 19:14:00
Quote Anchor link
include of read_file_content
 
Jan Koehoorn

Jan Koehoorn

01/04/2007 19:17:00
Quote Anchor link
Rene schreef op 01.04.2007 19:10:
Als het meteen kan, zou natuurlijk veel handiger zijn. Ik heb een abonnement met php 5 en MySQL 4. Maar dat plakken van een txt bestand moet dat dan niet handmatig?

Dat hangt er vanaf. Op welke plek komt het tekstbestand terecht dat door je weerstation gegenereerd wordt? Op je eigen computer? Of in een map op je homepage?
 
Rene Zwolsman

Rene Zwolsman

01/04/2007 19:18:00
Quote Anchor link
Kan allebei. Kan uploaden en op pc opslaan.
 
Jan Koehoorn

Jan Koehoorn

01/04/2007 19:20:00
Quote Anchor link
Ik heb net even naar je eerste voorbeeld van een tekstbestand gekeken. Het is een ASCI bestand met een vaste kolombreedte. Als de volgorde van je kolommen niet verandert, is het mogelijk om een uploadpagina te maken die de gegevens rechstreeks in een database importeert.
 
Rene Zwolsman

Rene Zwolsman

01/04/2007 19:24:00
Quote Anchor link
Ik kan niks aan het bestand veranderen. Wordt zo automatisch gegenereerd. Maar dan de pagina met ftp uploaden?
 
Jan Koehoorn

Jan Koehoorn

01/04/2007 19:25:00
Quote Anchor link
Nee, ik zou gewoon de inhoud van het tekstbestand in een formulier op een uploadpagina plakken. Dan kan je PHP script de gegevens interpreteren en in een MySQL database zetten.
 
Rene Zwolsman

Rene Zwolsman

01/04/2007 19:40:00
Quote Anchor link
Ben er nog niet zo in thuis (net in boek php/mysql voor dummies begonnen...) Zie daar wel iets over formulier staan. Maar de term uploadpagina is me niet helemaal duidelijk?
 
Jan Koehoorn

Jan Koehoorn

01/04/2007 19:42:00
Quote Anchor link
Als je nog een half uurtje online bent, maak ik een voorbeeldje voor je.
 
Rene Zwolsman

Rene Zwolsman

01/04/2007 19:43:00
Quote Anchor link
ja hoor. ik ben er nog wel. ga nog wel even wat puzzelen
 
Jan Koehoorn

Jan Koehoorn

01/04/2007 20:10:00
Quote Anchor link
Okee, ik heb een beginnetje voor je gescript.

Link: voorbeeldpagina voor het uploaden van een txt bestand.
 
Rene Zwolsman

Rene Zwolsman

01/04/2007 20:27:00
Quote Anchor link
De data komt er inderdaad mooi in te staan. Maar veel te veel. Maar dat zal dan wel weer in de database opgenomen worden en dan dmv php alleen de hoogte/laagste waarde per dag opvragen. Of zie ik het verkeerd?

Klopt het dan dat ik wel elke dag het bestand moet uploaden?
 
Jan Koehoorn

Jan Koehoorn

01/04/2007 20:33:00
Quote Anchor link
Ik zou sowieso alle data opslaan. Via MySQL kun je er allerlei statistieken uit laten rollen, zoals hoogste temperatuur per dag enz.

Je zult wel elke dag het bestand moeten uploaden inderdaad.
 
Rene Zwolsman

Rene Zwolsman

01/04/2007 20:41:00
Quote Anchor link
Nou, dat lukt denk ik wel om elke dag te uploaden. Hoe zie ik wat de php code achter de uploadpagina is? Nu zie ik alleen de html uitvoer. Of zit er niet meer achter? En als ik bv morgen weer upload komt de nieuwe data er dan onder te staan?
 
Jan Koehoorn

Jan Koehoorn

01/04/2007 20:44:00
Quote Anchor link
De mate van vanzelfsprekendheid van jouw kant is omgekeerd evenredig met de hulpvaardigheid van mijn kant ;-)
 
Rene Zwolsman

Rene Zwolsman

01/04/2007 21:11:00
Quote Anchor link
owkee, ik begrijp hem. Zal eens kijken of mij dat ook lukt.
 
Jan Koehoorn

Jan Koehoorn

01/04/2007 21:12:00
Quote Anchor link
Hier alvast 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
<?php
    require 'classes/class.upload.php';
?>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <title>Weerstation Uploadpagina</title>
    <style type="text/css">
        html, body {
            margin: 0px;
            padding: 0px;
        }
        #container {
            margin: 0px auto;
            width: 800px;
            padding: 5px;
            border: 3px solid #fff;
            background: #eee;
        }
        body {
            background: #aaa;
        }
        h1 {
            font: 24px georgia;
            color: #366;
            border-left: 13px solid #f90;
            border-bottom: 1px solid #666;
            padding-left: 25px;
            padding-bottom: 5px;
            margin-top: 25px;
        }
        p, label, input, select, option {
            font: 12px verdana;
            color: #666;
        }
        p, table {
            margin: 0px 0px 5px 55px;
        }
        select {
            margin-left: 16px;
        }
        img {
            background: #fff;
            border: 1px solid #ccc;
            padding: 3px;
        }
        label {
            cursor: pointer;
        }
        .vis {
            display: block;
        }
        .invis {
            display: none;
        }
        pre {
            font: 12px "courier new";
            color: green;
            border: 1px solid green;
            padding: 15px;
            margin: 15px auto;
            width: 600px;
        }
        table.info {
            border: 1px solid #fff;
        }
        table.info th, table.info td {
            text-align: left;
            vertical-align: top;
        }
        th, td {
            font: 10px verdana;
            padding: 3px;
            margin: 0px;
            border: 1px solid #366;
        }
        th {
            font-weight: bold;
            background: #fff;
        }
    </style>
</head>

<body>
    <div id="container">
    <h1>Upload weerstation gegevens</h1>
    <form method="post" action="#" enctype="multipart/form-data">
        <p>
            <label for="userfile">kies een tekstbestand:</label>
            <input id="userfile" name="userfile" type="file" size="80">
        </p>

        <p>
            <input type="submit" value="upload">
        </p>
    
    </form>
    <?php
        if ($_SERVER['REQUEST_METHOD'] == 'POST') {
            $upload = new weerstation ('userfile', 'images');
            $upload->move_file ();
            foreach ($upload->get_upload_info () as $info) {
                echo $info;
            }

            foreach ($upload->get_errs () as $err) {
                echo $err;
            }

            $data = file ($upload->get_file ());
            $data = array_slice ($data, 3, count ($data) - 3);
            foreach ($data as $line) {
                $test = spliti ('/ */', $line);
                echo '<pre>';
                print_r ($test);
                echo '</pre>';
            }
        }

    ?>

    
    </div>
</body>
</html>
 
Rene Zwolsman

Rene Zwolsman

02/04/2007 18:09:00
Quote Anchor link
Jan,

zou je achter elke regel php kunnen zetten wat deze doet? Dan leer ik er ook wat van. Wat staat er allemaal in het require bestand? ik heb e.e.a. in de vorm van mijn site gezet maar hij vraagt dus om de classes.upload.php. Staan daar de upload errors en de upload info in?
 



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.