Bonjour,

Je suis confronter a un problème. j’espère que vous allez pouvoir m'aider a le résoudre.

J'ai :

  • 1 Boutique en ligne
  • 1 Base de donnée
  • 280 000 références
  • 100 000 images dont le nom correspond au références.



Pour afficher seulement les produits ou je détient les images, j'ai mis en place dans ma table une colonne "display" quand elle est égale a 1, la ligne est lu.

Je cherche une requête permettant de mettre a jour ma base de donnée et rendre égale la colonne "display" à 1

j'ai tenter : "
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 UPDATE catalogue SET display=1 WHERE id_article IN('xxx','xxx','xxx','xxx')
"

Je récupère la valeur de X, donc l’ensemble des fichiers, où je leurs soustrait l'extension avec une fonction PHP de cette façon :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 $dir = "./image/pieces/";
//  si le dossier pointe existe
if (is_dir($dir)) {
 
   // si il contient quelque chose
   if ($dh = opendir($dir)) {
 
       // boucler tant que quelque chose est trouve
      while (($file = readdir($dh)) !== false) {
 
           // affiche le nom et le type
           $file=substr($file,0,4) ; // ENLEVE L EXTENSION " .jpg "
    		echo " ' ".$file." ' ";
	}
   // on ferme la connection
    closedir($dh);
   }
 }
Mais avec autant d'entrée (100 000) j'ai une erreur 2006 MYSQL HAS GONE AWAY, ce qui en sorte est tout a fait logique. Je n'est pas accès au configuration phpmyadmin, je suis en mutualiser chez 1and1.

Auriez vous une alternative?

Merci.