[RESOLUT] Un lien qui affine une table selon catégorie

Eléphanteau du PHP | 32 Messages

17 févr. 2012, 20:59

Bonsoir à tous,

Voilà, en :

1) J'ai un dossier unique ou se trouve toutes les images, et un autre les miniatures.

2) Toutes les images sont entrées dans une base de donnée, avec, id, nom, nb_util (nombre de fois choisie), et id_cat (qui correspond au type d'image (chat ou chien, etc)).

Actuellement un tableau affiche toutes les photos en même temps.

<?PHP
$calcul = "1";
$requete1 = "SELECT * FROM images";
$resultat = mysql_query($requete1);
$tableau = "<table border='1' align='center'><tr>";
while($reponse  = mysql_fetch_array($resultat)){
$tableau .= "<td align='center'><a href=\"images/".$reponse['nom']."\" target='_blank'><img src=\"miniatures/".$reponse['nom']."\" width='100' height='75' border='0' alt=\"".$reponse['nom']."\"></a>";
$tableau .= "<br><input type='radio' name='radiobutton' value=\"".$reponse['nom']."\"></td>";
$division = $calcul/6;
if ( is_int($division) ) {
$tableau .= "</tr><tr>";
}
$calcul = $calcul+1;
}
$tableau .= "</tr></table>";
echo($tableau);
?>


Mais je souhaiterais, mettre en place un menu, avec des liens qui au lieu d'aller sur une autre page, le lien affiche seulement la table avec les photos de la catégorie attribuée au lien, sur une zone précise comme sur une ancre.

J'ai la forme en tête, mais je n'arrive pas à la mettre en oeuvre. J'espère avoir tout de même été claire.

Je vous remercie d'avance.
Modifié en dernier par ikarytos le 17 févr. 2012, 23:06, modifié 2 fois.

ViPHP
xTG
ViPHP | 7331 Messages

17 févr. 2012, 21:08

Il te suffit de transmettre dans l'url l'id de la catégorie et de modifier ta requête en conséquence.
A savoir rajouter une clause WHERE :
SELECT * FROM images where id_cat = ?

Eléphanteau du PHP | 32 Messages

17 févr. 2012, 21:25

Merci à toi xTG,

j'ai ajouter le WHERE
$requete1 = "SELECT * FROM images WHERE id_cat = ''";
se qui fonction en mettant manuellement le numéro de catégorie, mais comment faire pour qu'il se remplis en fonction du chois du lien?

et sans abuser j'espère :roll: comment former le lien??

ViPHP
xTG
ViPHP | 7331 Messages

17 févr. 2012, 21:43

Soit un lien : maPage.php?id=1 (où 1 est un id de catégorie existant)
Donc sur la page résultante tu peux accéder à l'id avec $_GET['id'].
$sql = 'SELECT * FROM images WHERE id = ' . mysql_real_escape_string($_GET['id']);[/sql]

Au vue des questions que tu poses je te recommande de lire les articles de ce site pour améliorer ta compréhension du PHP :
http://phpdebutant.org/article118.php (tu as les autres chapitres sur le menu de droite)

Eléphanteau du PHP | 32 Messages

17 févr. 2012, 23:03

Un grand merci à toi :D Tout fonctionne comme je souhaitais.

J'ai juste modifier ton code, car j'avais toujours une erreur de syntaxe, sans savoir où. Et merci pour le site.

$re1 = mysql_real_escape_string($_GET['id']);
$requete1 = "SELECT * FROM images WHERE id_cat ='$re1'";
mysql_query($requete1) or die(mysql_error()."\n".$requete1);


Eléphanteau du PHP | 32 Messages

21 févr. 2012, 19:49

Re,

Bizarement sur tout allais bien, mais je viens de voir que sur un autre navigateur il y avais se message affiché:

Notice: Undefined index: id in C:\Program Files (x86)\EasyPHP-5.3.8.1\www\index.php3 on line 78

Ligne 78 et 79 = :
$cat = mysql_real_escape_string($_GET['id']);
$requete1 = "SELECT * FROM images WHERE id_cat ='$cat'";
A t'on la possibilité de mettre une condition, si l'id n'est pas encore choisi?

Merci