PB écriture données dans fichier texte

Résolu/Fermé
liadea Messages postés 127 Date d'inscription vendredi 19 février 2010 Statut Membre Dernière intervention 30 juin 2010 - 12 mars 2010 à 16:48
liadea Messages postés 127 Date d'inscription vendredi 19 février 2010 Statut Membre Dernière intervention 30 juin 2010 - 15 mars 2010 à 10:42
Bonjour,
Je me permets encore une fois de faire appel à vous car je n'ai vraiment aucune de comment faire.
Voila je m'explique, je souhaiterai récupérer toutes les adresses IP d'une entite.
Une seule entite peut avoir plusieurs adresses IP.
Je souhaiterai récupérer une seule fois l'entite et toutes les adresses IP associées à celle ci .

<CODE> :

- SELECT DISTINCT pour l'entite

$req1 = "SELECT DISTINCT EmailENTITE,ENTITE FROM ua
JOIN notifications ON ua.AdresseIP=notifications.AdresseIP
WHERE notifications.ETAT='Hors Ligne' AND notifications.DateUA='$today'";

$res1 = mysql_query($req1) or die('Erreur SQL !<br />' . $req1 . '<br />' . mysql_error());


//Récuperation des résultats
while ($rowTitle= mysql_fetch_array($res1)){
$mailentTitle = $rowTitle['EmailENTITE'];
$entiteTitle = $rowTitle['ENTITE'];


$fp = fopen("$entiteTitle.txt","a");



SELECT de toutes les autres informations dont j'ai besoin dans mon fichier dont l'adresse IP

$req2 = "SELECT ua.NomNetbios,ua.SourceMAJ,ua.AdresseIP,ua.SITE,notifications.DateUA,notifications.ETAT FROM ua
JOIN notifications
ON ua.AdresseIP = notifications.AdresseIP
AND notifications.ETAT='Hors Ligne' AND notifications.DateUA='$today'
WHERE ENTITE='$entiteTitle'
AND EmailENTITE='$mailentTitle'";

$res2 = mysql_query($req2) or die('Erreur SQL !<br />' . $req2 . '<br />' . mysql_error());


//Récuperation des résultats
while ($row = mysql_fetch_array($res2)){
$netbios= $row['NomNetbios'];
$source = $row['SourceMAJ'];
$ip = $row['AdresseIP'];
$site = $row['SITE'];
$date = $row['DateUA'];
$eta = $row['ETAT'];

}

$hl = "Hors Ligne";
$etat=STR_REPLACE("1","$hl","$eta");


$dateFr = strftime("%d/%m/%Y", strtotime($date));

Ecriture du fichier :
fwrite($fp, "\nNOM NETBIOS : $netbios");
fwrite($fp, "\nSOURCE : $source");
fwrite($fp, "\nADRESSE IP : $ip");
fwrite($fp, "\nMAIL ENTITE : $mailentTitle");
fwrite($fp, "\nENTITE : $entiteTitle");
fwrite($fp, "\nSITE : $site");
fwrite($fp, "\nDATEUA : $dateFr");
fwrite($fp, "\nETAT : $etat");

fclose($fp);

Met dans ce système la je récupère bien mes distinct ENTITE mais qu'une seule adresse IP correspondante alors que je devrais en avoir plusieurs .
A voir également:

6 réponses

liadea Messages postés 127 Date d'inscription vendredi 19 février 2010 Statut Membre Dernière intervention 30 juin 2010
12 mars 2010 à 17:09
Merci par avance pour vos retour !

PS désolé pour la grosse faute : MAIS dans ce système !!!
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
12 mars 2010 à 17:54
Si tu mets DISTINCT sur un champ c'est normal que tu ne récupéres qu'une seule fois les valeurs identiques de ce champ, enlèves DISTINCT de ta requette
0
liadea Messages postés 127 Date d'inscription vendredi 19 février 2010 Statut Membre Dernière intervention 30 juin 2010
15 mars 2010 à 08:06
Je suis obligée car je peux avoir plusieurs fois la même Entité donc avec le même Email mais des Adresse IP différentes et je voudrais envoyer un seul mail de la même Entité mais avec par exemple les 3 Adresse IP dans le même fichier
0
Alain_42 Messages postés 5361 Date d'inscription dimanche 3 février 2008 Statut Membre Dernière intervention 13 février 2017 894
15 mars 2010 à 08:52
Une solution:

tu fais une première requette avec DISTINCT comme ça tu n'auras qu'une seule fois chaque entité (tu stockes dans un array par exemple) et tu fais par une boucle sur cet array, pour chacune de ces entités une autre requette avec comme condition WHERE entite=$entite

comme cela tu récupèrera bien tes adresses IP correspondantes à chaque entité
0
liadea Messages postés 127 Date d'inscription vendredi 19 février 2010 Statut Membre Dernière intervention 30 juin 2010
15 mars 2010 à 10:29
c'est ce que j'essaie de faire depuis vendredi dernier impossible d'avoir le résultat que je souhaite.
Serait il possible que tu me donne un peu plus de détails parce que là j'ai plus d'idée ?
Merci d'avance.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
liadea Messages postés 127 Date d'inscription vendredi 19 février 2010 Statut Membre Dernière intervention 30 juin 2010
15 mars 2010 à 10:15
Merci .
J'ai fais pleins d'essais depuis vendredi impossible d'avoir le résultat que je souhaite .
Serait il possible que tu détail un peu plus ta solution parce que j'ai plus d'idées?
Merci d'avance
0
liadea Messages postés 127 Date d'inscription vendredi 19 février 2010 Statut Membre Dernière intervention 30 juin 2010
15 mars 2010 à 10:42
en fait c'est bon !
Merci pour ton aide !

Bonne journée
0