Mehrere IDs ausgeben

  • Themenstarter Themenstarter FortunaFan
  • Beginndatum Beginndatum
F

FortunaFan

Hallo,

ich habe ein kleines Problem. Ich habe eine Seite wo es Downloads gibt. Ich wollte halt anzeigen wieviel Downloads es in den einzelnen Gruppen gibt am Enede aber auch mehrere Anzeigen. Zum Beisoiel alle Tools und Handbücher... und nicht einzeln...

Als Funktion:

PHP:
<?php
function countEntries($groupID) {
  mysql_connect("localhost", "", "");
  mysql_select_db("");
  $result = @mysql_query("SELECT count(*) AS anzahl FROM cm_dl_info WHERE gruppeid=".$groupID);
  $res = @mysql_fetch_array($result);
  mysql_close ();
  return $res['anzahl'];
}
?>

Als Anzeige

PHP:
(<?=countEntries(12,30,13,44,14,35,36)?>)

Er zeigt trotzdem immer nur die Anzahl der Downloads von ID 12 an. Wie kann ich es machen das er so wie es hier sien solllte ausließt.

Ich hoffe ihr konntet mich verstehen^^
 
Na der Aufruf deiner Funktion, ist das Problem !

Du rufst die Funktion nur einmal auf.

Mach mal so:

PHP:
 <?PHP
 
 $meine_id = array(12,30,13,44,14,35,36);
 
 for($a=0;$a<sizeof($meine_id);$a++)
 {
   countEntries($meine_id['$a']);
 }

probier ma
 
Du könntest natürlich genau so gut die Funktion anpassen:
PHP:
<?php

	function countEntries($groupID) {
		$_output = array();
		mysql_connect('localhost', '', '');
		mysql_select_db('');
		$query = 'SELECT COUNT(*) FROM `cm_dl_info` WHERE 0';
		if( is_array($groupID) && count($groupID) > 0 ) {
			$query .= ' OR `gruppeid` = '.implode(' OR `gruppeid` = ', $groupID);
		} else {
			$query .= ' OR `gruppeid` = '.$groupID;
		}
		$result = @mysql_query($query);
		while( $row = @mysql_fetch_array($result, MYSQL_NUM) ) {
			$_output[] = $row[0];
		}
		mysql_close();
		return $_output;
	}

?>
 
Der Befehl würde bei deinem aufruf so aussehen:

$result = @mysql_query("SELECT count(*) AS anzahl FROM cm_dl_info WHERE gruppeid="12,30,13,44,14,35,36);

Das geht nicht !

denn wenn überhaupt müsste der Befehl so aussehen

$result = @mysql_query("SELECT count(*) AS anzahl FROM cm_dl_info WHERE gruppeid='12' && gruppeid ='30' && gruppeid ='13'");

Also müsstest du es wenn du es mit einem Funktionsaufruf machen willst (was ja auch viel besser ist, statt ner for schleife)

Leider im moment null time, ick muss los, aber baue dir die Variable so um, das der Befehl vrarbeitet werden kann.

 
Moment...

Fatal error: Cannot redeclare countentries() (previously declared in /srv/www/web1/html/torrentplanet/index.php:16) in /srv/www/web1/html/torrentplanet/movies.php on line 2

Das kommt jetzt immer das ich das Script schon auf ner anderen Seite benutze (Um die einzeklnen anzuzeigen...) Was mache ich nun?
 
Such mal in deinem Englisch-Deutsch-Wörterbuch, die Fehlermeldung bedeutet definitiv nicht, dass die Funktion bereits in einem anderen Skript benutzt wird.
 
Zurück