Auteur Sujet: Recherche Dans Une Ligne De Tableau...  (Lu 5529 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne sayoc

  • Débutant
  • *
  • Messages: 40
Recherche Dans Une Ligne De Tableau...
« Réponse #30 le: 07 juillet 2004 à 20:11:47 »
Oui effectivement ca serait intéréssant, c'est d'ailleur prévu par le cahier des charge, et également la possibilité d'obliger l'utilisateur à taper un minimum de caractère (par exemple 3) pour que la recherche ne s'étendent pas trop...

Mais je ne me suis pas encore penché sur le problème...

Hors ligne Ice

  • VIP
  • *****
  • Messages: 2 403
    • ATFX
Recherche Dans Une Ligne De Tableau...
« Réponse #31 le: 07 juillet 2004 à 20:17:18 »
Pour rechercher sur les mots :

if(isset($_POST['VALIDER'])){


 $rechercher = $_POST['RECHERCHER'];
$rechercher = strtolower($rechercher);
$mots = str_replace('+', ' ', trim($rechercher));
$mots = str_replace('\'', ' ', $mots);
$mots = str_replace(',', ' ', $mots);
$mots = str_replace(':', ' ', $mots);
$tab = explode(' ' , $mots);
$nb = count($tab);

 //$requete = "SELECT  NomCarteVO FROM Produit";
 //$NomVO = mysql_query($requete) or die ("recherche impossible" . mysql_error());
$sql = "SELECT TypeJeu, ExtensionVO, ExtensionVF, NomCarteVO, NomCarteVF,
   Carac1, Carac2, FrequenceExtension, TexteCarteVO, TexteCarteVF FROM Produit WHERE
   NomCarteVO LIKE '%".$tab[0]."%' ";
for($j = 1; $j < $nb; $j++)
{
$sql .= "OR NomCarteVO like '%".$tab[$j]."%' ";
}


echo $sql;
 $carte = mysql_query($sql) or die ("Selection impossible" . mysql_error());
$nb_result = mysql_num_rows($carte);
for ($i=0;$i<$nb_result;$i++)
{
echo mysql_result($carte,$i,'TypeJeu');
echo mysql_result($carte,$i,'ExtensionVO');
echo mysql_result($carte,$i,'ExtensionVF');
echo mysql_result($carte,$i,'NomCarteVO');
echo mysql_result($carte,$i,'NomCarteVF');
echo mysql_result($carte,$i,'Carac1');
echo mysql_result($carte,$i,'Carac2');
echo mysql_result($carte,$i,'FrequenceExtension');
echo mysql_result($carte,$i,'TexteCarteVO');
echo mysql_result($carte,$i,'TexteCarteVF');
}
mysql_free_result($carte);


}
« Modifié: 07 juillet 2004 à 20:17:36 par Ice »

Hors ligne sayoc

  • Débutant
  • *
  • Messages: 40
Recherche Dans Une Ligne De Tableau...
« Réponse #32 le: 07 juillet 2004 à 20:19:02 »
C'est super cool ;)

J'essai de suite  B)  

Hors ligne sayoc

  • Débutant
  • *
  • Messages: 40
Recherche Dans Une Ligne De Tableau...
« Réponse #33 le: 07 juillet 2004 à 20:21:57 »
Peux tu m'expliqué  str_replace ?

Hors ligne Ice

  • VIP
  • *****
  • Messages: 2 403
    • ATFX
Recherche Dans Une Ligne De Tableau...
« Réponse #34 le: 07 juillet 2004 à 20:23:17 »
par exemple :
$mots = str_replace(':', ' ', $mots);

remplace ":" par " " (espace) dans $mots

Hors ligne sayoc

  • Débutant
  • *
  • Messages: 40
Recherche Dans Une Ligne De Tableau...
« Réponse #35 le: 07 juillet 2004 à 20:26:18 »
Ah ok.. c'est génial ca :)
je test, je test... ^^

Hors ligne sayoc

  • Débutant
  • *
  • Messages: 40
Recherche Dans Une Ligne De Tableau...
« Réponse #36 le: 07 juillet 2004 à 20:29:52 »
Et quelle fonction utiliser pour par exemple, si l'utilisateur tape "av" que le moteur de recherche trouve tout les mot commencant par "av", mais pas ceux comportant "av" dans leur chaine de caractères au mileu par exmple...?

Hors ligne Ice

  • VIP
  • *****
  • Messages: 2 403
    • ATFX
Recherche Dans Une Ligne De Tableau...
« Réponse #37 le: 07 juillet 2004 à 20:36:16 »
Faut utiliser les expressions régulières ... Mais là, c'est hors de mes compétences immédiates :)

Hors ligne sayoc

  • Débutant
  • *
  • Messages: 40
Recherche Dans Une Ligne De Tableau...
« Réponse #38 le: 07 juillet 2004 à 20:44:37 »
ok... en tout cas je te remercis grandement pour ton aide, en espérant qu'un jour prochain je serais capable de te rendre la pareil... ;)

Hors ligne Ice

  • VIP
  • *****
  • Messages: 2 403
    • ATFX
Recherche Dans Une Ligne De Tableau...
« Réponse #39 le: 07 juillet 2004 à 20:45:21 »
De rien :)

