Hallo allemaal,

Ik ben een beginner op het gebied van php/sql maar zit met een vraag.
Als weeramateur ben ik aan het stoeien met een database waarin ik wat meetgegevens heb staan.
Ik heb in mijn mysql database een tabel met de naam neerslaggegevens met een kolom datum en een kolom neerslag.
Nu wil ik met een php script de neerslaggegevens van een jaar per maand laten zien in een table .

alvast bedankt voor de hulp.
Mooi, dat je dat wilt en wat is het probleem? ;-)

Om te selecteren --> Select-query
Om te tonen --> een while loop waarin je de gegevens echoot

Alles terug te vinden in basistut's.
Bedankt voor uw snelle reactie

ik wil de meetgegevens als volgt weergeven met een tabel.
maar ik weet niet hoe ik de gegevens in de cellen moet krijgen.

<p>neerslag 2012</p>
<table width="300" border="1">
<tr>
<th scope="col">dag</th>
<th scope="col">jan</th>
<th scope="col">feb</th>
<th scope="col">mrt</th>
<th scope="col">apr</th>
<th scope="col">mei</th>
<th scope="col">jun</th>
<th scope="col">jul</th>
<th scope="col">aug</th>
<th scope="col">sep</th>
<th scope="col">okt</th>
<th scope="col">nov</th>
<th scope="col">dec</th>
</tr>
<tr>
<td>1</td>
<td>0.1</td>
<td>6.7</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td>2</td>
<td>0.6</td>
<td>0.3</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>

</table>
<?php
echo '<td>'.$myVar.'</td>';
?>

en al die &nbsp; is nergens voor nodig.
De gegevens haal je op met een selectquery. Kijk bv eens op http://www.w3schools.com/php/php_mysql_select.asp voor uitleg.

Op bv http://www.phptuts.nl/view/39/5/ zie je hoe een while lus in elkaar steekt.

Heel recht toe, recht aan, zonder foutafhandeling, etc.:

$sql_statement = "SELECT neerslag FROM tabel_neerslag";
$result = mysql_query($sql_statement);
echo '<table>';
while($data=mysql_fetch_assoc($result)) 
{
echo '<tr><td>'.$data['neerslag'] .'</td></tr>';
}
echo '</table>';
Dit snap ik nog wel ,maar ik wil graag de neerlag per maand apart in een tabel

Dit heb ik ook al geprobeerd met een mysqli_multi_query maar ik krijg de gegevens niet in een tabel

<?php
$mysqli = new mysqli('localhost', '', '', '');
if(mysqli_connect_errno())
{
trigger_error('Fout bij verbinding: '.$mysqli->error);
}

$sql = "SELECT neerslag
FROM nerslaggegevens WHERE MONTHNAME(date) = 1
ORDER BY date ASC;


$sql = "SELECT neerslag
FROM neerslaggegevens WHERE MONTHNAME(date) = 2
ORDER BY date ASC;


SELECT neerslag
FROM neerslaggegevens WHERE MONTHNAME(date) = 3
ORDER BY date ASC";

if(!$mysqli->multi_query($sql))
{
trigger_error('Fout in query: '.$mysqli->error);
}
else
{
do
{
if($result = $mysqli->store_result())
{
while($row = $result->fetch_assoc())
{
echo $row['neerslag'].'<br>'; Dit graag in een table
}
}
if($mysqli->more_results())
{
echo 'Resultaat van volgende query:<br>';
}
}while($mysqli->next_result());
}
?>
Het groeperen van resultaten tijdens je output zou je zo kunnen doen:

<?php
$maand = null;
// check of er een nieuwe maand begonnen is
if ($maand != $row['maand']) {
// echo hier de maandtitel
echo '<tr><td>'.$row['maand'].'</td></tr>';
$maand = $row['maand'];
}
// hieronder gewoon je resultaten echoen
?>

N.B. dit werkt natuurlijk alleen als je de resultaten op datum gesorteerd ophaalt.
SELECT MONTH(datum), SUM(neerslag) AS neerslag_pm
FROM neerslagen
GROUP BY MONTH(datum)
ORDER BY MONTH(datum)

Reageren