[FONT=Verdana][size=10]- Adresse zum Blog: [/SIZE][/FONT] [FONT=Verdana][size=10]hxxp://localhost/wordpress/[/SIZE][/FONT][FONT=Verdana][size=10] (XAMPP auf Vista)
- WordPress-Version: neuste
- Zuletzt gemachte Änderungen: Abfrage der Datenbank von außerhalb Wordpress.
- Fehlermeldungen: ErrorNo database selected[/SIZE][/FONT]
[FONT=Verdana][size=10]Hallo,[/SIZE][/FONT]
[FONT=Verdana][size=10]ich möchte mir Inhalte einzelner Kategorien auf einer extra Seite auflisten lassen. Leider gelingt es mir bisher nur Inhalte aller Kategorien auflisten zu lassen. [/SIZE][/FONT]
[FONT=Verdana][size=10]Durch Google habe zwar etwas gefunden, das aber nicht ganz funktioniert, weil ich damit (1* im Code) keine Verbindung zur Datenbank herstellen kann, oder dem Debugger sonst was nicht am SQL-String gefällt, wenn ich ihn umbaue.
Die Version (2* im Code) aus meinem eigenen Versuch funktioniert, liefert aber nicht die gewünschte Ausgabe nach Kategorien.[/SIZE][/FONT]
<?php
########## Datenbank conn ##########
$db_server = 'localhost';
$db_name = 'wp';
$db_user = 'root';
$db_passwd = '';
$db_prefix = '';
$conn = mysql_connect($db_server,$db_user,$db_passwd);
//1*
########## Fehlerhafte Abfrage ########## "ErrorNo database selected"
// Ouwelle:
//http://www.mywebsolution.de/tipps/9/show_Worpress---Beitraege-direkt-aus-der-Datenbank-auslesen.html#kategorien
// bereits geänderte Version
$category = "Allgemein";
$result = mysql_query( "SELECT p.post_name, DATE_FORMAT(p.post_date_gmt, '%d. %m %Y') as post_date_gmt,p.post_title, p.post_content, p.post_excerpt
FROM $db_name.wp_posts p, wp_terms t, wp_term_taxonomy tt, wp_term_relationships tr
WHERE t.name = '".$category."' AND tt.taxonomy = 'category' AND t.term_id = tt.term_id AND tt.term_taxonomy_id = tr.term_taxonomy_id AND tr.object_id = p.ID AND post_type = 'post' AND post_status = 'publish' ORDER BY p.post_date_gmt DESC LIMIT 5 ",$conn) or die("Error".mysql_error());
/*
//2*
########## Funktionierende Abfrage, leider nur für alle Kategorien ##########
$tabelle = "wp_posts";
$postcategory = "0";
$listtime = 10; // Tage zurück
$listlimit = 100; // Zahl der zu lesenden Einträge
$result = mysql_query("SELECT post_date, post_title, post_content, post_category FROM $db_name.$tabelle WHERE post_category = $postcategory and post_date > (CURRENT_DATE() - $listtime) ORDER BY post_date DESC LIMIT $listlimit",$conn) or die("Error".mysql_error());
*/
########## Funktionierende leicht geänderte Auflistung von mywebsolution.de ##########
//$result = mysql_query($sql);
$blogpath = "/wordpress";
$excerpt = "";
if(mysql_num_rows($result)){
echo "<h2>Neues aus dem <a href=\"".$blogpath."\">Blog</a></h2>";
echo "<ul>\n";
while($row = mysql_fetch_assoc($result)){
// Falls Auszuge vorhanden wird dieser genommen,
// ansonsten eine Kurzversion des Inhalts
if(trim($row['post_excerpt']) == "")
$excerpt = substr(strip_tags($row['post_content']),0,160)."...";
else
$excerpt = strip_tags($row['post_excerpt']);
echo "<li>".
"<a href=\"".$blogpath.$row['post_name']."/\" ".
"title=\"".$excerpt."\">".
$row['post_title'].
"</a> ".
$row['post_date_gmt'].
"</li>";
}
echo "</ul>";
}
?>
Alles anzeigen
[FONT=Verdana][size=10]Wie muss ein SQL-String aussehen, damit die Abfrage nach Kategorien klappt?
[/SIZE][/FONT]