Titre du sujet : Re: Utiliser l'api allociné dans xoopstube par seboseboss sur 24/12/2014 17:29:18
RE
J'ai tout fait mais mysql n'en veut pas du unsigned, je l'ai donc supprimé et ça passe de nouveau.
Même chose avec les double cote, j'ai donc remis et corrigé les valeur numérique.
CREATE TABLE FILM (
id_film int(11) NOT NULL auto_increment,
titre varchar(255) NOT NULL default '',
pays_id int(11) NOT NULL default '0',
annee date default NULL,
duree int(11) NOT NULL default '0',
date_sortie date default NULL,
realisateur_id int(11) NOT NULL default '0',
synopsis text NOT NULL,
PRIMARY KEY (id_film),
KEY titre (titre),
KEY pays_id (pays_id),
KEY duree (duree),
KEY date_sortie (date_sortie),
KEY realisateur_id (realisateur_id),
KEY annee (annee)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE ACTEUR (
id_acteur int(11) NOT NULL auto_increment,
nom_acteur varchar(255) NOT NULL default '',
PRIMARY KEY (id_acteur)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE GENRE (
id_genre int(11) NOT NULL auto_increment,
nom_genre varchar(255) NOT NULL default '',
PRIMARY KEY (id_genre)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE ACTEUR_FILM (
acteur_id int(11) NOT NULL default '0',
film_id int(11) NOT NULL default '0',
KEY ACTEUR (acteur_id,film_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE GENRE_FILM (
genre_id int(11) NOT NULL default '0',
film_id int(11) NOT NULL default '0',
KEY GENRE (genre_id,film_id)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE PAYS (
id_pays int(11) NOT NULL auto_increment,
nom_pays varchar(255) NOT NULL default '',
PRIMARY KEY (id_pays)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE REALISATEUR (
id_realisateur int(11) NOT NULL auto_increment,
nom_realisateur varchar(255) NOT NULL default '',
PRIMARY KEY (id_realisateur)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
les quotes ne fonctionne pas non plus dans la requête et je ne pense pas en avoir besoin:
<?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, PHP_EOL, "<br />n";
echo "<b><font color=#ff7400>Titre du film:</font></b> ", $data->title, PHP_EOL, "<br />n";
echo "<b><font color=#ff7400>pays:</font></b> ", $data->nationality[0]['$'], PHP_EOL, "<br />n";
echo "<b><font color=#ff7400>Année de production:</font></b> ", $data->productionYear, PHP_EOL, "<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'], PHP_EOL, "<br />n";
echo "<b><font color=#ff7400>Realisateur:</font></b> ", $data->castingShort['directors'], PHP_EOL, "<br />n";
echo "<b><font color=#ff7400>Synopsis:</font></b> ", $data->synopsisShort, PHP_EOL, "<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;
}
$id_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']));
$realisateur_id = $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..
$result = $xoopsDB->query(
"SELECT COUNT(*) FROM FILM WHERE id_film = " . $id_film
);
echo $result;
if ($result == 0) {
$sql = 'INSERT INTO ' . $xoopsDB->prefix('film')
. ' (id_film, titre, pays_id, annee, duree, date_sortie, realisateur_id, synopsis) ';
$sql .= " VALUES ($id_film, '$title', $pays_id, $annee, $duree, '$date_sortie', $realisateur_id, '$synopsis')";
}
$xoopsTpl->assign('module_dir', $xoopsModule->getVar('dirname'));
include XOOPS_ROOT_PATH . '/footer.php';
?>
Mon pb c'est la vérification de la présence ou pas dans la bdd des infos, j'ai un code(numéro d'objet d'aprés ce que j'ai lu) quand j'affiche result.
Resource id #92
Pas mal pour un gros nullos
|