Could somebody give me a helping hand howto convert those mysql things to mysqli?
I need this because the mysql-extention causes this alert:
"The mysql extension is deprecated and will be removed in ..."
I tried the ConvertingTool but it responses warnings/errors. I also tried to convert it with the help of google und w3school.
With the old deprecated mysql-version it looks like THAT
But if i try to use the mysqli-extention the graphs didn`t appear.
This is the connector.
<?php define('DB_SERVER',"localhost"); define('DB_NAME',"Datenbank-Name"); define('DB_USER',"Datenbank-Username"); define('DB_PASSWORD',"Datenbank-Passwort"); $conn = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD); if(is_resource($conn)) { mysql_select_db(DB_NAME, $conn); mysql_query("SET NAMES 'utf8'", $conn); mysql_query("SET CHARACTER SET 'utf8'", $conn); } define("listViewTempPeriod", 24); // Anzeige der Stunden die ausgegeben werden sollen define("NUMSENSORS", 2); // Anzahl der Sensoren deren Werte in der Datenbank stehen ?>
The functions.
<?php function delLastChar($string="") { $t = substr($string, 0, -1); return($t); } function getChartValues($sensorID=0, $timePeriodInHours=24) { $q_data = mysql_query("SELECT DATE_FORMAT(datumzeit,'%H') AS STUNDE, sensorwert FROM arduino_sensorwerte WHERE sensorid = ".$sensorID." AND datumzeit >= date_sub(now(), interval ".$timePeriodInHours." hour) and datumzeit <= now() GROUP BY DATE_FORMAT(datumzeit, '%Y-%m-%d %H') ORDER BY datumzeit DESC") or die(mysql_error()); $n_data = mysql_num_rows($q_data); if($n_data > 0) { $chartValues = ''; $stundenValues = ''; while($r_data = mysql_fetch_array($q_data)) { $chartValues .= $r_data['sensorwert'].','; // Einzelne Werte durch Komma trennen $stundenValues .= $r_data['STUNDE'].','; // Einzelne Werte durch Komma trennen } $chartValues = delLastChar($chartValues); // Komma hinter dem letzten Temperaturwert entfernen $stundenValues = delLastChar($stundenValues); // Komma hinter letzter Stunde entfernen return array($chartValues, $stundenValues); } } function getSensorSettings($sensorID=0) { $q_data = mysql_query("SELECT mpcharttype, mplinetype, mpname, mpdescription, mplinecolor FROM arduino_messpunkte WHERE messpunktid = ".mysql_real_escape_string($sensorID)) or die(mysql_error()); $n_data = mysql_num_rows($q_data); if($n_data > 0) { $r_data = mysql_fetch_array($q_data); switch ($r_data['mpcharttype']) { case 1: $mpChartType = 'spline'; break; case 2: $mpChartType = 'line'; break; case 3: $mpChartType = 'areaspline'; break; case 4: $mpChartType = 'area'; break; case 5: $mpChartType = 'column'; break; case 6: $mpChartType = 'bar'; break; } switch ($r_data['mplinetype']) { case 1: $mpLineType = 'solid'; break; case 2: $mpLineType = 'ShortDash'; break; case 3: $mpLineType = 'ShortDot'; break; case 4: $mpLineType = 'ShortDashDot'; break; case 5: $mpLineType = 'ShortDashDotDot'; break; case 6: $mpLineType = 'Dot'; break; case 7: $mpLineType = 'Dash'; break; case 8: $mpLineType = 'LongDash'; break; case 9: $mpLineType = 'DashDot'; break; case 10: $mpLineType = 'LongDashDot'; break; case 11: $mpLineType = 'LongDashDotDot'; break; } $mpName = $r_data['mpname']; $mpDescription = $r_data['mpdescription']; $mpLineColor = $r_data['mplinecolor']; return array($mpChartType, $mpLineType, $mpName, $mpDescription, $mpLineColor); } } ?>
An "example" call on a mainpage:
<?php include_once("inc/db.inc.php"); include_once("inc/functions.inc.php"); if(!isset($_GET['timePeriodInHours'])) $_GET['timePeriodInHours'] = 24; else $_GET['timePeriodInHours'] = $_GET['timePeriodInHours']; if(!isset($_GET['chartStyle'])) $_GET['chartStyle'] = 1; else $_GET['chartStyle'] = $_GET['chartStyle']; $colors = array('#89A54E','#80699B','#3D96AE','#DB843D','#92A8CD','#A47D7C','#B5CA92'); for($i=0;$i<NUMSENSORS;$i++) { list($chartValues[], $stundenValues[]) = getChartValues($i+1, $_GET['timePeriodInHours'], 1); } $stundenValues = $stundenValues[0]; ?> <!DOCTYPE html> <html> <head> <title>Sensoren Übersicht</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="refresh" content="300"> <meta name="Robots" content="index,follow"> <link rel="stylesheet" type="text/css" href="css/highcharts.css"> <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> <script type="text/javascript"> $(function () { var chart; $(document).ready(function() { chart = new Highcharts.Chart( { chart: { renderTo: 'container' }, title: { text: 'Temperaturwerte der letzten <?php echo $_GET['timePeriodInHours'];?> Stunden' }, subtitle: { text: 'Alle Messstellen' }, xAxis: { title: { text: '' }, categories: [<?php echo $stundenValues;?>] }, yAxis: { title: { text: '' }, labels: { formatter: function() { return this.value +'°C' } } }, tooltip: { crosshairs: true, shared: true }, tooltip: { formatter: function() { return '<b>'+ this.series.name +'</b>'+this.x +' Uhr: '+ this.y +'°C'; } }, legend: { enabled: true }, credits: { enabled: false }, series: [ <?php for($i=0;$i<=NUMSENSORS;$i++) { if(!empty($chartValues[$i])) { list($mpChartType, $mpLineType, $mpName, $mpDescription, $mpLineColor) = getSensorSettings($i+1); ?> { type: '<?php echo $mpChartType;?>', dashStyle: '<?php echo $mpLineType;?>', name: '<?php echo $mpName;?>', color: '#<?php echo $mpLineColor;?>', data: [<?php echo $chartValues[$i];?>], marker: { symbol: 'square', enabled: false, states: { hover: { symbol: 'square', enabled: true, radius: 8 } } } }, <?php } } //for ?> ] //series }); }); }); </script> </head> <body> <div id="wrapper"> <script src="es_scripts/highcharts.js"></script> <div id="container"></div> </div> </body> </html>