Forum dédié au moteur de recherche et aux techniques d'optimisation par #taggle
Vous n'�tes pas identifi�.
Bonsoir,
J'ai récupéré le fichier .txt de Mixad pour la boutique sexy :
http://www.sous-vetement.net/lingerie.txt
Je m'inspire de ce que nous avait enseigné Sid pour Bebloom, donc je créais ma Table 'lingerie'
CREATE TABLE lingerie ( id varchar(255) NOT NULL, ref varchar(255) NOT NULL, prodname varchar(255) NOT NULL, price varchar(255) NOT NULL, options varchar(255) NOT NULL, [b]description[/b] varchar(255) NOT NULL, proplist varchar(255) NOT NULL, shop varchar(255) NOT NULL, cat varchar(255) NOT NULL, subcat varchar(255) NOT NULL, img_min varchar(255) NOT NULL, img_big varchar(255) NOT NULL, url varchar(255) NOT NULL, PRIMARY KEY (id), UNIQUE id (ref) );
Premièrement, je ne peux pas utiliser desc car visiblement c'est une commande SQL.
Donc je l'ai remplacé par Description même si ça ne remplira pas ma table.
Ensuite, j'essaye de remplir ma table avec ce fichier :
<?php $row = 1; $handle = fopen("http://www.sous-vetement.net/lingerie.txt", "r"); while (($data = fgetcsv($handle, 5000, ";")) !== FALSE) { $num = count($data); //echo "<p> $num fields in line $row: <br /></p>\n"; $row++; //for ($c=0; $c < $num; $c++) { include ("sql.php"); $query = "INSERT INTO `lingerie` VALUES ('" . addslashes($data[0]) ."','". addslashes($data[1]) ."','". addslashes($data[2]) ."','". addslashes($data[3]) ."','". addslashes($data[4]) ."','". addslashes($data[5]) ."','". addslashes($data[6]) ."','". addslashes($data[7]) ."');"; //if($p = @mysql_query($query,$c)){ //print_r($data); echo $query; mysql_query($query); } //} fclose($handle); //} // fermeture bdd @mysql_close($c); ?>
Mais voilà, ça ne fonctionne pas, ma table reste desespérement vide.
J'ai également essayé en mettant 13 addslashes mais rien n'y fait alors que pour bebloom avec le même script ça avait fonctionné dessuite ?
Merci de votre aide.
chris !
Hors ligne
Avec phpmyadmin c'est très simple :
Tu vas dans base tu cherches ta table lingerie et sur cette table tu vas tout en bas... tu devrais trouver un lien "Insérer des données provenant d'un fichier texte dans la table".
Tu cliques dessus et tu indiques où se trouve ton fichier txt sur ton ordi.
Puis dans "Champs terminés par" tu mets |
Tu appuies sur le bouton executer et si ta table est correcte tous les champs seront remplis.
Hors ligne
Plop
Dans cette ligne :
$query = "INSERT INTO `lingerie` VALUES ('" . addslashes($data[0]) ."','". addslashes($data[1]) ."','". addslashes($data[2]) ."','". addslashes($data[3]) ."','". addslashes($data[4]) ."','". addslashes($data[5]) ."','". addslashes($data[6]) ."','". addslashes($data[7]) ."');";
Tu ne récupéres que les 8 premières infos de chaque colonne, hors d'aprés ce que je vois, tu as 13 champs en tout, donc il faut que tu personnalises mon script en rajoutant les données des colonnes supplémentaires de cet affilieur, soit :
$query = "INSERT INTO `lingerie` VALUES ('" . addslashes($data[0]) ."','". addslashes($data[1]) ."','". addslashes($data[2]) ."','". addslashes($data[3]) ."','". addslashes($data[4]) ."','". addslashes($data[5]) ."','". addslashes($data[6]) ."','". addslashes($data[7]) ."','". addslashes($data[8]) ."','". addslashes($data[9]) ."','". addslashes($data[10]) ."','". addslashes($data[11]) ."','". addslashes($data[12]) ."');";
On finit bien par le data[12] puisqu'on compte 1 à partir de 0 (haha super clair ca )
Enjoy
Hors ligne
Merci beaucoup de cette Astuce, c'est trés pratique.
Me reste plus qu'à bidouiller le probleme avec DESC, je pense que je vais faire un STR_replace
Hors ligne
Que ton champs s'appelle description, presentation ou bidulemachinchouette... c'est pas un problème.
Tu peux appeler les champs comme tu veux dans la mesure où tu indiques correctement dans ton script le nom que tu as donné au champs.
Hors ligne