Faire un lien

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Faire un lien

par guilt92 » 03 juil. 2008, 17:13

Tu as bien mis

Code : Tout sélectionner

WHERE pays='".$_GET["pays"]."'"
et non pas WHERE $_GET["pays"] ?

Fais voir la requete stp

par Romuald63 » 03 juil. 2008, 17:08

J'ai sélectionné "Allemagne" pour mes images et voilà :
Unknown column 'Allemagne' in 'where clause'

par guilt92 » 03 juil. 2008, 16:57

Regarde les différences entre ton code et mon code donné dans le message précédent pour l'affichage des images, notamment au niveau du $_GET et de la clause WHERE de la requete et tu auras ta réponse....

Il n'est pas utile d'avoir une variable pays= dans ton url si tu ne l'utilises pas...

par Romuald63 » 03 juil. 2008, 16:51

voilà mes fichiers :
Ma page pour afficher les pays
<?php
/*connexion BDD en local*/
mysql_connect("localhost", "root", "");
mysql_select_db('vol');

/*requete mysql*/
$pays = mysql_query("SELECT DISTINCT pays FROM photo") or die(mysql_error());

/*Avec cette boucle, on liste*/
while ($affichage = mysql_fetch_array($pays) )     
{    
    echo '<a href="aff_photo.php?pays='.$affichage['pays'].'">'.$affichage['pays'].'</a>';  
    echo "<br>"; 
}

/* deconnexion de MySQL*/
mysql_close();	
	  
?>
Ma page pour afficher les images :
<?php

$pays=$_GET['pays'];

/*connexion BDD en local*/
mysql_connect("localhost", "root", "");
mysql_select_db('vol');

/*requete mysql*/
$image = mysql_query("SELECT DISTINCT image,titre_image FROM photo") or die(mysql_error());

/*Avec cette boucle, on liste*/
while ($affichage = mysql_fetch_array($image) )  
{ 
	echo '<img src="upload/'.$affichage['image'].'" width="100" height="100">';
	echo "<br />";
	echo $affichage['titre_image'];
	echo "</p>";
}

/* deconnexion de MySQL*/
mysql_close();	
	  
?>
Le hic c'est que toutes mes images s'affichent

par guilt92 » 03 juil. 2008, 16:39

Je ne suis pas sur de comprendre l'architecture mais j'imagine quelque chose comme ca :

une page de pays (pays.php par exemple) qui affiche la liste des pays avec un lien vers les images de ce pays. Ensuite une page aff_photo.php qui affiche les photos du pays sélectionné.

Je vais prendre l'exemple d'une page pays qui pointe vers la page photos et l on affiche que les photos du pays, apres si c est l inverse que tu veux faire ca sera exactement le meme principe

page pays :
$image = mysql_query("SELECT DISTINCT pays FROM photo") or die(mysql_error());  

while ($affichage = mysql_fetch_array($pays) )    
{   
    echo '<a href="aff_photo.php?pays='.$affichage['pays'].'">'.$affichage['pays'].'</a>'; 
    echo "<br>";  
}
Ensuite sur la page des images j'aurai donc :
if(isset($_GET["pays"])) //Si un pays est defini dans l'url, type pays=france
{ //alors
$image = mysql_query("SELECT image,titre_image FROM photo WHERE pays='".$_GET["pays"]."'") or die(mysql_error()); //on ne prend les images QUE de ce pays, d'ou le WHERE
while ($affichage = mysql_fetch_array($image) )    
{   
    echo '<img src="upload/'.$affichage['image'].'" width="100" height="100">';  
    echo "<br />";  
    echo $affichage['titre_image'];  
    echo "</p>";  
}
}
else //si aucun pays n'est defini dans l'url
{
//ce que tu veux, soit tu affiches toutes les photos, soit tu mets un message d'erreur
}
Libre à toi d'adapter pour faire dans l autre sens ou dans les deux... (ne met pas ce code tel quel ca risque de ne pas faire ce que tu veux, essaye de comprendre le raisonnement...)

Faire un lien

par Romuald63 » 03 juil. 2008, 16:15

Toujours pour le même site que je suis en train de construire j'ai créé une page où j'affiche une liste de pays dans lesquels il y a des images
$image = mysql_query("SELECT DISTINCT pays FROM photo") or die(mysql_error()); 

while ($affichage = mysql_fetch_array($pays) )   
{  
    echo $affichage['pays']; 
    echo "<br>"; 
} 
J'ai créé une page qui affiche les images par pays
$image = mysql_query("SELECT image,titre_image FROM photo") or die(mysql_error()); 
 
while ($affichage = mysql_fetch_array($image) )   
{  
    echo '<img src="upload/'.$affichage['image'].'" width="100" height="100">'; 
    echo "<br />"; 
    echo $affichage['titre_image']; 
    echo "</p>"; 
} 
Mon souci c'est que je n'arrive pas à faire de lien entre les deux
sur ma page pays, j'ai écrit:
echo '<a href="aff_photo.php?image='.$affichage['image'].'</a>';

Du coup j'ai une page blanche à la place demon affichage des pays