gegevens uit txt bestand naar MYSQL database

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Kilian Janssen

Kilian Janssen

18/02/2009 10:06:00
Quote Anchor link
Hallo,

Ik wil de gegevens uit dit textbestand: http://www.knmi.nl/klimatologie/daggegevens/datafiles2/260/etmgeg_260.zip
In mijn MYSQL database invullen, is hier een makkelijkere manier voor dan alles over te schrijven, als ik moet overschrijven gaat dat niet lukken want dan ben ik een paar jaar bezig :p

Alvast bedankt voor de hulp!

Kilian
 
PHP hulp

PHP hulp

08/11/2024 02:32:16
 
TJVB tvb

TJVB tvb

18/02/2009 10:36:00
Quote Anchor link
Hoe ziet je data model van je database eruit?
Je zult de gegevens in het algemeen gewoon splitsen op de ,
 
Kilian Janssen

Kilian Janssen

18/02/2009 10:38:00
Quote Anchor link
Ik heb een tabel genaamd KNMI
En dan kolommen met Datum, Max, Min en Gem

Hoe doe ik splitsen op de , ?

Mvg
 
- SanThe -

- SanThe -

18/02/2009 10:39:00
 
TJVB tvb

TJVB tvb

18/02/2009 10:40:00
 
Kilian Janssen

Kilian Janssen

18/02/2009 10:45:00
Quote Anchor link
Ik heb het getest en het werkt maar nu: de bedoeling is dat iemand in een html form bijv aanklikt ik wil de temp zien op 10 jan 2003. Nu moet mijn php script dus of uit de database de info halen of uit de text file. ik denk dat het sneller is als ik dingen uit de db haal. maar dan moet de datum uit de textfile dus ook eerst "ge-explode" worden (toch?). Als alles werkt moet de gebruiken een tabelletje zien met daarin de min, max en gem. temperatuur. Hoe ik dit maak dat weet ik wel het gaat er meer om hoe krijg de gegevens daar, het gemiddelde hoeft niet perse uit de db/textfile worden gehaald ik kan de min en max ook gwn bij elkaar optellen en vervolgens delen door 2.
Gewijzigd op 01/01/1970 01:00:00 door Kilian Janssen
 
- SanThe -

- SanThe -

18/02/2009 11:11:00
Quote Anchor link
Als je explode() hebt gedaan dan heb je de datum toch. Die kun je weer uit elkaar halen met substr().
 
Kilian Janssen

Kilian Janssen

18/02/2009 11:31:00
Quote Anchor link
Ik heb nu dit:

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
<?php

$regel
  = "260,20090217,   25,   36,   50,   30,   90,   40,   -9,   65,  -19,    0,    0,  174,     ,   37,10217,10277,10169,   18,   82,    7,   92,   97,   81,    2,";
$pieces = explode(",", $regel);

$jaar = substr($pieces[1], 0, 4);
$maand = substr($pieces[1], 4, 5);
$dag = substr($pieces[1], 6, 7);

echo $jaar;
echo $maand;
echo $dag;

?>


maar als ik het uitvoer krijg ik dit: 2009021717
Hij geeft 2x een 17 terwijl het er maar 1 moet zijn, hoe komt dit?

Mvg
 
- SanThe -

- SanThe -

18/02/2009 11:34:00
Quote Anchor link
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
<?php

$regel
  = "260,20090217,   25,   36,   50,   30,   90,   40,   -9,   65,  -19,    0,    0,  174,     ,   37,10217,10277,10169,   18,   82,    7,   92,   97,   81,    2,";
$pieces = explode(",", $regel);

$jaar = substr($pieces[1], 0, 4);
$maand = substr($pieces[1], 4, 2);
$dag = substr($pieces[1], 6, 2);

echo $jaar;
echo $maand;
echo $dag;

?>
 
Kilian Janssen

Kilian Janssen

18/02/2009 11:38:00
Quote Anchor link
Bedankt voor de hulp, maar nu zit ik weer vast...
Ik kan nu alle gegevens uit het bestandje halen, maar hoe laat ik ze zien op het moment dat iemand erop zoekt?
 
- SanThe -

- SanThe -

18/02/2009 11:40:00
Quote Anchor link
Formuliertje maken en afhandelen lijkt mij.
 
Michael -

Michael -

18/02/2009 12:21:00
Quote Anchor link
Kilian,

Als je wil heb ik het hele text bestand in mysql.
Als je die wil hebben, exporteer ik 'm wel en zet ik 'm wel in een zipje online.
Als je de data in mysql hebt, kan je er ook makkelijker in zoeken en makkelijker laten tonen e.d.

Groetjes
 
Kilian Janssen

Kilian Janssen

18/02/2009 14:28:00
Quote Anchor link
Heel graag :)
Hoe kom je eraan?

Ik heb nu dit:

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
<HTML>
<CENTER>

<form action="zoek.php" method="post" name="form1">

<tr>
  <td>Kies een maand:</td>
  <td>
   <select name="maand">
    <option value="01">Januari</option>
    <option value="02">Februari</option>
    <option value="03">Maart</option>
    <option value="04">April</option>
    <option value="05">Mei</option>
    <option value="06">Juni</option>
    <option value="07">Juli</option>
    <option value="08">Augustus</option>
    <option value="09">September</option>
    <option value="10">Oktober</option>
    <option value="11">November</option>
    <option value="12">December</option>
    </select>
 </td>
</tr>

<br />

