Fork me on GitHub

Rapport de message :*
 

Re: Utiliser l'api allociné dans xoopstube

Titre du sujet : Re: Utiliser l'api allociné dans xoopstube
par seboseboss sur 24/12/2014 19:57:11

Salut slider

ET au fait JOYEUX NOEL A TOUS!!!


Merci pour les infos, je regarderais ça.

J'ai du modifier quand même un peu les tables car il y a eu des modifs chez allociné depuis que ce code à été écrit, ça donne ça:

CREATE TABLE FILM (
id_film int(11NOT NULL auto_increment,
code_film int(11NOT NULL,
titre varchar(255NOT NULL default '',
pays_id int(11NOT NULL default '0',
annee int default NULL,
duree int(11NOT NULL default '0',
date_sortie date default NULL,
nom_realisateur varchar(255NOT NULL default '',
synopsis text NOT NULL,
PRIMARY KEY (id_film),
KEY code_film (code_film),
KEY titre (titre),
KEY pays_id (pays_id),
KEY duree (duree),
KEY date_sortie (date_sortie),
KEY nom_realisateur (nom_realisateur),
KEY annee (annee)
ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE ACTEUR (
id_acteur int(11NOT NULL auto_increment,
nom_acteur varchar(255NOT NULL default '',
PRIMARY KEY (id_acteur)
ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE GENRE (
id_genre int(11NOT NULL auto_increment,
nom_genre varchar(255NOT NULL default '',
PRIMARY KEY (id_genre)
ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE ACTEUR_FILM (
acteur_id int(11NOT NULL auto_increment,
film_code int(11NOT NULL default '0',
KEY ACTEUR (acteur_id,film_code)
ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE GENRE_FILM (
genre_id int(11NOT NULL default '0',
film_id int(11NOT NULL auto_increment,
KEY GENRE (genre_id,film_id)
ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE PAYS (
id_pays int(11NOT NULL default '0',
nom_pays varchar(255NOT NULL default '',
PRIMARY KEY (id_pays)
ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE REALISATEUR (
id_realisateur int(11NOT NULL auto_increment,
nom_realisateur varchar(255NOT NULL default '',
PRIMARY KEY (id_realisateur)
ENGINE=MyISAM DEFAULT CHARSET=utf8;


Et c'est bon j'ai réussi à enregistrer les données dans la base, j'ai fait sans la vérif.
J'ai aussi remodifié un peu mon fichier php en rapport:

<?php
/**
 * $Id: alloinfos.php
 * Module: XoopsTube
 */

include 'header.php';
include 
XOOPS_ROOT_PATH '/header.php';
    
    require_once 
XOOPS_ROOT_PATH '/api-allocine/api-allocine-helper.php';
    
   
// Créer l'objet
    
$helper = new AlloHelper;

    
//Pour plus de clareté, on définit les paramètres à l'avance: le code du film, et la quantité d'informations à récupérer.

    
$code 27061;
    
$profile 'small';

    
//Ensuite, il est conseillé d'effectuer des requêtes dans un bloc try{} catch(){} pour gérer les erreurs.

    
try
    {
        
// Envoi de la requête
        
$data $helper->movie$code$profile );
        
        
//Convertir la durée en hh:mm:ss
        
$total $data->runtime//Nombre de secondes
        
$heure intval(abs($total 3600));
        
$total $total - ($heure 3600);
        
$minute intval(abs($total 60));
        
$total $total - ($minute 60);
        
$seconde $total;
        
        
// Afficher les infos
        
echo "<div class='xoopstube_cadreblock'><b><font color=#ff7400>Code du film:</font></b> "$data->code"<br />n";
        echo 
"<b><font color=#ff7400>Titre du film:</font></b> "$data->title"<br />n";
        echo 
"<b><font color=#ff7400>pays:</font></b> "$data->nationality[0]['$'], "<br />n";
        echo 
"<b><font color=#ff7400>Année de production:</font></b> "$data->productionYear"<br />n";
        echo 
"<b><font color=#ff7400>Durée:</font></b> $heure H : $minute min : $seconde sec <br />n";
        echo 
"<b><font color=#ff7400>Date de sortie:</font></b> "$data->release['releaseDate'], "<br />n";
        echo 
"<b><font color=#ff7400>Realisateur:</font></b> "$data->castingShort['directors'], "<br />n";
        echo 
"<b><font color=#ff7400>Synopsis:</font></b> "$data->synopsisShort"<br /></div>n";
        
// Afficher toutes les données
        
print_r($data->getArray());

    }
    catch( 
ErrorException $error )
    {
        
// En cas d'erreur
        
echo "Erreur n°"$error->getCode(), ": "$error->getMessage(), PHP_EOL;
    }
    
    
$code_film $xtubemyts->addslashes(ltrim($data->code));
    
$title $xtubemyts->addslashes(ltrim($data->title));
    
$pays_id $xtubemyts->addslashes(ltrim($data->nationality[0]['code']));
    
$annee $xtubemyts->addslashes(ltrim($data->productionYear));
    
$duree $xtubemyts->addslashes(ltrim($data->runtime));
    
$date_sortie $xtubemyts->addslashes(ltrim($data->release['releaseDate']));
    
$nom_realisateur $xtubemyts->addslashes(ltrim($data->castingShort['directors']));
    
$synopsis $xtubemyts->addslashes(ltrim($data->synopsisShort));
    
    
// Enregistrement des infos dans la base si le code n'existe pas déja..

        
$sql 'INSERT INTO FILM'
            
' (id_film, code_film, titre, pays_id, annee, duree, date_sortie, nom_realisateur, synopsis) ';
        
        
$sql .= " VALUES     ('', $code_film, '$title', $pays_id$annee$duree, '$date_sortie','', '$synopsis')";
       
        if (!
$result $xoopsDB->query($sql)) {
                        
$_error $xoopsDB->error() . " : " $xoopsDB->errno();
                        
XoopsErrorHandler_HandleError(E_USER_WARNING$_error__FILE____LINE__);
                    }
                    else {
                    
redirect_header('index.php'2_MD_XTUBE_MODIFYNOTALLOWED);
                    }    

    


$xoopsTpl->assign('module_dir'$xoopsModule->getVar('dirname'));
include 
XOOPS_ROOT_PATH '/footer.php';    
?>


Pour l'instant ,je fait simple pour l'affichage et les requêtes (1 chose à la fois),j'ai juste fait la table film, maintenant je vais devoir associer toutes les tables, ça va être moins marrant .

Petit à petit l'oiseau fait son nid.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

35 Personne(s) en ligne (29 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 35 | Plus ...