Hors ligne sayoc

  • Débutant
  • *
  • Messages: 40
Recherche Dans Une Ligne De Tableau...
« Réponse #40 le: 07 juillet 2004 à 21:11:02 »
Dernière chose si tu es encore là...

Je ne comprend pas bien la fonction "explode"... j'ai pourtant regardé sur nexen, mais c'est pas très clair...

Hors ligne Ice

  • VIP
  • *****
  • Messages: 2 403
    • ATFX
Recherche Dans Une Ligne De Tableau...
« Réponse #41 le: 07 juillet 2004 à 22:46:28 »
Explode sépare les éléments  par rapport au caractère donné en les stockant dans un tableau.
si $mots= "un deux trois quatre"
alors $tab = explode(' ' , $mots);
va donner :
$tab[0] = "un";
$tab[1] = "deux";
$tab[2] = "trois";
$tab[3] = "quatre";

si on a : $mots = "un deux-trois quatre"
alors $tab = explode('-',$mots);
va donner :
$tab[0] = "un deux";
$tab[1] = "trois quatre";
« Modifié: 07 juillet 2004 à 22:46:54 par Ice »

Hors ligne rbonnefoi

  • Débutant
  • *
  • Messages: 22
Recherche Dans Une Ligne De Tableau...
« Réponse #42 le: 08 juillet 2004 à 01:17:56 »
Salut,

Pour les expressions regulieres, tu peux aller voir ici et aussi pour les fonctions PHP associees sur le manuel php.

Je pense que ca vaut le coup de se pencher un peu la-dessus, parce que c'est vraiment tres puissant (et ca sert aussi pas mal sur la securite, pour verifier par exemple la validite de certaines variables qui interviennent dans des commandes sensibles. Exemple l'upload de fichiers a partir d'une interface html : on utilise les expressions regulieres pour verifier que le fichier est bien celui qu'on attend, notamment en regardant l'extension).

Voila.

Hors ligne Portekoi

  • Connaisseur
  • ***
  • Messages: 368
    • http://www.passion-cinquieme.com
Recherche Dans Une Ligne De Tableau...
« Réponse #43 le: 08 juillet 2004 à 09:00:20 »
Lu,

Savoc, je te conseille vivement de commencer par le commencement :

http://www.phpdebutant.org/

Un site très bien fait.

++

Portekoi

Hors ligne sayoc

  • Débutant
  • *
  • Messages: 40
Recherche Dans Une Ligne De Tableau...
« Réponse #44 le: 08 juillet 2004 à 11:02:13 »
Merci bien les gars, je vais allé voir tout ca...