Azmo31
Messages postés6Date d'inscriptionmercredi 26 mars 2008StatutMembreDernière intervention25 décembre 2009
-
24 déc. 2009 à 13:59
hornet_bzz
Messages postés17Date d'inscriptionsamedi 16 décembre 2006StatutMembreDernière intervention26 décembre 2009
-
26 déc. 2009 à 05:52
Bonjour,
Je suis totalement dans l'impasse. J'essaye de faire un script qui me renvoi la somme de certaines valeurs contenues dans ma bdd. Les requêtes ont étés testées en directe, elles sont bonnes. Le script de connexion qui est appelé est bon également il fonctionne sur d'autres scripts. A l'exécution il n'y a pas de retour d'erreur. Le souci c'est que je n'obtiens aucun affichage de résultats sur ma page
Bon je sais que mon code est loin d'être optimisé mais bon je débute.
Mon code est relativement imbuvable, mais si vous pouviez jeter un œil, ça serait super sympa ;)
<h>Procédure :
</h>
- Entrez la date (au format AAAA-MM)
<form method="POST">
<?php
include("connect.php");
//------Connexion------
$connect_db = connect();
// on crée la requête SQL
$sql01= 'SELECT SUM(`AcctSessionTime`) AS somme FROM `radacct` WHERE left(`AcctStopTime`,7)="0000-00" and (left(`FramedIPAddress`,9)="IP" or left(`FramedIPAddress`,9)="IP" or left(`FramedIPAddress`,9)="IP" or left(`FramedIPAddress`,9)="IP")';
$sql02 = 'SELECT SUM(`AcctSessionTime`) AS somme FROM `radacct` WHERE left(`AcctStartTime`,7)="0000-00" and (left(`FramedIPAddress`,9)="IP")';
$sql03 = 'SELECT SUM(`AcctSessionTime`) AS somme FROM `radacct` WHERE left(`AcctStartTime`,7)="0000-00" and (left(`FramedIPAddress`,8)="IP" or left(`FramedIPAddress`,8)="IP")';
//Total
$sql04 = 'SELECT SUM(`AcctSessionTime`) AS somme FROM `radacct` WHERE left(`AcctStartTime`,7)="0000-00"';
// on envoie la requête
$req01 = mysql_query($sql01) or die('Erreur SQL !
'.$sql01.'
'.mysql_error());
$result01=mysql_fetch_array($req01);
$req02 = mysql_query($sql02) or die('Erreur SQL !
'.$sql02.'
'.mysql_error());
$result02=mysql_fetch_array($req02);
$req03 = mysql_query($sql03) or die('Erreur SQL !
'.$sql03.'
'.mysql_error());
$result03=mysql_fetch_array($req03);
$req04 = mysql_query($sql04) or die('Erreur SQL !
'.$sql15.'
'.mysql_error());
$result04=mysql_fetch_array($req04);
// on ferme la connexion à mysql
mysql_close();
?>
*Le total prend en compte les sites temoins, non affichés ci-dessous
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 25 déc. 2009 à 11:38
Salut,
Sans chercher bien loin :
$sql01= 'SELECT SUM(`AcctSessionTime`) AS somme FROM `radacct` WHERE left(`AcctStopTime`,7)="0000-00" and (left(`FramedIPAddress`,9)="IP" or left(`FramedIPAddress`,9)="IP" or left(`FramedIPAddress`,9)="IP" or left(`FramedIPAddress`,9)="IP")';
Pourquoi répéter left(`FramedIPAddress`,9)="IP" ??
De plus cela te renverra toujours false si la valeur de FramedIPAddress est différente de 'IP'
Si cette dernière est égale à 'IP' le left ne sert à rien.
Azmo31
Messages postés6Date d'inscriptionmercredi 26 mars 2008StatutMembreDernière intervention25 décembre 2009 25 déc. 2009 à 15:53
Oui c'est vrai que je n'ai pas pensé a préciser, mais dans le code original, a la place de "IP" il y a des adresses ip, que je ne suis pas autoriser a fournir sur un forum.
La longueur des ip correspond bien aus vauleurs de FramedIPAdress.
hornet_bzz
Messages postés17Date d'inscriptionsamedi 16 décembre 2006StatutMembreDernière intervention26 décembre 2009 26 déc. 2009 à 05:48
Hornet bzz
Hummm, pas si sûr que toi que tu aies bien testé tes requetes mais comme on n'a pas ni la dB ni le format de tes IP :
=> Vérifies p-ê tes formats d'adresse IP et ce que tu as effectivement dans la dB.
=> Découpes ton problème en morceaux pour trouver les failles. (réduit le nombre de conditions dans ta requete, commences avec une seule puis tu ajoutes les autres après chaque test)