Remplacement d'une chaîne de caractères...

Signaler
Messages postés
6
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
19 avril 2004
-
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
-
Bonjour à tous,

Je suis actuellement en train de créer un site pour une maison d'éditions et je me trouve confronté à un petit problème. :)
Normal me direz vous autrement je ne posterais pas de uestion. :)
D'abord les données techniques :
Le site est développé en ASP et interfacé avec une base ACCESS.

Voici ce que je voudrais résussir à faire.
Lors de l'affichage d'une page fiche de livre, tous les éléments (titre, auteur, format, resume, image, desciptif complet...) sont récupérés dans la base et affichés dans la page. Jusque là, rien de bien méchant même pour une bille en ASP comme moi.

Seulement, nous avons créé un lexique de termes techniques, et je voudrais que toutes les occurences de terme technique que l'on retrouve dans la table lexique de la base soient détectées lors de l'affichage du descriptif du livre et que s'insère en auto un href, récupérant la valeur du mot sur le mot concerné, envoyant vers la page lexique.

Et là, c'est hors de mes compétences. :D
j'ai bien réussi à bidouiller des morceaux de codes pour detecter et remplacer une chaine de caracteres dans la base, mais je vois pas comment tester si un element present dans le texte de la page est egalement present dans ma table lexique.

Voili, voila, si c'est pas assez clair, je veux bien fournir d'autrs renseignements.

Merci d'avance pour vos avis éclairés.

10 réponses

Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
si j'ai bien compris, tu as une bdd avec des données, et tu veux afficher ces données sur une page, mais tu veux que si ces données comporte un certains mot elle se change ?
si c'est ca c'est pas compliqué :) :

chainebdd = replace(chainebdd,ChaineRecherche,"" & ChaineRecherche & "")

J'espere avoir été clair

@+

Cyril (Alias Jesusonline)
Messages postés
6
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
19 avril 2004

Lol! concis et rapide. ^^

En fait plus clairement :

j'affiche donc une page produit :
Actuellement je recupere mes donnees comme ça :

Auteur
Titre
Sous titre
Description

tout ça est récupéré via une requette classique vers ma bdd dans la table produits.

J'ai également une table lexique structurée comme ça :
ID, Nom_terme, descr_terme (le descr on s'en fout, c'est juste pour précision. :)

Ce que je voudrais en fait, c'est que sachant que le Titre, le sous titre et la description du produit peuvent contenir un terme qu'on retrouve dans la Table "Lexique", creer une requette qui teste le contenu affiché et remplace les occurences que l'on retrouve dans la table Lexique par une Url.

voili, voila.
Si ce que tu m'a donné m'aide, je te de mande juste si possible de m'expliquer comment ça marche. ^^
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Je suis pas tres fort en base de données, donc je comprend pas tout :-p mais je pense que le code que je t'ai donné fonctionne :)

dim ResultatRequete as string
dim ResultatFinal as string
dim ContenuLexique as string

ResultatFinal(ResultatRequete,ContenuLexique ,"[ " & ContenuLexique & "]")

exemple :

dim ResultatRequete as string = "Bonjour je m'appelle Cyril"
dim ResultatFinal as string
dim ContenuLexique as string ="Cyril"

ResultatFinal(ResultatRequete,ContenuLexique ,"[ " & ContenuLexique & "]")

Resultat final aura la valeur : "Bonjour je m'appelle [www.beaujolaisdurand.com Cyril]"

Je sais pas si ca pourras t'etre utile.

si toncontenu lexique est une phrase et que tu recherches chaque occurence du mot :

for each s as string in split(ContenuLexique," ")
dim ResultatRequete as string
dim ResultatFinal as string

ResultatFinal(ResultatRequete,s,"[ " & s & "]")

next

tu dois bien sur faire ca pour le titre le sous titre la description

j'espere avoir été utile :)

@+

Cyril (Alias Jesusonline)
Messages postés
6
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
19 avril 2004

Toute connaissance est bonne à prendre. :)

bon, on va voir si mes maigres connaissances en ASP vont m'aider.

Je reprend don code :

dim ResultatRequete as string = "La j'insere contenu voulut (ex : la descr)"
dim ResultatFinal as string
dim ContenuLexique as string ="La j'insere le resultat de la recherche dans la table "Lexique" colonne Nom_terme "

ResultatFinal(ResultatRequete,ContenuLexique ,"[ " & ContenuLexique & "]")

Pif pouf un petit response.write ensuite.
En amont je cree un recorset et une req SQL de recup des donnees dans la Table lexique en sus de ma req initiale.

J'ai bien compris? ;)
/me prépare sa corde.
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
ouais je crois que t'as bien compris :-p

normalement c bon, j'espere que le resultat le sera aussi :p

@+

Cyril (Alias Jesusonline)
Messages postés
6
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
19 avril 2004

Des qu j'ai 10 minutes, je test. :D

Merci de ton aide.
Messages postés
6
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
19 avril 2004

Bon, suite à des petits sucis VBscripts, voici ce que ça donne :

<%
Dim ResultatRequete
Dim ContenuLexique
Dim ResultatFinal
ResultatRequete = ("Variable1")
ContenuLexique = ("Variable2")
ResultatFinal=Replace(ResultatRequete,ContenuLexique ,"[ " & ContenuLexique & "]")
response.write ResultatFinal
%>

Ca marche bien pour une variable 2 statique.
Le B pour moi maintenant étant de récupérer les données de ma table lexique.
Je suis dessus, mais je rame. :D
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
Excuse moi pour la synntaxe, j'ai l'habitude de travailler en vb.net donc les variables doivent etre typé ...

Le script est bien mais si dans "Variable2" tu as plusieurs mots il faut que tu fasses une boucle sur tout les mots de ta variable grace à split

@+

Cyril (Alias Jesusonline)
Messages postés
6
Date d'inscription
vendredi 16 avril 2004
Statut
Membre
Dernière intervention
19 avril 2004

Pas de PBs pour la syntaxe, tout marche tranquile. :)

Par contre maintenant, mon PB c'est de récupérer les valeurs de la variable2 pour pouvoir les tester. :D

Si y'a un spé des Reqs vers BDD, je suis preneur aussi. ;)
Messages postés
6814
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
28
dsl mais moi j'ai encore jamais eu l'occasion de travailler avec les bdd :p

Cyril (Alias Jesusonline)