Array uit Database halen
Ik ben al een hele tijd bezig met een grafiek en daar heb je bijvoorbeeld een array als dit:
$datay1 = array(20,15,23,15);
Nu wil ik een array uit de database halen met de getallen van het aantal bezoekers per dag. Dus bijvoorbeeld 3 maart is 356, 4 maart 546, 5 maart 846 etc. Dan moet de array(356,546,846); worden.
Ik heb foreach(), een for() en while() al geprobeerd maar kom er niet uit.
Iemand een idee?
Gewijzigd op 01/01/1970 01:00:00 door Jory
Wat heb je allemaal al geprobeerd? Laat eens wat van je beste resultaat zien! :)
Haha, dat heb ik uit frustratie weggehaald.. Ik zal het even opzoeken.. :)
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?
$value = null;
while($grafiekRow = mysql_fetch_assoc($grafiekQuery))
{
$value .= $grafiekRow['total'];
}
?>
$value = null;
while($grafiekRow = mysql_fetch_assoc($grafiekQuery))
{
$value .= $grafiekRow['total'];
}
?>
Gelieve Niet Bumpen::
Gewijzigd op 01/01/1970 01:00:00 door Jory
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$datay1 = array();
while($data = mysql_fetch_assoc)
{
$datay1[] = $data['waarde'];
}
?>
$datay1 = array();
while($data = mysql_fetch_assoc)
{
$datay1[] = $data['waarde'];
}
?>
Ik denk dat 't ik nu wel werkend ga krijgen! Nogmaals bedankt!
Snap je wel wat hij nu doet?
Hij geeft eerst aan dat $data1 een array moet zijn. Daarna geeft hij de array waarden door er [] achter te zetten.
Klopt dit een beetje?
Ik heb nu:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
//Pageviews per dag
$grafiekSql = "SELECT count(*) AS total FROM bezoekers_log WHERE month='".$month."' AND year='".$year."'";
$grafiekQuery = mysql_query($grafiekSql);
?>
//Pageviews per dag
$grafiekSql = "SELECT count(*) AS total FROM bezoekers_log WHERE month='".$month."' AND year='".$year."'";
$grafiekQuery = mysql_query($grafiekSql);
?>
Dit is dus voor de pageviews per dag. Hoe moet ik dan de unieke bezoekers per dag van deze maand uit de database halen?
Gelieve Niet Bumpen::
Gewijzigd op 01/01/1970 01:00:00 door Jory
Ehm, dat doe je dus niet helaas... Maak hier een datetime veld voor en je bent een stuk verder.
Dan kan je gewoon selecteren op WHERE datum is CURDATE()
Succes ermee!
Met CURDATE() krijg je toch de datum van nu? Oftewel de pageviews van vandaag. Ik wil de pageviews per dag in mijn grafiek krijgen.
http://www.goedkoopstappen.nl/statistieken/grafiek/grafiek.php
Hier zie je op de X as de dag van de maand. En op de Y as het aantal pageviews.
(PS: Ik gebruik ook een DATE veld, ik was aan het testen wat het makkelijkste werkt.. :))
Gelieve Niet Bumpen: herhaling:
Gewijzigd op 01/01/1970 01:00:00 door Jory
heef me enorm geholpen maar ik wil graag meerdere kolommen in mijn array.
ik heb de oplossing al gevonden maar wilde hem even delen voor andere "beginners" die dit misschien terug lezen.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$datay1 = array();
while($data = mysql_fetch_assoc)
{
$datay1[] = $data['waarde'];
$datay1[] = $data['kolom2'];
$datay1[] = $data['kolom3'];
}
?>
$datay1 = array();
while($data = mysql_fetch_assoc)
{
$datay1[] = $data['waarde'];
$datay1[] = $data['kolom2'];
$datay1[] = $data['kolom3'];
}
?>
Dus bovenstaande code zal nooit werken!
Daarnaast is mysql_ verouderd.
Dit zou wel (kunnen) werken:
Topic is uit 2009.
$result = $con->query("SELECT dit, dat FROM tabel WHERE zus = 'zo'; ");
$row = $result->num_rows;
for($i=0; $i<$row; $i++){
$rows = mysqli_fetch_array($result,MYSQLI_ASSOC);
echo "Dit" . $rows['dit'] . "<br>";
}
edit: Post is inderdaad van 2009 blijkbaar... /facepalm
Gewijzigd op 16/12/2014 13:19:56 door Michael Desmadril
Om verdere onnodige posts te voorkomen hang ik er een mooi hangslotje aan. ;-)