Pb insertion dans 2 tables

Avatar du membre
ViPHP
ViPHP | 3008 Messages

06 nov. 2008, 12:51

Mmmhh il ne faut pas faire du copier/coller tout bête sans comprendre. Ils mettent T_XXX parce que leurs tables commencent avec ce préfixe (voir leurs tables ici : http://sqlpro.developpez.com/cours/bddexemple/ modèle physique).

Tu dois donc utiliser PAYS de ton côté.
Le problème c'est que si je ne met que pays, j'ai tous les pays qui s'affichent
D'où la jointure que tu n'as apparemment pas encore fait. Regarde l'exemple 3 et les tables concernées, tu comprendras mieux.

ViPHP
AB
ViPHP | 5818 Messages

06 nov. 2008, 13:08

Pour les jointures, en cas de besoin, en plus du lien donné par charabia - qui s'adresse plutôt à des personnes déjà expérimentées - tu peux aussi aller voir http://www.siteduzero.com/tutoriel-3-38 ... urces.html qui propose des exemples plus parlants pour les débutants.

Par ailleurs si tu veux que l'on t'aide plus efficacement il faudrait nous donner le schéma de tes tables
Ben, pour commencer...
Nous fournir les modèles de tes tables et le code de ton script d'insertion, non ? ;)
Pour ce faire, le plus rapide est d'utiliser cette méthode http://www.phpfrance.com/forums/voir_sujet-34456.php

Eléphant du PHP | 287 Messages

06 nov. 2008, 13:19

Grâce à vous j'ai avancé ! Hé oui...

Pour récupére mes données dans 2 tables voilà ce que j'ai fait et ça marche :
$pays = mysql_query("SELECT DISTINCT pays FROM photo LEFT JOIN pays ON photo.id_pays = pays.id") or die(mysql_error());

while ($affichage = mysql_fetch_array($pays) )     
{    
 echo '<a href="aff_photo_pays.php?pays='.$affichage['pays'].'">'.$affichage['pays'].'</a>';  
}
Maintenant pour afficher mes photos par pays c'est un peu plus compliqué. En effet j'ai une page blanche qui s'affiche, pas de message d'erreur, donc peut-être que la solution n'est pas bien loin :

if(isset($_GET["id_pays"]))
{
$image = mysql_query("SELECT image,titre_image,id_pays FROM photo WHERE id_pays='".$_GET["id_pays"]."'") or die(mysql_error()); //*/WHERE pays=".$_GET["id_pays"]) while ($affichage = mysql_fetch_array($image) )      
{    
    echo '<img src="upload/'.$affichage['image'].'" width="220" height="165">';   
    echo "<br />";   
    echo $affichage['titre_image'];
Si vous trouvez l'erreur
Merci