[SQL]Fatal error dans la requête [Résolu/Fermé]

Signaler
Messages postés
567
Date d'inscription
mercredi 18 décembre 2013
Statut
Membre
Dernière intervention
1 juillet 2015
-
Messages postés
567
Date d'inscription
mercredi 18 décembre 2013
Statut
Membre
Dernière intervention
1 juillet 2015
-
Bonjour,
Je dois avoir une erreur (plus ou moins grosse dans ma requête mais tout aussi bizarre que ce la puisse paraître je ne la trouve pas...

J'espère que vous y verrez mieux que moi

Voici ma requête qui pose problème :

$reponse= $bdd->query(
'SELECT Titre,affiche,lien,Genre FROM  FROM films WHERE coupdecoeur=1
UNION
SELECT Titre,affiche,lien,Genre FROM sagas WHERE coupdecoeur=1
ORDER BY Titre');

while ($donnees = $reponse->fetch())
{
...


Merci d'avance pour vos réponses et merci de m'avoir lu !

Bonne journée à vous,

hharchi9.



1 réponse

Messages postés
323
Date d'inscription
mercredi 23 octobre 2013
Statut
Membre
Dernière intervention
28 avril 2016
49
Salut,

Tu as deux fois FROM dans la première requête.
Messages postés
567
Date d'inscription
mercredi 18 décembre 2013
Statut
Membre
Dernière intervention
1 juillet 2015
19
la base sql http://cjoint.com/data3/3Jysj6wA1zg.htm (j'ai tous laissé par manque de temps mais il n'y a que sagas et films qui sont à prendre en compte)

le code de ma boucle :

while ($donnees = $reponse->fetch())
{
    if (strstr($donnees['Genre'],'fantastique'))
	{?>
    <li><a href="categories/<?php echo $donnees['Genre']?>/<?php echo $donnees['lien']; ?>"><img src="categories/<?php echo $donnees['Genre']?>/<?php echo $donnees['affiche']; ?>" width="185" height="247"/></a></li>
<?php
	}
	else if(strstr($donnees['Genre'],'sf'))
	{?>
    <li><a href="categories/<?php echo $donnees['Genre']?>/<?php echo $donnees['lien']; ?>"><img src="categories/<?php echo $donnees['Genre']?>/<?php echo $donnees['affiche']; ?>" width="185" height="247"/></a></li>
<?php
	}
	else if(strstr($donnees['Genre'],'action'))
	{?>
    <li><a href="categories/<?php echo $donnees['Genre']?>/<?php echo $donnees['lien']; ?>"><img src="categories/<?php echo $donnees['Genre']?>/<?php echo $donnees['affiche']; ?>" width="185" height="247"/></a></li>
<?php	
	}
	else if(strstr($donnees['Genre'],'dramatiques'))
	{?>
    <li><a href="categories/<?php echo $donnees['Genre']?>/<?php echo $donnees['lien']; ?>"><img src="categories/<?php echo $donnees['Genre']?>/<?php echo $donnees['affiche']; ?>" width="185" height="247"/></a></li>
<?php	
	}
	else if(strstr($donnees['Genre'],'comedies'))
	{?>
    <li><a href="categories/<?php echo $donnees['Genre']?>/<?php echo $donnees['lien']; ?>"><img src="categories/<?php echo $donnees['Genre']?>/<?php echo $donnees['affiche']; ?>" width="185" height="247"/></a></li>
<?php	
	}
	else if(strstr($donnees['Genre'],'thriller'))
	{?>
    <li><a href="categories/<?php echo $donnees['Genre']?>/<?php echo $donnees['lien']; ?>"><img src="categories/<?php echo $donnees['Genre']?>/<?php echo $donnees['affiche']; ?>" width="185" height="247"/></a></li>
<?php	
	}
	else if(strstr($donnees['Genre'],'sagas'))
	{?>
    <li><a href="categories/sagas/<?php echo $donnees['lien']; ?>"><img src="categories/sagas/<?php echo $donnees['affiche']; ?>" width="185" height="247"/></a></li>
<?php	
	}
}

$reponse->closeCursor(); // Termine le traitement de la requête 
?>
Messages postés
323
Date d'inscription
mercredi 23 octobre 2013
Statut
Membre
Dernière intervention
28 avril 2016
49
Je comprend pas à quoi servent tout ces if. Ton problème viens justement de ces if car tu ne couvre pas tous les cas de figures. dans ta table sagas, le genre est "Action-drame" alors que ce cas n'est pas prévus.

De toute façon ces ifs ne servent à priori à rien, un simple code comme ça suffi :

while ($donnees = $reponse->fetch())
{
	echo "<li><a href='categories/'" . $donnees['Genre'] . "/" . $donnees['lien'] . "><img src='categories/" . $donnees['Genre'] ."/" . $donnees['affiche'] . " width='185' height='247'/></a></li>";
}


Après il faut que tu trouves un moyen de savoir si la donnée en question est issu de sagas ou films parce qu'apparemment ça change l'endroit ou sont situés les images. Tu peux par exemple rajouter une colonne dans chaque table appelé source et mettre la valeur film ou saga.
Messages postés
323
Date d'inscription
mercredi 23 octobre 2013
Statut
Membre
Dernière intervention
28 avril 2016
49
Pour compléter et pour éviter tout ces problèmes, tu devrais stocker toutes les images au même endroit et stocker les lien complets dans la base de données.

Ça te ferait un truc du genre :

while ($donnees = $reponse->fetch())
{
 echo "<li><a href='" . $donnees['lien'] . "'><img src='" . $donnees['lienimage'] . "' width='185' height='247'/></a></li>";
}
Messages postés
567
Date d'inscription
mercredi 18 décembre 2013
Statut
Membre
Dernière intervention
1 juillet 2015
19
Ok merci je vais faire ça :)
Messages postés
567
Date d'inscription
mercredi 18 décembre 2013
Statut
Membre
Dernière intervention
1 juillet 2015
19
Parfait, ca marche merci encore et bonne continuation à toi!