<tr>
  <td>Kies een dag:
    <select name="dag">
      <option value="1">1</option>
      <option value="2">2</option>
      <option value="3">3</option>
      <option value="4">4</option>
      <option value="5">5</option>
      <option value="6">6</option>
      <option value="7">7</option>
      <option value="8">8</option>
      <option value="9">9</option>
      <option value="10">10</option>
      <option value="11">11</option>
      <option value="12">12</option>
      <option value="13">13</option>
      <option value="14">14</option>
      <option value="15">15</option>
      <option value="16">16</option>
      <option value="17">17</option>
      <option value="18">18</option>
      <option value="19">19</option>
      <option value="20">20</option>
      <option value="21">21</option>
      <option value="22">22</option>
      <option value="23">23</option>
      <option value="24">24</option>
      <option value="25">25</option>
      <option value="26">26</option>
      <option value="27">27</option>
      <option value="28">28</option>
      <option value="29">29</option>
      <option value="30">30</option>
      <option value="31">31</option>
      <option value="32">32</option>
    </select></td>
  <td>&nbsp;</td>
</tr>

<br />

<tr>
<td><button type="submit">==> ZOEK <==</button></td>
</tr>

</form>

</CENTER>
</HTML>


en

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
<?php

include('config.php');

$maand = $_POST['maand'];
$dag = $_POST['dag'];

//zoeken in de db of textfile naar de gegevens die daarbij horen.
$resultaat = ("SELECT * FROM KNMI WHERE dag = $dag AND maand = $maand");

echo "<table border='1'>
<tr>
<th>Minimaal</th>
<th>Maximaal</th>
<th>Gemiddeld</th>
</tr>"
;

while($row = mysql_fetch_array($result))
  {

  echo "<tr>";
  echo "<td>" . $row['minimaal'] . "</td>";
  echo "<td>" . $row['maximaal'] . "</td>";
  echo "<td>" . $row['gemiddeld'] . "</td>";
  echo "</tr>";
  }

echo "</table>";

?>


Verder kom ik niet..

Kilian
Gewijzigd op 01/01/1970 01:00:00 door Kilian Janssen
 
- SanThe -

- SanThe -

18/02/2009 14:44:00
Quote Anchor link
Je post is nu niet echt leesbaar. Pas je post even aan en gebruik en tags om je code heen. Om php code zet je uiteraard dit:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php en ?>
Gebruik je Afbeelding knop om dit te doen.

SanThe.
 
Kilian Janssen

Kilian Janssen

18/02/2009 15:02:00
Quote Anchor link
Is gebeurd :)
 
- SanThe -

- SanThe -

18/02/2009 15:06:00
Quote Anchor link
Nooit gebruikers input direct in een query zetten.
Je voert de query niet uit.

Zet dit bovenin je script.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);

// rest
?>
 
Kilian Janssen

Kilian Janssen

18/02/2009 15:30:00
Quote Anchor link
Ik zet het bovenin me script, en dan? Ik kom niet verder.
 
- SanThe -

- SanThe -

18/02/2009 15:33:00
Quote Anchor link
kilian schreef op 18.02.2009 15:30:
Ik kom niet verder.

Hier kunnen we niks mee. Informatie geven is altijd belangrijk.
 
Kilian Janssen

Kilian Janssen

18/02/2009 15:44:00
Quote Anchor link
Met het maken van een werkend script om de opgevraagde gegevens te laten zien
 
Michael -

Michael -

18/02/2009 16:06:00
Quote Anchor link
kilian schreef op 18.02.2009 14:28:
Heel graag :)
Hoe kom je eraan?

Kilian


Hier kan je 'm downloaden:
[Verwijdert, als je 'm wil moet je t maar ff vragen]
Hoe ik er aan kom? Ik heb jou txt bestand toegevoegd aan de database met een scriptje die jou txt scheide bij de komma's en daarna in de database zette. (Ik moest wel de php instellingen aanpassen omdat 't bestand anders te groot was om te verwerken en een foutmelding opleverde: Allowed memory size of 25165824 bytes exhausted XD)

kilian schreef op 18.02.2009 15:44:
Met het maken van een werkend script om de opgevraagde gegevens te laten zien

Wat SanThe bedoelde is of je ook foutmeldingen ofzo krijgt, of kan zeggen waar je precies niet verder komt. Wat werkt er niet, etc.
"Ik kom niet verder met het maken van een werkend script om de opgevraagde gegevens te laten zien" komen we niet verder mee.

Edit:
Ik heb er eventueel ook nog een scriptje bij waarbij je een datum invult en hij de info toont (verveling/afleiding).
Toch vraag ik me een beetje af wat je er mee wilt doen, want ik vind de info die eruit komt nogal vreemd:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
1 gevonden
Datum: 3 juli 1991
Etmaalgemiddelde temperatuur: 223
Minimum temperatuur: 150
Maximum temperatuur: 287
Zonneschijnduur: 110
Percentage van de langst mogelijke zonneschijnduur: 66%
Etmaalgemiddelde relatieve vochtigheid in procenten: 70%

Gewijzigd op 01/01/1970 01:00:00 door Michael -
 
Kilian Janssen

Kilian Janssen

18/02/2009 19:51:00
Quote Anchor link
Ik zou dat script heel graag willen :)
Alleen zou je mss een kleine aanpassing kunnen maken.
Zodat hij de gegevens van een bepaalde datum van 2009 tot 1999 laat zien en de gegevens die eruit komen moet je x0.1 doen dan komen de goede waardes eruit.

Super bedankt Turmin
Gewijzigd op 01/01/1970 01:00:00 door Kilian Janssen
 

Pagina: 1 2 volgende »



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.