Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
6450 connectés 

 


Dernière réponse
Sujet : [PHP] Générer une condition if
ethernal si je me souviens bien tu fais un unset($tab[x]);

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
ethernal si je me souviens bien tu fais un unset($tab[x]);
Toto21 ok merci...
sinon une autre question...
est-ce qu'il est possible de SUPPRIMER d'un array une entrée qui remplirait une condition? Quelle commande?
ethernal

toto21 a écrit a écrit :

 
Ca d'accord, mais je ne voit pas du tout où est-ce que tu exclue ls mots auquel je fais surtout allusion (une, est, des, donc...)




 
là :  
 

Code :
  1. if(strlen($tab[$i]>2){
  2.       $query.= " OR mot='". $tab[$i] . "'";
  3.    }


 
c'est la condition qui dit s'il faut prendre en compte le mot tapé par l'utilisateur ou pas.
tu peux la changer en  
if ( !preg_match($array_des_mots_a_exclure, $tab[$i] && strlen($tab[i])>2 ){

zion eval() ca te va  :??:  
http://www.php.net/manual/en/function.eval.php
Toto21 :??:
Toto21

ethernal a écrit a écrit :

tu cherches à compliquer il me semble...
 

Code :
  1. $tab= explode(' ',$var);
  2. if (count($tab>0)){
  3.   $query="select ... from ... WHERE mot='". $tab[0] ."'";
  4.   for ($i=1, $max= count($tab); $i<$max; $i++){
  5.     if(strlen($tab[$i]>2){
  6.        $query.= " OR mot='". $tab[$i] . "'";
  7.     }
  8.   }
  9.   $res= mysql_query($query,$conexion);
  10. }
  11. else{
  12.   echo "mots incorrects";
  13. }






Ca d'accord, mais je ne voit pas du tout où est-ce que tu exclue ls mots auquel je fais surtout allusion (une, est, des, donc...)

hum hum

toto21 a écrit a écrit :

Alors je veux préciser ce que je veux faire...
J'ai un champ de saisie, dans lequel je tape une recherche...
J'éxecute ma recherche sur une base de données, mais avant ça, je voudrais exclure tout les mots infèrieurs à 2 lettres ainsi que tous les mots que j'aurais défini dans mon array (et que je pourrais donc modifier facilement). Ces mots sont des mots du genre "une", "est", "des", "donc"...
C'est pour ça que je fais une instruction if !() que je voudrais générer en fonction de mon array... Une idée??????
D'autres propositions?




 
Je te conseilles de faire ça directement dans ta requete sql.
Pour les mots de 2 lettres max utilises les expressions régulières (REGEXP pour MySQL), pour la liste de mots utilises NOT LIKE, tu construit ta requete en parcourant ton array. Tous les 2 commes conditions dans ta requete.
 
Voilà la direction à prendre que je te conseilles.
Si tu utilises MySQL: http://dev.nexen.net/docs/mysql/an [...] tching.php
 
Edit: Bah, e m'emmeles un put les pinceaux avec REGEXP et NOT LIKE... Utilises REGEXP pour le minimum de 2 caractères et ensuite mot!='...' comme l'a précisé ethernal au dessus.. Fais un petit mélange de nos 2 réponses, il semblerais que ethernal t'ai donné la solution pour trouver les mots contenu dans ton array, et que tu veux le contraire

ethernal tu cherches à compliquer il me semble...
 

Code :
  1. $tab= explode(' ',$var);
  2. if (count($tab>0)){
  3.   $query="select ... from ... WHERE mot='". $tab[0] ."'";
  4.   for ($i=1, $max= count($tab); $i<$max; $i++){
  5.     if(strlen($tab[$i]>2){
  6.        $query.= " OR mot='". $tab[$i] . "'";
  7.     }
  8.   }
  9.   $res= mysql_query($query,$conexion);
  10. }
  11. else{
  12.   echo "mots incorrects";
  13. }

Toto21 Alors je veux préciser ce que je veux faire...
J'ai un champ de saisie, dans lequel je tape une recherche...
J'éxecute ma recherche sur une base de données, mais avant ça, je voudrais exclure tout les mots infèrieurs à 2 lettres ainsi que tous les mots que j'aurais défini dans mon array (et que je pourrais donc modifier facilement). Ces mots sont des mots du genre "une", "est", "des", "donc"...
C'est pour ça que je fais une instruction if !() que je voudrais générer en fonction de mon array... Une idée??????
D'autres propositions?
Toto21 Cherchez po à savoir pourquoi je fais ça...
Je voudrais juste savoir comment faire un truc du genre :
if(xxxx)
 
et faire en sorte qu'à la place de xxx j'ai le contenu d'une variable $var par exemple...
C'est si compliqué que ça?
Merci!
goueg :non:
[:tapai]
 
http://forum.hardware.fr/forum2.ph [...] h=&subcat=
LetoII

toto21 a écrit a écrit :

J'arrive po!!!
J'arrive à me demerder pour qu'à partir d'un array, j'obtienne
une variable avec  
$cond = "OR mot = "variable array" OR mot = "variable arrey 2"...";
 
mais je voudrais après faire une condition avec  
 
if (!(xxxxxxxxxxx))
en ayant les xxxx remplacés par le contenu de $ cond...
J'y arrive po!  :cry:  




 
 
 :heink:  
Moi je pige pas

veryfree

toto21 a écrit a écrit :

J'arrive po!!!
J'arrive à me demerder pour qu'à partir d'un array, j'obtienne
une variable avec  
$cond = "OR mot = "variable array" OR mot = "variable arrey 2"...";
 
mais je voudrais après faire une condition avec  
 
if (!(xxxxxxxxxxx))
en ayant les xxxx remplacés par le contenu de $ cond...
J'y arrive po!  :cry:  




 
si j ai bien compris que ce que tu ve faire
laisse moi te dire que c pas une bonne idée de + ca doit etre vachement chiant a maintenir...
 
de + une question bien posé est une question qui obtiens des reponses

Toto21 J'arrive po!!!
J'arrive à me demerder pour qu'à partir d'un array, j'obtienne
une variable avec  
$cond = "OR mot = "variable array" OR mot = "variable arrey 2"...";
 
mais je voudrais après faire une condition avec  
 
if (!(xxxxxxxxxxx))
en ayant les xxxx remplacés par le contenu de $ cond...
J'y arrive po!  :cry:

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)