ich hab da folgenden halbwegs einfachen code aus alten projekten (ohne typo3), welcher die datenbankstruktur erkennt und sämtliche tabellen optimiert.
$tabellen = mysql_list_tables($database,$conn_id);
$num_table=mysql_num_rows($tabellen);
$tabellenstring='';
for($x=0;$x<$num_table-1;$x++)
{
$tabellenstring=$tabellenstring.mysql_tablename($tabellen,$x).', ';
}
$tabellenstring=$tabellenstring.mysql_tablename($tabellen,$x);
mysql_query("OPTIMIZE TABLE ".$tabellenstring);
jetzt stehe ich vor dem Problem, die Variablen $database und $conn_id mit den Typo3-Variablen zu füllen. $database ist nicht so schwer, wenn ich die localconf.php auslese, aber die $conn_id krieg ich alleine nicht so schnell raus...
KANN jemand weiterhelfen ???
ja die kannst du auch nicht herrausfinden.
$conn_id = mysql_connect(host,username,password);
also die id der verbindung zur db.
müsstest du zu dem script oben noch hinzufügen...
wie hast du das denn in deinen anderen projekten sonst gemacht?!
mfg,
burna
sonst hab ich die verbindung ja selber aufgebaut ... aber typo3 nimmt einem ja diese schwere arbeit ab ;-)
inzwischen hab ich mich zumindest bis zum Objekt $GLOBALS['TYPO3_DB'] durchgeschlagen, wo die ID drinne zu stehen scheint.
print_r ($GLOBALS['TYPO3_DB']);
ergibt
t3lib_db Object ( [debugOutput] => [debug_lastBuiltQuery] => [link] => Resource id #18 )
Ich stell mich derzeit nur etwas blöde an, um da dran zu kommen... :-(
EII KARAMMBA:::
erledigt...
und weil andere das evtl. auch benötigen könnten hier der komplette Code:
<?PHP
$arr = get_object_vars($GLOBALS['TYPO3_DB']);
while (list($prop, $val) = each($arr))
if ($prop=='link') $conn_id = $val;
if (@is_file(PATH_typo3conf.'localconf.php')) {
require(PATH_typo3conf.'localconf.php');
$tabellen = mysql_list_tables($typo_db,$conn_id);
$num_table=mysql_num_rows($tabellen);
$tabellenstring='';
for($x=0;$x<$num_table-1;$x++)
{
$tabellenstring=$tabellenstring.mysql_tablename($tabellen,$x).', ';
}
$tabellenstring=$tabellenstring.mysql_tablename($tabellen,$x);
mysql_query("OPTIMIZE TABLE ".$tabellenstring."");
$opt_ausgabe = 'Datenbank OPTIMIERT';
}
else $opt_ausgabe = 'Datenbank konnte nicht optimiert werden.';
echo $opt_ausgabe;
?>