Hi Phreaks!
Ich habe eine Klasse zum auslesen einer MySQL DB geschrieben die wunderbar funktioniert doch gibt es Probleme bei der Erweiterung. Die ursprüngliche Klasse liest sämtliche Spalten einer Tabelle und gibt diese als ein Array zurück doch wenn ich diese Klasse erweitere um eine ‚WHERE’ Klausel zu integrieren wird dies unberücksichtigt und die erweiterte Klasse verhält sich gleich wie die ursprüngliche. Die erweiterte Klasse verlangt lediglich die zusätzlichen Parameter welche jedoch keinen Einfluss auf die Ausgabe haben. Dies ist meine erste Klasse deshalb wäre ich euch sehr dankbar wenn Ihr mir helfen könntet herauszufinden warum dieses unerwünschte verhalten auftritt.
Vielen Dank im Voraus!
Ich habe eine Klasse zum auslesen einer MySQL DB geschrieben die wunderbar funktioniert doch gibt es Probleme bei der Erweiterung. Die ursprüngliche Klasse liest sämtliche Spalten einer Tabelle und gibt diese als ein Array zurück doch wenn ich diese Klasse erweitere um eine ‚WHERE’ Klausel zu integrieren wird dies unberücksichtigt und die erweiterte Klasse verhält sich gleich wie die ursprüngliche. Die erweiterte Klasse verlangt lediglich die zusätzlichen Parameter welche jedoch keinen Einfluss auf die Ausgabe haben. Dies ist meine erste Klasse deshalb wäre ich euch sehr dankbar wenn Ihr mir helfen könntet herauszufinden warum dieses unerwünschte verhalten auftritt.
Vielen Dank im Voraus!
PHP-Code:
class dbquery {
var $table;
function dbquery($table) {
$this->setTable($table);
}
function sqlquery() {
$tbl = $this->getTable();
$query = mysql_query("SHOW COLUMNS FROM $tbl");
$result = mysql_fetch_array($query);
while($result = mysql_fetch_array($query, MYSQL_ASSOC)) {
$Fields[] = $result['Field'];
}
$cols = implode(",",$Fields);
$query = "SELECT $cols FROM $tbl";
$result = mysql_query($query);
while ($row = mysql_fetch_object($result)) {
foreach($Fields as $value) {
$$value = $row->$value;
$queryres[] = $$value;
}
}
return $queryres;
}
function getTable() {
return $this->table;
}
function setTable($newTable) {
$this->table = $newTable;
return $this->table;
}
}
class dbqueryWhere extends dbquery {
var $clause;
var $operator;
var $criteria;
function dbqueryWhere($table, $clause, $operator, $criteria) {
$this->setTable($table);
$this->setWhere($clause);
$this->setOpr($operator);
$this->setKrit($criteria);
}
function setClause($newClause) {
$this->clause = $newClause;
return $this->clause;
}
function setOperator($newOperator) {
$this->operator = $newOperator;
return $this->operator;
}
function setCriteria($newCriteria) {
$this->criteria = $newCriteria;
return $this->criteria;
}
function getClause() {
return $this->clause;
}
function getOperator() {
return $this->operator;
}
function getCriteria() {
return $this->criteria;
}
function sqlqueryWhere() {
$tbl = $this->getTable();
$cls = $this->getClause();
$opr = $this->getOperator();
$cri = $this->getCriteria();
$query = mysql_query("SHOW COLUMNS FROM $tbl");
$result = mysql_fetch_array($query);
while($result = mysql_fetch_array($query, MYSQL_ASSOC)) {
$Fields[] = $result['Field'];
}
$cols = implode(",",$Fields);
$query = "SELECT $cols FROM $tbl WHERE $cls $opr '$cri'";
$result = mysql_query($query);
while ($row = mysql_fetch_object($result)) {
foreach($Fields as $value) {
$$value = $row->$value;
$queryres[] = $$value;
}
}
return $$value;
}
}
Kommentar