Vous n'êtes pas identifié(e).
Pages :: 1
bonjour,
j'avais posté un message qui avait eu satisfaction concernant la création d'une base pour gérer des baby sitter.
j'ai donc une table avec comme colonne id_dispo | id_baby | vac (qui prends 1 ou 0 si vacances scolaires ou pas | jour (qui peut prendre la valeur 1 2 3 ou 4 en fonction du jour de la semaine) | journee (qui prend 0 ou 1 ) | soir (qui prend 0 ou 1)
si je ressort en concaténation de ma table $vac.$jour.$journee.$soir
j'ai un truc du style 1010
j'ai au niveau de ma requete, des cases à cocher tabulaires qui me ramene aussi des truc du genre 1010 en faisant
[code php] foreach ($dispo as $valeur)
{
echo $valeur;
} [/code]
par contre, lorsque je lie les deux, j'ai autant de fois de résultats que de case cochées
[code php]
foreach ($dispo as $valeur)
{
$datedispo[] = $valeur;
}
$sql_dispo = "SELECT distinct(baby_sitter.nom) AS nom,dispo.vac AS vac,dispo.jour AS jour,dispo.journee AS journee,dispo.soir AS soir FROM dispo INNER JOIN baby_sitter WHERE dispo.id_baby = baby_sitter.id_baby";
$req_dispo = mysql_query($sql_dispo) or die('Erreur SQL !<br>'.$sql_dispo.'<br>'.mysql_error());
while ($data = mysql_fetch_assoc ($req_dispo))
{
$id_baby = $data['id_baby'];
$vac = $data['vac'];
$jour = $data['jour'];
$journee = $data['journee'];
$soir = $data['soir'];
$disponibilite = $vac.$jour.$journee.$soir;
if (in_array($disponibilite, $datedispo))
{
echo $data[nom].'<br>';
}
[/code]
me ramene,
nom1
nom1
nom1
nom2
nom2
etc....
or, évidemment, je ne veux que nom1 , nom2
Hors ligne
Saluton,
C'est que tu as une mauvaise interprétation de DISTINCT.
Cette option agit sur l'ensemble des colonnes de la ligne de résultat, le n-uplet, et non, comme certains le croient souvent, sur la colonne qui suit DISTINCT dans la clause SELECT de la requête.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
ok. as tu une piste pour poursuivre car je suis bloqué pour n'afficher qu'une seule fois le nom ?
peut être que c'est l'ensemble de la requete qui n'est pas bien pensée, mais j'avoue que, après 2h de prise de tete hier, je ne suis pas plus avancé ce matin et je me sens dans une impasse
merci pour ta réponse
Hors ligne
Saluton,
Avant ta boucle tu initialises un array
Dans ta boucle, au lieu d'afficher les noms retenus, tu les stockes dans un array
En sortie de boucle tu appliques la fonction array_unique() à ce tableau.
Ensuite, tu en fais ce que bon te semble.
Si tu avais sélectionné aussi l'identifiant de la babby-sitter dans la table, tu aurais pu utilisé cet identifiant comme index pour le tableau $retenus, ce qui t'évitais d'utiliser array_unique.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
merci, ça fonctionne. mais l'initialisation avant la boucle semble ne servir à rien
si je mets $retenus[]=$data['nom']; dans la boucle ça marche avec ou sans initialisation auparavant.
Hors ligne
Oui, mais quand on ne veut pas coder comme un goret on déclare ses tableaux avant de leur affecter une valeur.
Si tu mets error_reporting sur E-ALL, tu verras que PHP tousse quand même.
Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy
Hors ligne
d'accord, c'était une question pas une contradiction, je ne me serais pas permis
je n e l'ai pas fais sur les autre, je m'y mets
Hors ligne
Pages :: 1