Deutschland United States United Kingdom
ContentLion - Open Source CMS

Datenbank Connection

Datenbank Connection

Hallo Leute!

Ich habe mit dem CMS Tutorial angefangen und jetzt stehe ich vor einem Problem.
Habe diese Seite erstellt:

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
<?php 

	mysql_query("SET lc_time_names = 'de_DE'");
	
	$ergebnis = mysql_query("SELECT name, verlag_name, date, DATE_FORMAT(date, '%M %Y')
FROM release_dates, verlage
WHERE release_dates.verlag_id = verlage.verlag_id && YEAR(date) = 2013
ORDER BY MONTH(datum)");
	
	echo "<table border='1'>
	
	<tr>
		<td><b>Name</strong></b>
		<td><b>Verlag</b></td>
		<td><b>Erscheinungsdatum</b></td>
	</tr>";
	
	//$zeile = mysql_fetch_row($ergebnis);
	
	while($zeile = mysql_fetch_row($ergebnis)) {
		echo "<tr>
						<td>" . htmlspecialchars($zeile["name"]) . " </td>
						<td>" . htmlspecialchars($zeile["verlag_name"]) . " </td>
						<td>" . htmlspecialchars($zeile["DATE_FORMAT(datum, '%M %Y')"]) . " </td>"
					. "</tr>";
	}
	
	echo "</table>";
	
	$ergebnis->close();
?>


Auf dieser Seite sollen Release Daten angezeigt werden. Allerdings mache ich da was mit der Datenbank Connection falsch? Weil mir werden keine Werte angezeigt. Meine Index Datei sieht so aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
	<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
  <head>
	<title>Releaseliste</title>
	<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  </head>
  <body>
	<h1>Testseite</h1>
	<?PHP
	  include("system/dbconnect.php");
	  include('system/dbsettings.php');
  	include("system/filterfilename.php");
  	include(filterfilename("content/articles/".$_GET['include']));
	?>
  </body>
</html>


Ich hoffe ihr könnt mir weiterhelfen ;)

P.S.: Danke für das super Tutorial :thumbsup:

Weiß es nicht genau, aber gibts da nicht schon die Datenbank-Klasse?
Dann könnte es z.B. $rows = DataBase::Current()->ReadRows("..."); heißen... ;)

Hallo grunt,

du liest mit mysql_fetch_row aus, dies arbeitet aber mit numerischen Indizies. Nimm mal mysql_fetch_assoc, dann dürfte es gehen.

Hallo!

Danke für die schnellen Antworten ;)
mysql_fetch_assoc
Oder mysql_fetch_array. ;)
Habe beides versucht aber diese Fehlermeldungen bekommen:

Warning: mysql_fetch_assoc() expects parameter 1 to be resource, boolean given in /home/.sites/62/site1053/web/releaselist/content/articles/2013.html on line 8

Fatal error: Call to a member function close() on a non-object in /home/.sites/62/site1053/web/releaselist/content/articles/2013.html on line 12

Dann hast du noch einen Fehler in der SQL-Syntax. Lass dir mit echo mysql_error(); mal den Fehler ausgeben.

Dann hast du noch einen Fehler in der SQL-Syntax. Lass dir mit echo mysql_error(); mal den Fehler ausgeben.
Danke habe gerade den Fehler im SQL Statment gefunden ;)

:thumbsup:

Habe noch eine Frage. Wie kann ich einstellen das bei mir diese Seite als Startseite aufgerufen wird (http://www.cardsndicesday.at/releaselist…hp?include=2013)

lg
grunt

Naja, wenn kein Parameter $_REQUEST['include'] angegeben ist, kannst du den ja einfach reinschreiben.
In etwa so:

PHP-Quelltext

1
2
3
if (!isset($_REQUEST['include'])) {
  $_REQUEST['include'] = "2013";
}

Muss irgendwo oben in die index.php rein.

Oder du änderst einfach die Klasse Page o.ä. ab, weiß nicht genau, ob die bei dem Tutorial schon existiert.
Irgendwo muss ja bereits stehen, was gemacht werden soll, wenn keine Seite angegeben wurde. ;)

Naja, wenn kein Parameter $_REQUEST['include'] angegeben ist, kannst du den ja einfach reinschreiben.
In etwa so:

PHP-Quelltext

1
2
3
if (!isset($_REQUEST['include'])) {
  $_REQUEST['include'] = "2013";
}

Muss irgendwo oben in die index.php rein.

Oder du änderst einfach die Klasse Page o.ä. ab, weiß nicht genau, ob die bei dem Tutorial schon existiert.
Irgendwo muss ja bereits stehen, was gemacht werden soll, wenn keine Seite angegeben wurde. ;)

Naja, wenn kein Parameter $_REQUEST['include'] angegeben ist, kannst du den ja einfach reinschreiben.
In etwa so:

PHP-Quelltext

1
2
3
if (!isset($_REQUEST['include'])) {
  $_REQUEST['include'] = "2013";
}

Muss irgendwo oben in die index.php rein.

Oder du änderst einfach die Klasse Page o.ä. ab, weiß nicht genau, ob die bei dem Tutorial schon existiert.
Irgendwo muss ja bereits stehen, was gemacht werden soll, wenn keine Seite angegeben wurde. ;)
Danke für die Hilfe

Ich habe noch eine Frage ich verwende ja filterfilename.. aber jetzt hab ich ein problem das ich eine Url http://test.de/cmstest/index.php?include=news?id=1 zum ID übergeben verwende. Weiß ich jetzt nicht mehr wie ich das zum laufen bringe.

Könnt ihr mir da weiterhelfen? lg grunt

Das zweite Fragezeichen sollte ein & sein.

Ähnliche Themen