afficher des doubons d'images via un id

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 : afficher des doubons d'images via un id

Re: afficher des doubons d'images via un id

par MF-M » 06 févr. 2010, 19:58

Merci jojolapine

Bien vu cela fonctionne nikel

il suffisait de pas grand chose pour finir cette requette
ca faisait des jours que je galèrais sur cette requette.
merci encore je vais pouvoir continuer

mig

pour ceux ou celles à qui ca interresse voici le code final
<TABLE width="30%" border="1">
<?php        
Connect_mySql();
// Création d'une table tenporaire avec un champ image
$query = "CREATE TEMPORARY TABLE table_temp (image varchar(20))";        
$result = mysql_query($query);     
// Incertion dans la table temporaire toute les images en doublon
$query = "INSERT INTO table_temp SELECT image FROM article GROUP BY image having count(image) > 1; ";
$result = mysql_query($query);

$query = "SELECT * FROM article, table_temp WHERE article.image = table_temp.image";        
$result = mysql_query($query);

$query = "SELECT * FROM article WHERE image = (SELECT image FROM article WHERE idArticle = ".$_GET['art'].") "; 
$result = mysql_query($query);

while ($row = mysql_fetch_array($result)) {
?>
  <!-- Affiche dans un tableau toutes les images en doublon avec leurs id -->
  <TR>  
  <TD width="3%" align="center"><?php echo $row[0]; ?></TD>   <!-- idArticle -->
  <TD width="3%" align="center"><?php echo $row[16]; ?></TD>  <!-- image -->
  </TR>

<?php
}        
?>
</TABLE>
<?php        
$query = "DROP TABLE table_temp;";        
$result = mysql_query($query);
?>
peut-etre a simplifier mais bon cela me convient parfaitement

Re: afficher des doubons d'images via un id

par jojolapine » 06 févr. 2010, 11:05

Bonjour,
En deux petite requête, ça doit être bouclé non? (voir en une si ta version de mysql le permet)
1 requête:

Code : Tout sélectionner

SELECT * FROM article WHERE image = (SELECT image FROM article WHERE idArticle = x)
Et pour el faire en deux ben tu sépares ces deux là ;)

afficher des doubons d'images via un id

par MF-M » 06 févr. 2010, 09:07

Bonjour a tous
Voila je cherche un moyen d'afficher des doubons d'images via un id
Je m'explique :
je recupère l'idArticle dans une variable qui s'appelle $_GET['art']

J'ai une table article qui se présente sous la forme de :
idArticle | image
2178 | 00001.jpg
2179 | 00001.jpg
2180 | 00002.jpg
2181 | 00002.jpg
2182 | 00002.jpg
2183 | 00003.jpg
2184 | 00003.jpg
2185 | 00004.jpg
2186 | 00004.jpg
2186 | 00004.jpg
2187 | 00004.jpg

j'aimerai afficher un tableau en fontion de l'id sélectionné

exemple :
si l'idArticle est égal à 2178 OU 2179 alors on n'affiche
idArticle | image
2178 | 00001.jpg
2179 | 00001.jpg

si l'idArticle est égal 2180 OU 2181 OU 2182 alors on n'affiche
idArticle | image
2180 | 00002.jpg
2181 | 00002.jpg
2182 | 00002.jpg

etc... etc... ect...

j'ai pour l'instant réussit a afficher tout les images en doublon avec leurs id correspondant grace a ce bout de code
<TABLE width="30%" border="1">
<?php        
Connect_mySql();
// Création d'une table tenporaire avec un champ image
$query = "CREATE TEMPORARY TABLE table_temp (image varchar(20))";        
$result = mysql_query($query);     
// Incertion dans la table temporaire toute les images en doublon
$query = "INSERT INTO table_temp SELECT image FROM article GROUP BY image having count(image) > 1; ";        
$result = mysql_query($query);

$query = "SELECT * FROM article, table_temp WHERE article.image = table_temp.image";        
$result = mysql_query($query);

while ($row = mysql_fetch_array($result)) {
?>
  <!-- Affiche dans un tableau toutes les images en doublon avec leurs id -->
  <TR>  
  <TD width="3%" align="center"><?php echo $row[0]; ?></TD>   <!-- idArticle -->
  <TD width="3%" align="center"><?php echo $row[16]; ?></TD>  <!-- image -->
  </TR>

<?php
}        
?>
</TABLE>
<?php        
$query = "DROP TABLE table_temp;";        
$result = mysql_query($query);
?>    
 
ce qui donne le resultat suivant :
idArticle | image
2178 | 00001.jpg
2179 | 00001.jpg
2180 | 00002.jpg
2181 | 00002.jpg
2182 | 00002.jpg
2183 | 00003.jpg
2184 | 00003.jpg
2185 | 00004.jpg
2186 | 00004.jpg
2186 | 00004.jpg
2187 | 00004.jpg

mais apres cela je reste bloqué
merci d'avance pour votre aide.