En fait, les 2 programmes qu'on a fait la V1 et la V2 sont complémentaires et pratiquement les mêmes au niveau de l'importation des valeurs. De toutes façons, la création des colonnes dans la base de données va se faire une fois contre plusieurs importations de données.
Pour la question du lien "lire la suite" de ta question 3
3) Page de recherche avec le lien en savoir plus (ce lien permet d'afficher les informations concernant la fiche qui vient d'être recherchée) ==> Actuellement la fiche qui s'affiche ne correspond en rien au résultat de la recherche
si le programme que t'as déjà fait ne fonctionne pas à ce niveau c'est qu'il y a un problème de conception de cette méthode de recherche. En voici donc l'analyse:
En principe, une page affiche la liste des offres avec un lien pour chaque offre pour en afficher le détail. Pour ce faire, le lien envoi vers une page PHP qui doit chercher l'offre sélectionnée par le critère associé au lien et passé dans $_GET. Pour que le programme php de recherche puisse réussir sa requête SELECT/WHERE et trouver le détail de l'enregistrement ciblé, il faut que le critère envoyé par le lien soit un champ de la table interrogée et soit un critère unique comme un identifiant qui identifie un enregistrement de la table. Bon moi je ne connais pas vraiment la structure de la table interrogée mais je donnerai un exemple simple :
Soit la table suivante déjà créé et remplie: client(id clé primaire, nom, prénom, adresse, tél, ...)
Supposons qu'on a affiché les clients par nom dans une liste avec un lien "Détail" pour afficher les autres données d'un client sélectionné. Cette liste peut être comme suit (au format html pour simplifier l'exemple):
<p>
9 LEGRAND <a href="afficherDetailClient.php?id=9">Lire de détail</a><br />
10 LEDUC <a href="afficherDetailClient.php?id=10">Lire de détail</a><br />
11 REQUIN <a href="afficherDetailClient.php?id=11">Lire de détail</a><br />
12 LEROY <a href="afficherDetailClient.php?id=12">Lire de détail</a><br />
</p>
Le programme PHP qui est appelé par les liens hypertexte est "afficherDetailClient.php" et il reçoit le paramètre $_GET['id'] qui représente le critère à rechercher dans la table client pour trouver les infos supplémentaires du client ciblé.
La requête SQL qui fait cette recherche dans le programme afficherDetailClient.php est la suivante :
$sql = "SELECT * FROM client WHERE id = " . $_GET['id'];
Si on suit le lien du client "LEGRAND" l'id transmis au programme sera 9, la requête SQL trouvera donc l'enregistrement correspondant à l'id=9 dans la table client.
Voilà pour ce point. Pour le problème des [éèêë] moi, je n'ai pas de problèmes. Essaye d'exécuter le programme de test suivant pour en être sûr :
<?php
// fonction de conversion utilisée pour transformer des caractères indésirables
function conversionCar($intitulé){
// Tableau de conversion : la première chaine des array peut être enrichi dans le temps
$conversion = array(
array('[,?;.:/!&~’"\#\\\'}{)(\]\[+*=§%µ$£€¤¨`\<>]', ''), // tous les caractères spéciaux sont effacés
// Remplacement des caractères accentués
array('[éèêë]', 'e'),
array('à', 'a'),
array("ç", 'c'),
array('ù', 'u'),
// Attention: les règles suivantes sont enchainées et doivent rester les dernières
array('(-)', ' '), // un tiret => un seul espace
array('(\s+)', ' '), // plusieurs espace => un seul espace
array('\s', '_') // un espace => un souligné _
);
foreach($conversion as $regle){
list($car_indesirable, $car_valide) = $regle;
$intitulé = preg_replace('#'.$car_indesirable.'#', $car_valide, trim($intitulé));
}
return strtolower(trim($intitulé)); // en minuscule
}
//
echo conversionCar("éèêë");
?>
Si le problème persiste, c'est que le codage de caractères dans ton fichier texte n'est pas standard.
A+