8800 sujets

Développement web côté serveur, CMS

Bonjour à tous,

J'utilise shoutcast pour la diffusion audio et donc j'affiche les 10 dernières musique sur le site dans un foreach jusqu’à la pas de problème voici mon foreach


foreach ($infos['SHOUTCASTSERVER']['SONGHISTORY']['SONG'] as $current) {
    echo $current['TITLE'];
}


Voici un print pour informations

Array
(
    [PLAYEDAT] => 1430326645
    [TITLE] => Arno Cost & Norman Doray - Strong
)

Array
(
    [PLAYEDAT] => 1430326413
    [TITLE] => Fuse Odg - Dangerous love
)

Array
(
    [PLAYEDAT] => 1430326408
    [TITLE] => Tous vos tubes preferer
)

Array
(
    [PLAYEDAT] => 1430326202
    [TITLE] => Benjamin Braxton - Extraball
)

Array
(
    [PLAYEDAT] => 1430325987
    [TITLE] => Hardwell Feat Chris Jones - Young again
)

Array
(
    [PLAYEDAT] => 1430325984
    [TITLE] => Radio 1
)

Array
(
    [PLAYEDAT] => 1430325772
    [TITLE] => Cris Cab - Englishman in new york
)

Array
(
    [PLAYEDAT] => 1430325753
    [TITLE] => Comblage 1
)

Array
(
    [PLAYEDAT] => 1430325750
    [TITLE] => Radio 1
)

Array
(
    [PLAYEDAT] => 1430325484
    [TITLE] => Philip George - Wish you were mine
)


Les titres s'affiche bien, donc nous supposons que tout les titres soit enregistrer dans ma table de ratings (vote) voici un aperçu de ma table


CREATE TABLE IF NOT EXISTS `Ratings` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `titre` varchar(255) NOT NULL,
  `artiste` varchar(255) NOT NULL,
  `votes_up` int(11) NOT NULL DEFAULT '0',
  `votes_down` int(11) NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 ;


Donc dans la table ratings j'aurai voulu récupérer le champs ID et TITRE par rapport a la variable $current['TITLE']

Je fait donc dans mon foreach ajouter

$r = 'SELECT * FROM Ratings WHERE titre=:titre';
$stmt = $connexion->prepare($r);
$stmt->execute(array('titre' => [b]$current['TITLE'][/b]));
     
$data = $stmt->fetch(PDO::FETCH_ASSOC))
$id = $data["id"];


Mais cela ne fonctionne pas Smiley decu qui aurai une idée je vous remercie par avance pour vos futurs réponses
essaye

$stmt->execute(array('titre' => $current['TITLE']));
$data = $stmt->fetchAll();


et puis sur ta ligne data = y'a pas de ";"

et tu ouvre une parenthèse pour en fermer deux.

$data = $stmt->fetch(PDO::FETCH_ASSOC))
$id = $data["id"];


a la limite :

$data = $stmt->fetch(PDO::FETCH_ASSOC);

Modifié par JENCAL (30 Apr 2015 - 11:25)