Limit bei SELECT COUNT() Ausgabe in einer Funktion

Obi_Wan

Mitglied
Hi,

ich habe hier ein ganz schräges Problem bei dem ich nicht weiterkomme. Ich habe mir eine kleine Newsausgabefunktion geschrieben die wie folgt aussieht:

PHP:
function getnewslist($ntype=0,$spage=0) {
	global $db;
	global $maxnews_ppage;
	$news_count = $db->count_rows(NEWS_TABLE, "", "WHERE autor_id=2");
	echo $news_count[0]['total'];
...
}

Die Knüpft an eine MySQL Klasse an, die ich hier im Forum mal gefunden habe und etwas weitergeschrieben habe.

PHP:
.....
   function count_rows($table,$field="*",$where=""){
    $field = $field == "" ? "*" : $field;
    $where = $where != "" ? " ".$where : "";
    if($this->connect()){
      $temp = "SELECT COUNT($field) AS total FROM `$table`".$where;
      echo $temp."<br>";
      $result = mysql_query($temp);
      if($result){
        $this->errorcode = 0;
		$data = mysql_fetch_row($result);
        return $data;
        mysql_free_result($result);
      }else{
        //Fehler beim lesen
        $this->errorcode = 3;
        return false;
      }
      $this->close_connection();
    }
  }
....

Das Problem ist nun das ich 23 Einträge in meiner Newstabelle mit dem "newstype" 0 habe. Allerdings wenn ich den Select COUNT mache sagt er mir das wären insgesammt nur 2 Einträge. Wenn ich 4 als newstype 1 mache und sie dann zähle gibt er mir korrekterweise die Zahl 4 beim COUNT aus. Nun frage ich mich ob es da in der Funktion zufällig einen Limit an Zeichen gibt die bei den Zahlen ausgegeben werden können weil er ja scheinbar nur die erste Ziffer ausgibt.
Ich schaffe es nämlich auch nicht das COUNT Resultat zu vergleichen weil er mir immer sagt es wären nur 2 Einträge. Oder könnte es eventuell an meiner Tabelle liegen?

Wäre toll wenn mir da jemand helfen könnte, denn ich habe schon php.net mysql.com, google und tutorials durchsucht nach diesem Problem. Vielleicht habe ich es auch nur übersehen.

Vielen Dank schon mal.
 

Neue Beiträge

Zurück