recupérer tous les telephones d'un tableau suivant condition

Mammouth du PHP | 843 Messages

23 mai 2006, 20:17

salut la compagnie :)

Je cherche à récuperer des numero de telephone dans un tableau.
le but est de ne récuperer que ceux dont le champ comité = 'Y' et de les séparer par "-" pour en faire une chaine :-k

voici comment je procede pour récuperer tous les numeros
// recuperation ordonner des infos de la table
$sql = "SELECT * FROM $table WHERE 1"
$result = mysqlquery($sql);

// recuperation dans un tableau
$string_contact_all = ""; // initialisation de la variable de chaine
while($val1 = mysql_fetch_array($result))
{
$id = $val1['id'];
$nom = $val1['nom'];
$prenom = $val1['prenom'];
$phone = $val1['phone'];
$comite = $val1['comite'];

$string_contact_all .= $phone.'-'; // incrementation de la variable de chaine
}
//on enlève le - en fin de chaine
$contact_all = 'substr("$string_contact_all", 0, -1)';

j'aimerai donc faire la même chose depuis ce tableau mais en ne récuperant que les telephone dont le champ comité du tableau est egal à "Y" :-k

si quelqu'un à une idée :wink:
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Eléphant du PHP | 493 Messages

23 mai 2006, 20:24

SELECT * FROM $table WHERE comite = 'Y'

Mammouth du PHP | 19672 Messages

23 mai 2006, 20:24

<?php
// recuperation ordonner des infos de la table
$sql = "SELECT * FROM ". $table .";";
$result = mysqlquery($sql);

$telephones = array();
while($val1 = mysql_fetch_array($result))
{
    $id     = $val1['id'];
    $nom    = $val1['nom'];
    $prenom = $val1['prenom'];
    $phone  = $val1['phone'];
    $comite = $val1['comite'];
    if($comite == "Y")
    {
        $telephones[] = $phone;
    }
}
$liste_tel = implode("-", $telephones);
?>
Plus simple non ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 843 Messages

23 mai 2006, 20:46

@Vaedan: j'aurai du préciser que c'était pour éviter de surcharger mon code mais merci quand même ;)

@Cyrano:

c'est vrai que c'est plus simple à mon avis :P

vue que je doit faire des récuperation pour le comité ou pour tous les membre, comment puis je faire pour avoir les deux cas en sachant que j'ai une variable $groupe= "tous les membres" ou "juste le comité"

merci d'avance :wink:

au faite, joyeux 13000ème post :D
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Mammouth du PHP | 19672 Messages

23 mai 2006, 21:38

ben crée deux tableaux :roll:
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 843 Messages

23 mai 2006, 22:33

j'ai encore un peu de mal avec les tableaux :oops:

j'ai fait ceci:
<?php

// création de 2 tableau contenant les numeros de téléphone comité et non comité
$phone_comite = array();
$phone_noncomite = array();

// incrémentation de chacun d'eux en parcourant un tableau de la table sql

while($val1 = mysql_fetch_array($result))
{
    $id     = $val1['id'];
    $nom    = $val1['nom'];
    $prenom = $val1['prenom'];
    $phone  = $val1['phone'];
    $comite = $val1['comite'];
    if($comite == "Y")
    {
        $phone_comite[] = $phone;
    }
    else
    {
        $phone_noncomite[] = $phone;
    }
}

// mise en forme des deux chaines avec des - entre chaque numero

$string_comite = implode("-", $phone_comite);
$string_noncomite = implode("-", $phone_noncomite);
?>
ainsi, il ne me reste plus qu'à ajouter les deux chaine si je veut tout les numero :-k

qu'en pense tu niveau méthodologie :?:
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Mammouth du PHP | 19672 Messages

23 mai 2006, 22:45

Ben voilà, c'était pas tellement compliqué ;)
il te reste effectivement pour la totale à faire un truc du genre :
$liste_complete = $string_comite ."-". $string_noncomite;
Enfin c'est un exemple.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 843 Messages

23 mai 2006, 22:57

encore merci cyrano :wink:

au fait une dernière petite question avant de finir:

pourquoi mettre un ";" à la fin de la requete sql plutot que "WHERE 1" :-k
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non:

Mammouth du PHP | 19672 Messages

24 mai 2006, 07:32

Le WHERE 1 est ajouté par phpMyAdmin et la raison profonde m'a toujours un peu échappé, je n'utilise jamais cette clause comme ça.

Le ";" est facultatif, mais c'est devenu une habitude, si tu testes tes requêtes en ligne de commande, oublier ce ";" aura pour conséquence que la requête ne sera pas exécutée, le client attendant la suite de la requête. C'est donc un signe indiquant la fin de l'instruction.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 843 Messages

24 mai 2006, 18:22

ok :wink:

Encore merci à toi Cyrano :D

je met resolu.
:: contactez moi par MP ::
:non: NON au language SMS sur les forums :non: