Was mach ich da falsch?

Yael_17

Mitglied
Guten Abend euch allen,

hmm da ich leider nicht so gut bin in PHP und ich an einer Stelle nicht weiter komme, stelle ich hier einfach mal die Frage und hoffe dass ich auch hier Hilfe bekomme aber ich denke mal, dass das für euch kein Problem sein wird.

Also hier mal meine Frage:

Ich habe ein Forum die Tabelle in der Datenbank sieht so aus:

CREATE TABLE `simple_threads` (
`threadid` int(11) NOT NULL auto_increment,
`boardid` int(11) NOT NULL default '0',
PRIMARY KEY (`threadid`)
) TYPE=MyISAM AUTO_INCREMENT=6 ;

Jetzt wollte ich euch mal fragen wie ich das machen, kann, dass ich alle "boardid" mit der gleichen Zahl also z.B. 20 zusammen zählen kann, dass ich dann auf der index Seite eine Anzalh habe. Z.B. wenn es 125 Einträge mit der "boardid 20" gibt dann soll auf der index Seite auch 125 stehen.

Hab jetzt mal folgenden Code dafür gemacht:

PHP:
<?php
$sql = "SELECT SUM(threadid)
FROM simple_threads
WHERE boardid = 20 GROUP BY boardid";
echo $sql["SUM(threadid)"];
?>

Wenn ich das jetzt aber mir Ausgeben lasse, dann kommt da wo eignetlich eine Zalh stehlen sollte nur ein S was mache ich denn da nur wieder falsch ?

Gruß Yael_17
 
Du weist deiner Variablen $sql nur deinen Query zu - mithin ein String. Davon gibst du das erste Zeichen aus..
Du solltest:
- eine Verbindung zum Datenbankserver herstellen: mysql_connect()
- eine Datenbank auswählen: mysql_select_db()
- dein Query an diese schicken: mysql_query($sql)
- das Ergebnis davon weiterverarbeiten...
 
Eine Verbindung zur Datenbank habe ich schon.....

Eine Tabelle habe ich auch schon ausgewählt.....

..... den Restr von dir habe ich jetzt leider nicht verstanden. Ich gebe das doch mit Echo aus....
 
Also das echo weg dann::


PHP:
$result = mysql_query($sql2) OR die(mysql_error());
if(mysql_num_rows($result)) {
while($row=mysql_fetch_assoc($result)) {
Der Array $row['SpaltenName'] beinhaltet die Daten
}
}
else {
echo "Datenbank leer";
}
 
Wenn ich das jetzt so mache, dann gehts immer noch nicht:

PHP:
 <?php 
  $sql = "SELECT SUM(threadid) 
 		 		 		 		 		 	 
 FROM simple_threads 
 		 		 		 		 		 		 	
 WHERE boardid = 20 GROUP BY boardid";
    $result = mysql_query($sql) OR die(mysql_error()); 
     echo $sql["SUM(threadid)"];
  	?>
 
Du machst immer noch das gleiche: Du gibst nur deinen Querystring wieder aus..

PHP:
<?php 
  $sql = "SELECT SUM(threadid) AS anzahl FROM simple_threads WHERE boardid = 20 GROUP BY boardid";
   $result = mysql_query($sql) OR die(mysql_error()); 
  
   echo mysql_result($result,0,"anzahl");
?>

Sollte funktionieren. Wobei ich eher auf ein count(threadid) tippen würde..
 
Zurück