Baza.class.php
<? class db { private $db_host = DB_HOST; private $db_name = DB_NAME; private $db_user = DB_USER; private $db_passw = DB_PASSW; // zmienne publiczne - dostępne poza klasą public $connection; // połączenie public $error; // ew. błąd zwrócony przez bazę danych public function connect(){ $this->connection = $connection; return true; } else { return false; } } else { return false; } } // eof connect() public function select($sql) { if ($this->connection) { mysql_set_charset('utf8', $this->connection); return $result; } else { return false; } } else { $this->error = 'Błąd zapytania SQL'; return false;} } else { $this->error = 'Brak połączenia z bazą danych'; return false;} } // eof select() public function query($sql){ if ($this->connection) { mysql_set_charset('utf8', $this->connection); return true; } else { return false;} } else { $this->error = 'Brak połączenia z bazą danych'; return false;} } else { $this->error = 'Błąd zapytania SQL'; return false;} } // eof query() // start dodane przeze mnie ====================================================== public function numrows($sql){ if ($this->connection) { mysql_set_charset('utf8', $this->connection); return $result; } else { return false;} } else { $this->error = 'Błąd zapytania SQL'; return false;} } else { $this->error = 'Brak połączenia z bazą danych'; return false;} } // eof numrows() public function fetcharray($sql){ if ($this->connection) { mysql_set_charset('utf8', $this->connection); return $result; } else { return false; } } else { $this->error = 'Błąd zapytania SQL'; return false; } } else { $this->error = 'Brak połączenia z bazą danych'; return false;} } // eof fetcharray() // koniec - dodane przeze mnie ====================================================== public function close(){ if ($this->connection){ return true; } else { return false;} } else { $this->error = 'Brak aktywnego połączenia'; return false;} } // eof close() }
fragment kodu php z index.php (wcześniej inicjuje połączenie $db->connect() i definiuje zmienną $db odnoszącą się do klasy)
$sql = "SELECT wid,czas,podpis FROM tabela WHERE status = '1' ORDER BY 'czas' DESC;"; if ($db->select($sql)){ if ($db->numrows($sql) == 0) { } else { $wierszy = $db->numrows($sql); for ($i=0;$i<$wierszy;$i++) { $dane = $db->fetcharray($sql); } }
ten fragment pokazuje mi 17 razy jeden wiersz. Znalezionych wierszy jest 17 i to jest prawidłowy wynik, co jest nie tak że tylko jeden wiersz w pętle wrzuca? db