1

Téma: xml.xml

xml.xml

2 Naposledy upravil: cncp (2011-12-15 21:39:16)

Re: xml.xml

Nemáte prosím někdo hotový php skript, který čte XML soubor a ukládá do Mysql databáze?
Nejde mi nic vytvořit, ani najít.
Díky

Kdo nic nezkusí, nic nezíská.

3

Re: xml.xml

cncp napsal:

Nemáte prosím někdo hotový php skript, který čte XML soubor a ukládá do Mysql databáze?
Nejde mi nic vytvořit, ani najít.
Díky

Co treba takto?

<?
  $xml = simplexml_load_file('http://192.168.2.12/xml.xml');
  $t_byt = $xml->snmp->temp_1;
  $t_bojler_dole = $xml->snmp->temp_2;
  $t_venku = $xml->snmp->temp_3;
  $t_bojler_stred = $xml->snmp->temp_4;
  $t_kotel_nabeh = $xml->snmp->temp_5;
  $t_kotel_zpatecka = $xml->snmp->temp_6;
  $stav_energie = preg_replace("/[^0-9,.]/", "", $xml->snmp->s0_2->text);       //vypusteni z textu vsecho co neni numericke
  $stav_rele_1 = $xml->snmp->relay_1;
  $stav_rele_2 = $xml->snmp->relay_2;
  if ($stav_rele_2 > 1) $stav_rele_2 = 1;
  $stav_rele_3 = $xml->snmp->opto2;
  $stav_termostat = $xml->snmp->opto2;
  try {
  // pripojeni k databazi
  $db = new PDO("mysql:host=localhost;dbname=name", "tab", "heslo"); 
  $sql = $db->exec("INSERT INTO `plc`
    (`t_byt`, `t_bojler_dole`, `t_venku`,`t_bojler_stred`, `t_kotel_nabeh`, `t_kotel_zpatecka`, `stav_energie`, `stav_rele_1`, `stav_rele_2`, `stav_rele_3`, `stav_termostat`)
    VALUES
    ($t_byt, $t_bojler_dole, $t_venku, $t_bojler_stred, $t_kotel_nabeh, $t_kotel_zpatecka, '$stav_energie', $stav_rele_1, $stav_rele_2, $stav_rele_3, $stav_termostat)");
  $db = null;
  }
  catch (PDOException $e) {
  // obsluha pripadne chyby pri praci s databazi
    echo "Pri praci s databazi doslo k chybe: " . $e->getMessage();
  }
?>

4 Naposledy upravil: cncp (2011-12-17 17:56:21)

Re: xml.xml

Děkuji za skript, také jeden přidávám.

$xml = simplexml_load_file('http:// IP /xml.xml');

$plyn_imp = $xml->snmp->s0_0->imdiff*1;
$plyn_celkem = $xml->snmp->s0_0->text*1;
$plyn_cena = $xml->snmp->s0_0->money*1;
$plyn_aktual = $xml->snmp->s0_0->act*1;

$link = mysql_connect("$server", "$database", "$heslo");  
$db = mysql_select_db("$dbname", $link);

mysql_query("INSERT INTO $tab
(plyn_imp, plyn_celkem, plyn_cena, plyn_aktual)
 
values
($plyn_imp, $plyn_celkem, $plyn_cena, $plyn_aktual);");
Kdo nic nezkusí, nic nezíská.

5

Re: xml.xml

přidám dlaší skript na výčet hodnot z XML přímo na stránku.
Můžete použít pro přímé zobrazení hodnot na stránku.
Třeba aktuální výkon,spotřeba....

<?php
header('Content-Type: text/html;charset=UTF-8');
$obsah=file_get_contents("http://192.168.2.0/xml.xml");
$xml = new SimpleXMLElement($obsah);
$result = $xml->xpath("/sds/snmp/s0_2");  //cesta kde chci číst (sds/snmp/s0_2)
echo "<p>".$result[0]->act."</p>";             //co chco číst (act)
?>
Kdo nic nezkusí, nic nezíská.