Chaine en array

Résolu
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 6 janv. 2007 à 12:09
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 6 janv. 2007 à 13:48
Bonjour a tous!
Voilà j'ai un petit soucis en fait ^^
J'ai fait un parser de requete SQL "spécialisé" et maintenant que je veux l'utiliser ca ne marche pas ^^
En fait il marchait avant de cette manière:

$sDependency="nom_batiment='Puit de vie' AND id_batiment=1 AND lvl_batiment_acces>5";
$sDependency2="nom_recherche='Bois' AND id_recherche=1 AND lvl_recherche_acces>5";
$sDependency3="nom_batiment='Arbre de vie' AND id_batiment=1 AND lvl_batiment_acces>3";

$aDepedency2Parse=array($sDependency,$sDependency2,$sDependency3);

dependency_parser($aDepedency2Parse);

Mais a présent je recupere les chaines de la BDD a savoir par exemple :

$sDependency="nom_batiment='Puit de vie' AND id_batiment=1 AND lvl_batiment_acces>5,nom_batiment='Arbre de vie' AND id_batiment=1 AND lvl_batiment_acces>3";

je pensais faire un array directement en faisant :
$aDependency=array($sDependency);
Mais evidement ca ne passe pas ^^

Alors ma question c'est comment fait on pour que d une chaine on en fasse un array quand on a un separateur entre 2 cases (représenté dans la chaine par une virgule)

--------------------------------------------------------------------------------------------------
         Il vaut mieux poser une question et passer pour bête que le rester toute sa vie

4 réponses

malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
6 janv. 2007 à 13:42
Hello Alex, suis pas sûr d'avoir tout compris, mais...heu...explode ()...?
3
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
6 janv. 2007 à 12:47
ah j'ai trouvé une solution je crois!
je cherche les virgules et a chaque fois que j en trouve une, j ajoute une case avec son contenuen enlevant l offset si besoin...
ah le traitement de chaine ...

--------------------------------------------------------------------------------------------------
         Ilvaut mieux poser une question et passer pour bête que le rester toutesa vie
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
6 janv. 2007 à 13:44
ah oui c'est quand meme mieux que ma boucle qui change ^^
voila ce que j avais fait et bien sachez que c'est ... LA MAUVAISE SOLUTION quand on a un delimiteur fixe ^^
/*Ceci est un exemple berk berk qu'il ne faut pas reproduire*/

function Coma_Parser($sBuildConditionBuild){
    for($iCaractere=0;$iCaractere<=strlen($sBuildConditionBuild);$iCaractere++){
        if(substr($sBuildConditionBuild,$iCaractere,1)==','){
              echo $iCaractere;
            $aRequest[]=substr($sBuildConditionBuild,0,$iCaractere);
            $sBuildConditionBuild=substr($sBuildConditionBuild,$iCaractere);               
        }
    }
    return $aRequest;
}
--------------------------------------------------------------------------------------------------
         Ilvaut mieux poser une question et passer pour bête que le rester toutesa vie
0
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
6 janv. 2007 à 13:48
Merci à malalam ^^
euh pour comprendre en fait il faudrait que je t envoie la source complete ^^
En fait je fait un jeu de gestion en php et c'est pour gerer les dependances que je fais ceci... si tu veux voir tout ce que j'ai fait dis le moi je te fais une version light pour te l envoyer par mail!
Ceci dit je ne dit pas que le code est super optimisé mais il a 2 enormes avantages:
-validité xhtml ou presque (jy travaille)
-ajax (et oui c'est propre :p)
--------------------------------------------------------------------------------------------------
         Ilvaut mieux poser une question et passer pour bête que le rester toutesa vie
0
Rejoignez-nous