Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Adatbázis elérése
 
EronarDiaras
Member
 
Total Posts:  37
Joined:  2012-01-27
 

Egy meglévő kiterjesztést kellene kiegészítenem egy adatbázisból lekért listával.

Hogyan lehet a magentóból megszerezni az adatbázis eléréséhez szükséges adatokat php-ból? Hogy csatlakozni tudjak hozzá és ne kelljen a kiterjesztésben is rögzítenem a jelszót, hanem onnan vegye, ahol a Magento alapból tárolja?

De az még jobb lenne, ha valaki elárulná, miképpen tudok a Magento-val adatbázisból adatot lekérdezni… Az ne kelljen külön kapcsolódnom hozzá…

 
Magento Community Magento Community
Magento Community
Magento Community
 
Dave_83
Jr. Member
 
Avatar
Total Posts:  26
Joined:  2009-06-25
 

Itt van egy jó kis kód, ami megkeresi a Magento local.xml fájlját, amiből lekéri az adatbázis csatlakozási adatokat, majd teszt képpen egy pár megadott táblából lekérdezi a táblák sorainak számát. Simán beilleszted egy php fájlba, amit a Magento gyökérkönyvtárába elhelyezel, elindítod url-ből, és már megy is smile

<?php
/***********************
 * A Magento local.xml fájl beolvasása a csatlakozáshoz
 ***********************/
 
if (file_exists('./app/etc/local.xml')) {
 
$xml 
simplexml_load_file('./app/etc/local.xml');
 
$tblprefix $xml->global->resources->db->table_prefix;
$dbhost $xml->global->resources->default_setup->connection->host;
$dbuser $xml->global->resources->default_setup->connection->username;
$dbpass $xml->global->resources->default_setup->connection->password;
$dbname $xml->global->resources->default_setup->connection->dbname;
 
$tables = array(
   
'dataflow_batch_export',
   
'dataflow_batch_import',
   
'log_customer',
   
'log_quote',
   
'log_summary',
   
'log_summary_type',
   
'log_url',
   
'log_url_info',
   
'log_visitor',
   
'log_visitor_info',
   
'log_visitor_online',
   
'report_event'
);
 
}
 
else {
    
exit('Nem lehet megynitni ./app/etc/local.xml');
}

 
/***********************
 * HTML
 ***********************/
 
echo "<html><head><title>Magento Adatbázis lekérdezés</title>
<style type=\"
text/css\">html {width: 100%; font-family:  Arial,Helvetica, sans-serif;}
body {line-height:1.0em; font-size: 100%;}
table {border-spacing: 1px;}
th.stattitle {text-align: left; font-size: 100%; font-weight: bold; color: white; background-color: #101010;}
th {text-align: center; font-size: 90%; font-weight: bold; padding: 5px; border-bottom: 1px solid black; border-left: 1px solid black; }
td {font-size: 90%; padding: 4px; border-bottom: 1px solid black; border-left: 1px solid black;}
</style>
</head><body>"
;
 
echo 
"<h3>Kapcsolat: ".$dbuser."@".$dbhost." | Adatbázis: " $dbname "</h3>";
 
/** Csatlakozás az adatbázishoz **/
 
$conn mysql_connect($dbhost,$dbuser,$dbpass);
@
mysql_select_db($dbname) or die("Unable to select database");
 
/******************************
 * Tábla bejegyzések számolása
 *****************************/
 
echo '<table><tbody><tr><th class="stattitle" colspan="2">Táblák lekérdezése</th></tr>';
echo 
'<tr><th>Tábla</th><th>Sorok száma</th></tr>';
 
foreach(
$tables as $tblname{
   $result  
mysql_query("SELECT COUNT(*) FROM " $tblprefix $tblname) or die(mysql_error());
   
$numrows mysql_fetch_array($result);
   
$num     $numrows[0];
 
   echo 
'<tr>';
   echo 
'<td>'.$tblprefix.$tblname.'</td>';
   echo 
'<td align="right">'.$num."</td>";
   echo 
'</tr>';                
}
 
echo '</tbody></table></body></html>';
 
mysql_close($conn);
?>

Üdv: Dávid

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top