Aller au contenu

Mully

Membre
  • Compteur de contenus

    3
  • Inscrit(e) le

  • Dernière visite

Messages postés par Mully

  1. Bonjour à tous,

    je souhaite intégrer mon flux xml dans une base de donnée. Pour cela, j'ai crée une table nommée 'item' avec 11 champs (id en auto-increment, title, description, size, time, format, date, category, categoryname, thumbs et order).

    Voici mon code pour alimenter depuis mon flux la base de donnée ( aucune erreur, aucun message n'est renvoyé ) :

    CODE
    <?php

    mysql_connect("", "", "") or die("Impossible de se connecter");

    mysql_select_db("") or die("pas possible de trouver la base");

    mysql_query("TRUNCATE TABLE `item`");

    $file = "l'adresse de mon flux";

    if(isset($file)) {

    $title = "";

    $order = "";

    $curtag = "";

    /** fonction startElement, déclenchée lorsque le parseur rencontre une balise XML du type **/

    function startElement($parser, $name, $attrs) {

    global $curtag, $id, $title, $description, $size, $time, $format, $date, $category, $categoryname, $thumbs, $order ;

    $curtag = $name;

    if ($name == "ID") $id = "";

    if ($name == "TITLE") $title = "";

    if ($name == "DESCRIPTION") $description = "";

    if ($name == "SIZE") $size = "";

    if ($name == "TIME") $time = "";

    if ($name == "FORMAT") $format = "";

    if ($name == "DATE") $date = "";

    if ($name == "CATEGORY") $category = "";

    if ($name == "CATEGORYNAME") $categoryname = "";

    if ($name == "THUMBS") $thumbs = "";

    if ($name == "ORDER") $order = "";

    }

    /** fonction endElement, déclenchée lorsque le parseur rencontre une balise XML du type **/

    function endElement($parser, $name) {

    global $curtag, $id, $title, $description, $size, $time, $format, $date, $category, $categoryname, $thumbs, $order ;

    $curtag = "";

    if ($name == "ORDER") {

    $title = addslashes ($title);

    $description = addslashes ($description);

    $size = addslashes($size);

    $time = addslashes ($time);

    $format = addslashes ($format);

    $date = addslashes($date);

    $category = addslashes($category);

    $categoryname = addslashes($categoryname);

    $thumbs = addslashes($thumbs);

    $order = addslashes($order);

    $query = "INSERT INTO item(id,title,description,size,time,format,date,category,categoryname,thumbs,ord

    er) VALUES('".$id."','".$title."','".$description."','".$size."','".$time."','".$format."','".$date."','".$category."','".$categoryname."','".$thumbs."','".$order."')";

    $result = mysql_query($query);

    }

    }

    /** fonction characterData, déclenchée lorsque le parseur rencontre des caractères, à l'intérieur d'un noeud XML **/

    function characterData($parser, $data) {

    global $curtag, $id, $title, $description, $size, $time, $format, $date, $category, $categoryname, $thumbs, $order ;

    if ($curtag == "ID")

    $id .= $data;

    if ($curtag == "TITLE")

    $title .= $data;

    if ($curtag == "DESCRIPTION")

    $description .= $data;

    if ($curtag == "SIZE")

    $size .= $data;

    if ($curtag == "TIME")

    $time .= $data;

    if ($curtag == "FORMAT")

    $format .= $data;

    if ($curtag == "DATE")

    $date .= $data;

    if ($curtag == "CATEGORY")

    $category .= $data;

    if ($curtag == "CATEGORYNAME")

    $categoryname .= $data;

    if ($curtag == "THUMBS")

    $thumbs .= $data;

    if ($curtag == "ORDER")

    $order .= $data;

    }

    /** crée un nouveau parseur **/

    $xml_parser = xml_parser_create();

    xml_parser_set_option($xml_parser, XML_OPTION_CASE_FOLDING, true);

    /** enregistre les trois fonctions ci dessus **/

    xml_set_element_handler($xml_parser, "startElement", "endElement");

    xml_set_character_data_handler($xml_parser, "characterData");

    if (!($fp = fopen($file, "r"))) {

    die("Impossible d'ouvrir l'URL...");

    }

    while ($data = fread($fp, 50)) {

    if (!xml_parse($xml_parser, $data, feof($fp))) {

    die(sprintf("erreur XML: %s à la ligne %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser)));

    }

    }

    xml_parser_free($xml_parser);

    mysql_close();

    }

    ?>

    Merci de votre aide car je suis en train de craquer fortement :mad2:

    :smartass:

  2. Bonjour,

    J'ai découvret le forum grâce au référencement google dans le but d'apprendre à parser le xml.

    Chose misérable pour un débutant comme moi.

    J'ai appris à programmer des sites web seul et je suis sûr d'apprendre encore beaucoup ici sur ce forum avec vous.

    A bientôt

×
×
  • Créer...