Vous n'êtes pas identifié(e).
Pages :: 1
Bonjour,
je suis ultra noob en matière de php/mysql pour dire ya une semaine je ne savais pas que sa existait.
Tout ça pour dire que j'ai plus ou moins écrit ce script je dis "plus ou moins" parce que j'ai pas tout écrit (j'ai tout écrit sauf la fonction), bref j'ai un problème, ben sa marche pas je sais pas pourquoi transfert rien dans ma base de donnée sa inscrit erreur 2 :colere2: .
Je sais que je que je fait est à la limite du légal mais bon si c'est pas moi qui le fait sa sera un autre .
je vois pas trop ou est l'erreur ... help please
voici mon code :
function allocine($allocine)
{
$absent = Array(
'titre_film' => 'inconnu',
'realisateur' => 'inconnu',
'acteur' => 'inconnu',
'long_metrage' => 'inconnu',
'synopsis' => 'inconnu',
'affiche' => './img/image_introuvable_films.jpg',
'duree' => 'inconnue',
'titre_vo' => 'inconnu',
'sortie_cinema' => 'inconnue',
'age' => 'inconnu',
'annee_de_production' => 'inconnue'
);
$recup = file_get_contents('http://www.allocine.fr/film/fichefilm_gen_cfilm='.$allocine.'.html');
// on récupère le titre
preg_match_all('#<div class="titlebar">\s*<h1>(.*)</h1>.*</div>#isU', $recup, $titre_film);
$sortie['titre_film'] = (empty($titre_film)) ? $absent['titre_film'] : utf8_decode(trim($titre_film[1][0]));
// on récupère le nom du/des réalisateur(s)
preg_match('#R[^"]+alis[^"]+ par <span class="bold">(.*?)</span>#is', $recup, $realisateur);
$sortie['realisateur'] = (empty($realisateur)) ? $absent['realisateur'] : utf8_decode(trim(str_replace("'", '"', $realisateur[1])));
$sortie['realisateur'] = str_replace('<a href="', '<a href="http://www.allocine.fr', $sortie['realisateur']);
// on récupère le nom des acteurs
preg_match('#Avec (.*?), <a class="underline" href="/film/casting_gen_cfilm=[^"]+.html">plus</a>#is', $recup, $acteur);
$sortie['acteur'] = (empty($acteur)) ? $absent['acteur'] : utf8_decode(trim(str_replace("'", '"', $acteur[1])));
$sortie['acteur'] = str_replace('<a href="', '<a href="http://www.allocine.fr', $sortie['acteur']);
// on récupère le long-métrage du film
preg_match('#Long-m[^"]+trage(.*?)\.#is', $recup, $long_metrage);
$sortie['long_metrage'] = (empty($long_metrage)) ? $absent['long_metrage'] : strip_tags(utf8_decode(trim(str_replace("\t", '', $long_metrage[1]))));
$sortie['long_metrage'] = str_replace("\r", '', trim($sortie['long_metrage']));
// on récupere le synopsis
preg_match('#<p><span class="bold">Synopsis : </span>(.*?)</p>#is', $recup, $synopsis);
$sortie['synopsis'] = (empty($synopsis)) ? $absent['synopsis'] : utf8_decode(trim($synopsis[1]));
// on récupere l'url de l'affiche
preg_match('#<a href="/film/fichefilm-[^"]+/affiches/">[^"]+<img src=\'http://images.allocine.fr/r_160_214/(.*?)\'[^"]+alt="[^"]+"[^"]+title="[^"]+"[^"]+/>#is', $recup , $affiche);
$sortie['affiche'] = ($affiche[1] == '[url]http://images.allocine.fr/r_160_214/b_1_cfd7e1/commons/emptymedia/AffichetteAllocine.gif[/url]') ? $absent['affiche'] : '[url]http://images.allocine.fr/r_160_214/[/url]'.$affiche[1];
// on récupere la durée
preg_match('#Dur[^"]+e :(.*?)Ann[^"]+e de production :#is', $recup, $duree);
$sortie['duree'] = (empty($duree)) ? $absent['duree'] : utf8_decode(trim($duree[1]));
// on récupère le titre original
preg_match('#Titre original : <span class="purehtml"><em>(.*?)</em></span>#is', $recup, $titre_vo);
$sortie['titre_vo'] = (empty($titre_vo)) ? $absent['titre_vo'] : utf8_decode(trim($titre_vo[1]));
// on récupere la date de sortie au cinéma
preg_match("#<a href='/film/agenda\.html\?week=(.*?)'>(.*?)</a>#is", $recup, $sortie_cinema);
$sortie['sortie_cinema'] = (empty($sortie_cinema)) ? $absent['sortie_cinema'] : utf8_decode(trim($sortie_cinema[1]));
if($sortie['sortie_cinema'] != 'inconnue') $sortie['sortie_salle_lien'] = '[url]http://www.allocine.fr/film/agenda.html?week=[/url]'.$sortie_cinema[1];
else $sortie['sortie_salle_lien'] = 'inconnue';
if($sortie['sortie_cinema'] != 'inconnue') $sortie['sortie_salle'] = utf8_decode(trim($sortie_cinema[2]));
else $sortie['sortie_salle'] = 'inconnue';
// on récupère les restriction d'âge si il y a ...
preg_match('#<span class="insist">(.*?)</span>#is', $recup, $age);
$sortie['age'] = (empty($age)) ? $absent['age'] : utf8_decode(trim($age[1]));
// on récupère l'année de production
preg_match('#Ann..?e de production :.*<a href=["\'][^>]+["\']>([0-9]+)</a>#isU', $recup, $annee_de_production);
$sortie['annee_de_production'] = (empty($annee_de_production)) ? $absent['annee_de_production'] : utf8_decode(trim($annee_de_production[1]));
return $sortie;
;
}
$sortie = allocine($id_film);
$user="root";
$host="localhost";
$password="";
$database="down";
$cnx=mysqli_connect($host,$user,$password);
mysqli_select_db($cnx,$database);
$req = "INSERT INTO film (id_film,titre_film,realisateur,acteur,affiche,duree,
synopsis,titre_vo,age,annee_de_production,sortie_cinema,upload,qualite,genre)
VALUES( '".$id_film."',
'".$sortie['titre_film']."',
'".$sortie['realisateur']."',
'".$sortie['acteur']."',
'".$sortie['affiche']."',
'".$sortie['duree']."',
'".$sortie['synopsis']."',
'".$sortie['titre_vo']."',
'".$sortie['age']."',
'".$sortie['annee_de_production']."',
'".$sortie['sortie_cinema']."',
'".$upload."',
'".$qualite."',
'".$genre."'
)
";
$result = mysqli_query($cnx,$req)
or die("Erreur2");
?>
Dernière modification par Gamika (07-03-2010 14:55:34)
Hors ligne
bon, y a pas grand chose qui doit fonctionner
dabord : extract($_POST); beuuuuuuuuuuuuuuuuuuuuuuuurk !!!!!!!!!!!!!!!!
ensuite :
$sortie = allocine($id_film);
ta fonction allocine ne retourne rien
bon, tu fais un peu de ménage et tu reviens
a++
Hors ligne
merci deja pour une reponse si rapide
Ben tout fonctionne sauf l'execution de la requete
tu peut m'expliquer pourquoi "beuuuuuuuuuuuuuuuuuuuuuuuurk !!!!!!!!!!!!!!!!" pour mon "extract" ??! sa marche très bien.
Ensuite sa veu dire quoi ma fonction retourne rien ? Elle fonctionne très bien aussi
je vois pas ou est le soucis ...
je veu bien faire le menage mais bon ... je fais quoi ?:|
Merci ^^
Hors ligne
oui, d'accord, scuse moi, c'est tellement mal mis en page que je n'avais pas vu
je vois une erreur
INSERT INTO (14 champs décris) values ( 13 champs mis a jour)
a++
Hors ligne
Ha ! Merci ^^ j'avais pas fais gaff
ho niveau de la mise en page ya des regles ?
bon après modification ... ben rien la même chose ... erreur 2
Hors ligne
Met cette ligne
$result = mysqli_query($cnx,$req) or die("Erreur " .mysql_error());
et donne moi le message exact
a++
Hors ligne
Après modication selon tes instructions le resultat, aussi surprenant que sa puisse être, est le suivant :
Hors ligne
Après modification indiquer par moogli j'ai une erreur qui me dis ça :
Erreur You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'expédition spéléologique de " The Descent ", Sarah émerge seule des grottes des ' at line 11
Hors ligne
Ho merci ça marche !!! merci bcp ! en si peu de temps avoir des réponce clair MERCI
J'aimerais bien marquer [resolu] mais je c'est pas comment on fait ^^
Dernière modification par Gamika (07-03-2010 18:45:36)
Hors ligne
Pages :: 1