MySQL - 3 Spalten aus einer Tabelle auslesen und als Datei speichern

dstN

Grünschnabel
Hallo,

ich habe einen Joomla-Content Datensatz, mit rund 300 Beiträgen, die alle in ein neues Nicht-Joomla Projekt extrahiert werden müssen.

Auftrag bekam ich aber nur zum Copy & Pasten per Hand. Jedoch möchte ich das verhindern, da das wirklich sehr stumpf wäre, und ich das mit dem selben Inhalt schon vor 5 Monaten machen musste.

Folgendermaßen habe ich bereits angefangen:

PHP:
<?php
 $host="localhost";
 $username="***";
 $password="***";
 $db_name="***";
 mysql_connect("$host", "$username", "$password")or die("cannot connect");
 mysql_select_db("$db_name")or die("cannot select DB");
$result = mysql_query('SELECT * FROM jxx_content');
while($row = mysql_fetch_object($result)) {
  $content = '<h3>'.$row->title.'</h3>'."\n".$row->fulltext;
  file_put_contents('alias_'.$row->alias.'.php', $content);
}
?>

Soweit so gut, das funktioniert auch.
Ich hadere aber noch an 2 Problemen, und zwar übernimmt er nicht von jedem Beitrag den "fulltext", nur von wenigen einzelnen.

Und ich weiß nicht, wie ich in einem Unterordner speichern kann, derzeit speichert er es mir einfach ins Joomlahauptverzeichnis, wo auch die configuration.php drin liegt. - Abglegt ist alles auf einem relativ großen vserv, bei der Arbeit, auf dem ca. 50 weitere Joomlas laufen.

Vorher hatte ich übrigens dies hier versucht:

PHP:
$result = mysql_query('SELECT alias, title, fulltext FROM jxx_content');

Daraufhin bekam ich aber einen SQL Fetch-Error.


//Edit - das Problem hat sich erledigt, ich war in der falschen Spalte :) die Inhalte waren unter "introtext" - warum auch immer. Damit hat sich das komplette Problem eigentlich erledigt. Das einzige was noch interessant zu wissen wäre, wäre ob es möglich ist, Beiträge die eine bestimmte Kategorie haben, bei der ich aber noch nicht ganz rausgefunden habe, wo sie in der Datenbank notiert ist, beim auslesen zu ignorieren, denn ich brauche rund 100 News-Beiträge eigentlich nicht extrahieren.
 
Zuletzt bearbeitet:
Zurück