Dear visitor, welcome to Coder Forum. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
<html>
<head><title>Statistik</title></head>
<body>
<?php
include 'config.php';
mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname);
echo "Connected to MySQL<br />";
echo "Connected to Database<br />";
echo "<br /><br /><br />";
// MySQL abfrage: ausgabe Fachbereich / //
$abfrage = mysql_query("SELECT * FROM fachbereich");
$query = mysql_query("Select * from Buch where fachbereichID = '".$row[fachbereichID]."'");
$anzahl = mysql_num_rows($query);
echo "<b>Fachbereich</b><br />";
while($row = mysql_fetch_assoc($abfrage)) {
echo "$row[fachbereichID] | $row[fachbereich] | $anzahl <br />";
}
mysql_close();
?>
</body>
</html>
|
Bitte schildere uns von deinem Fehler, welchen Fehler erhältst du? Also Zeilen 15 + 16 solltest du schonmal in die while Schleife verschieben.Jedoch habe ich bei der Abfrage einen Fehler, welchen ich nicht beheben kann.
|
|
Source code |
1 |
SELECT f.fachbereich, COUNT(*) AS anzahl_buecher FROM fachbereich f JOIN buch b ON b.fachbereichid = f.fachbereichid GROUP BY f.fachbereich ORDER BY f.fachbereich; |
Quoted
Hier einmal ein Auszug aus der Datenbank mit dazugehörigen Strukturen:
![]()
![]()
Strukturen der Tabellen:
Tabelle buch:
![]()
Source code
1 create table buch ( buchID int auto_increment primary key, titel varchar(200), kaufpreis varchar(200), isbn varchar(200), verlagID int, fachbereichID int, FOREIGN KEY (fachbereichID) REFERENCES fachbereich(fachbereichID), FOREIGN KEY (verlagID) REFERENCES verlag(verlagID) );
Tabelle fachbereich:
![]()
Source code
1 create table fachbereich ( fachbereichID int auto_increment primary key, fachbereich varchar(255) );
|
|
Source code |
1 |
<html> <head><title>Statistik: Fachbereich</title></head> <body> <?php include 'config.php'; mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql'); mysql_select_db($dbname); // MySQL abfrage: ausgabe Fachbereich / // $query = mysql_query("SELECT f.fachbereich, COUNT(*) AS anzahl_buecher FROM fachbereich f JOIN buch b ON b.fachbereichid = f.fachbereichid GROUP BY f.fachbereich ORDER BY f.fachbereich;"); $ausgabe = mysql_query($sql); if (!$ausgabe) { die('Ungültige Abfrage: ' . mysql_error()); } echo "<b>Statistik: Fachbereich</b><br /><br /><br />"; echo $ausgabe[anzahl_buecher]; mysql_close(); ?> </body> </html>
|
|
|
Source code |
1 |
error_reporting(E_ALL); |
|
|
Source code |
1 |
$ausgabe = mysql_fetch_assoc($query); |
|
|
Source code |
1 2 3 4 5 6 |
$query = mysql_query("SELECT f.fachbereich, COUNT(*) AS anzahl_buecher
FROM fachbereich f
JOIN buch b
ON b.fachbereichid = f.fachbereichid
GROUP BY f.fachbereich
ORDER BY f.fachbereich;");
|
|
|
Source code |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
<html>
<head><title>Statistik: Fachbereich</title></head>
<body>
<?php
include 'config.php';
mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname);
// MySQL abfrage: ausgabe Fachbereich / //
$query = mysql_query("SELECT f.fachbereich, COUNT(*) AS anzahl_buecher
FROM fachbereich f
JOIN buch b
ON b.fachbereichid = f.fachbereichid
GROUP BY f.fachbereich
ORDER BY f.fachbereich;");
$ausgabe = mysql_fetch_assoc($query);
if (!$ausgabe)
{
die('Ungültige Abfrage: ' . mysql_error());
}
echo "<b>Statistik: Fachbereich</b><br /><br /><br />";
while($row = mysql_fetch_assoc($query)) {
echo "<tr>";
echo "<td>".$row[f.fachbereich]. "</td><td>".$row[anzahl_buecher]. "</td>";
echo "</tr><br />";
}
mysql_close();
?>
</body>
</html>
|
|
|
PHP Quellcode |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<html> <head><title>Statistik: Fachbereich</title></head> <body> <?php include 'config.php'; mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql'); mysql_select_db($dbname); $sql = "SELECT f.fachbereich, COUNT(f.fachbereich) AS anzahl_buecher FROM fachbereich f INNER JOIN buch b ON b.fachbereichid = f.fachbereichid GROUP BY f.fachbereich ORDER BY f.fachbereich"; $query = mysql_query($sql)or die('Ungültige Abfrage: ' . mysql_error()); echo "<b>Statistik: Fachbereich</b>"; echo '<table>'; while($row = mysql_fetch_assoc($query)) { echo '<tr> <td>'.$row['fachbereich']. '</td> <td>'.$row['anzahl_buecher']. '</td> </tr>'; } echo '</table>'; mysql_close(); ?> </body> </html> |
ich danke dir vielmals für die hilfe.
Wäre es noch möglich die fachbereichID auszulesen?
In etwa mit:
![]()
PHP Quellcode
1 .$row['fachbereichID'].
Das ergebnis ist aber leider eine leere spalte

ich danke dir vielmals für die hilfe.
Wäre es noch möglich die fachbereichID auszulesen?
In etwa mit:
![]()
PHP Quellcode
1 .$row['fachbereichID'].
Das ergebnis ist aber leider eine leere spalte
Weißt du eigentlich was .$row['fachbereichID'] ist und was das echo davor bedeuten soll?
Wenn du dir den Code von Torben richtig ansiehst, findest du im Rumpf (?) der While-Schleife eine Echo-Ausgabe. Die wiederum gibt eine Tabelle inklusive dem Inhalt von .$row['fachbereichID'].
Somit ist deine Frage beantwortet
Mit freundlichen Grüßen
Sheldon
Ausserdem habe ich 80% des codes selber geschrieben und ja, ich weiß was eine echo-ausgabe ist. Ich programmiere hauptsächlich HTML für die ausbildung/schule und fange nun langsam mit php noch an. This post has been edited 1 times, last edit by "Sheldon" (May 22nd 2011, 9:15pm)