Na een tijd van quick and dirty programmeren in PHP ben ik begonnen met het gebruik van een Framework. Ik heb gekozen voor CodeIgniter. Echter loop ik nu tegen een probleem aan waar ik niet aan uit kan komen. Ik pass variabelen van mijn model door tot aan de view, echter geeft hij in het model al aan dat een bepaalde variable undefined is maar hij lijkt mij goed gedefineerd.
Overigens geeft de gebruikte SPARQL query output.
De error:
A PHP Error was encountered
Severity: Notice
Message: Undefined variable: numberOfRows
Filename: models/dataset_model.php
Line Number: 42
Backtrace:
File: C:\wamp\www\SPARQL_project\application\models\dataset_model.php
Line: 42
Function: _error_handler
File: C:\wamp\www\SPARQL_project\application\controllers\dataset.php
Line: 15
Function: getNumberOfRows
File: C:\wamp\www\SPARQL_project\index.php
Line: 292
Function: require_once
De code:
Model:
<?php
if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class dataset_model extends CI_Model{
private $numberOfRows;
private $result;
function __construct()
{
parent::__construct();
$numberOfRows = 0;
$result = array();
}
function get_dataset()
{
require_once("application\libraries\sparqllib.php");
$db = sparql_connect("http://lod.geodan.nl/sparql/");
if( !$db ) { print sparql_errno() . ": " . sparql_error(). "\n"; exit; }
sparql_ns( "bag","http://lod.geodan.nl/vocab/bag#" );
$sparql = "select ?naam count(distinct ?openbareruimtemutatie) as ?aantal
where {
?openbareruimtemutatie a bag:Openbareruimtemutatie .
?openbareruimtemutatie bag:lastKnown \"true\"^^xsd:boolean .
?openbareruimtemutatie bag:openbareruimtenaam ?naam
}
group by ?naam
order by desc(?aantal)";
$result = sparql_query($sparql);
$this->setNumberOfRows($result);
if( !$result ) { print sparql_errno() . ": " . sparql_error(). "\n"; exit; }else{
return $result;}
}
function setNumberOfRows($result){
$this->$numberOfRows = sparql_num_rows($result);
}
function getNumberOfRows(){
return $numberOfRows;
}
}