Qqun peut regarder mon code ?

Résolu
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 - 23 mai 2005 à 14:39
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 23 mai 2005 à 18:06
voil¨¤ en fait je cherche a calculer le tps total des appels de clients le probleme c est kil ne me fait que 1 appel par ligne et je comprends pas trop d ou ca vient ...merci a celui qui aura le courage ...il peut manquer des accolades mais j ai essay¨¦ de mettre le principal. Voil¨¤ ...


$idsociete
= $_GET
[ 'combosociete'
];

echo $idsociete
;

echo "&nbsp idsociete"
;

echo "
"
;
//id de societe

//connexion a la bdd sql
$link
= mysql_connect
("localhost"
,"root"
, ""
)

or die
("Impossible de se connecter : "
. mysql_error
());

//selection de la base
$db_selected
= mysql_select_db
( 'cdr'
, $link
);

if
(!$db_selected
)
{
die
('Impossible d\'utiliser la base : '
. mysql_error
());

}
$table
= "client"
;
$query
"SELECT * FROM $table WHERE id $idsociete"
;
//on cherche l id client correspondant
$result
= mysql_query
($query
)
or die
( "Echec de la requ§Üte"
);
//a la soci§Ût§Û

while
($row
= mysql_fetch_array
($result
, MYSQL_ASSOC
))
{
$idclient
= $row
[ "idclient"
];
$id
= $row
["id"
];
$table
= $row
[ "table"
];
$idabonnes
=$row
["abonne"
];
//on recupere l id des abonn§Ûs et des lignes
$idlignes
= $row
[ "ligne"
];
//de la soci§Ût§Û

if($table
== "societe"
){
//on verifie que la soci§Ût§Û soit une soci§Ût§Û

echo $idclient
;echo "&nbsp //idclient"
;echo "
"
;
//on recupere l id client soci§Ût§Û

echo $id
;echo "&nbsp //id"
;echo "
"
;
//id correspondant a une table

echo $table
;echo "&nbsp //table"
;echo "
"
;
//table correspondante

echo $idabonnes
;echo "&nbsp //idabonnes"
;echo "
"
;
//on recupere les id client abonnes

echo $idlignes
;echo "&nbsp //idlignes"
;echo "
"
;
//on recupere les id client lignes

}
$nbabonnes
=substr_count
($idabonnes
,";"
);
//on cherche le nombre d abonne
$abonne
= explode
( ';'
,$idabonnes
);

echo $nbabonnes
;echo "&nbsp //nbabonnes"
;echo "
"
;
//affiche nombre d abonn§Ûs

for($i
=0;$i
<= $nbabonnes
-1;$i
++){

echo $abonne
[$i
];echo "&nbsp //idabonnes $i"
;echo "
"
;

//connexion a la bdd sql
$link
= mysql_connect
("localhost"
,"root"
, ""
)

or die
("Impossible de se connecter : "
. mysql_error
());

//selection de la base
$db_selected
= mysql_select_db
( 'cdr'
, $link
);

if
(!$db_selected
)
{
die
('Impossible d\'utiliser la base : '
. mysql_error
());

}
$table
= "client"
;
$query
"SELECT * FROM $table WHERE id $abonne[$i]"
;
$result
= mysql_query
($query
)
or die
( "Echec de la requ§Üte"
);

while
($row
= mysql_fetch_array
($result
, MYSQL_ASSOC
))
{
$idclient
= $row
[ "idclient"
];
$table
= $row
["table"
];

if($table
"abonne"
){
//si cet idclient correspond a un abonne

echo $idclient
;echo "&nbsp //idclient abonne $abonne[$i]"
;echo "
"
;
//id client de l abonne

//connexion a la bdd sql
$link
= mysql_connect
("localhost"
,"root"
, ""
)

or die
("Impossible de se connecter : "
. mysql_error
());

//selection de la base
$db_selected
= mysql_select_db
( 'cdr'
, $link
);

if
(!$db_selected
)
{
die
('Impossible d\'utiliser la base : '
. mysql_error
());

}
$table
= "client"
;
$query
"SELECT * FROM $table WHERE idclient $idclient"
;
$result
= mysql_query
($query
)
or die
( "Echec de la requ§Üte"
);

while
($row
= mysql_fetch_array
($result
, MYSQL_ASSOC
))
{
$idclient
= $row
[ "idclient"
];
$table
= $row
["table"
];
$idlignes
= $row
[ "ligne"
];

if($table
== "abonne"
){

echo $idlignes
;echo "&nbsp //Lignes"
;echo "
"
;
$nbligne
=substr_count
($idlignes
,";"
);
//on cherche le nombre d abonne
$ligne
= explode
( ';'
,$idlignes
);

echo $nbligne
;echo "&nbsp //nb de lignes"
;echo "
"
;

for($j
=0;$j
<= $nbligne
-1;$j
++){

echo $ligne
[ " $j"
];echo "&nbsp id des lignes"
;echo"
"
;

//connexion a la bdd sql
$link
= mysql_connect
("localhost"
,"root"
, ""
)

or die
("Impossible de se connecter : "
. mysql_error
());

//selection de la base
$db_selected
= mysql_select_db
( 'cdr'
, $link
);

if
(!$db_selected
)
{
die
('Impossible d\'utiliser la base : '
. mysql_error
());

}
$table
= "client"
;
$query
"SELECT * FROM $table WHERE id $ligne[$j]"
;
$result
= mysql_query
($query
)
or die
( "Echec de la requ§Üte"
);

while
($row
= mysql_fetch_array
($result
, MYSQL_ASSOC
))
{
$idclient
= $row
[ "idclient"
];
$table
=$row
["table"
];

if($table
"ligne"
){

echo $idclient
;echo "
"
;
//id client d une ligne

$tempstotal
=0;
$tempsnational
= 0;
$tempsnationalmobiles
=0;
$tempsnationalautres
= 0;
$tempseurope
=0;
$tempseuropemobiles
= 0;
$tempseuropeautres
=0;
$international
= 0;
$tempsinternationalmobiles
=0;
$tempsinternationalautres
= 0;
$tempsautresappels
=0;
$prixtotal
= 0;

//connexion a la bdd sql
$link
= mysql_connect
( "localhost"
,"root"
, ""
)

or die
("Impossible de se connecter : "
. mysql_error
());

//selection de la base
$db_selected
= mysql_select_db
('cdr'
, $link
);

if
(!$db_selected
)
{
die
('Impossible d\'utiliser la base : '
. mysql_error
());

}
$table
= "cdr"
;
$query "SELECT * FROM $table WHERE ClientAccount $idclient "
;
//on va rechercher tous
$result
= mysql_query
($query
)
or die
("Echec de la requ§Üte"
);
//les ticket d une ligne

while
($row
= mysql_fetch_array
($result
, MYSQL_ASSOC
))
{
$temps
= $row
[ "TConnect"
];
$numero
= $row
["CallingNumber"
];
$tempstotal
= $tempstotal
+ $temps
;
//calcule temps total

echo $nbcar
= strlen
($numero
);echo "Nombre de caractere formant le numero"
;echo "
"
;

for($k
= 1; $k
< = 4;$k
++){
//maximum de 4 chiffre dans l indicatif
$indicatif
= substr
($numero
,0,$k
);
//recuperation des n premiers chiffres

/*Recuperation du tarif de l abonn§Û de la ligne*/

//connexion a la bdd sql
$link
= mysql_connect
("localhost"
,"root"
, ""
)

or die
("Impossible de se connecter : "
. mysql_error
());

//selection de la base
$db_selected
= mysql_select_db
( 'main'
, $link
);

if
(!$db_selected
)
{
die
('Impossible d\'utiliser la base : '
. mysql_error
());

}
$table
= "abonne"
;
$query
"SELECT * FROM $table WHERE idabonne $abonne[$i]"
;
$result
= mysql_query
($query
)
or die
( "Echec de la requ§Üte"
);

while
($row
= mysql_fetch_array
($result
, MYSQL_ASSOC
))
{
$tarif
= $row
[ "combo"
];
}

echo $tarif
;echo "//tarif"
;echo "
"
;

echo $indicatif
;
echo "//indicatif $k"
;echo "
"
;

echo $abonne
[$i
];echo "
"
;
//id abonne

/*Comparaison de l indicatif a la base de donn§Ûe des tarifs*/

//connexion a la bdd sql
$link
= mysql_connect
("localhost"
,"root"
, ""
)

or die
("Impossible de se connecter : "
. mysql_error
());

//selection de la base
$db_selected
= mysql_select_db
( 'main'
, $link
);

if
(!$db_selected
)
{
die
('Impossible d\'utiliser la base : '
. mysql_error
());

}
$table
= $tarif
;
$query
"SELECT * FROM $table WHERE item1 $indicatif"
;
$result
= mysql_query
($query
)
or die
( "Echec de la requ§Üte"
);

while
($row
= mysql_fetch_array
($result
, MYSQL_ASSOC
))
{
$indtarif
= $row
[ "item1"
];
$prefixe
= $row
["item2"
];
$destination
= $row
[ "item4"
];
$CoutPalierHP
= $row
["item7"
];
$UniteCoutPalier
= $row
[ "item9"
];

echo $indtarif
;echo "correspond au prefixe $prefixe au Cout Palier HP $CoutPalierHP au UniteCoutPalier $UniteCoutPalier"
;echo "
"
;

echo $reste
= substr
($numero
,$k
);echo "
"
;

echo $nbcarnumero
= strlen
($reste
);echo "
"
;

for($l
=$nbcarnumero
;$l
>= 0; $l
--){
//boucle for en decrement

echo $num
=substr
($reste
,0,$l
);
//qui recherchera le prefixe

if($prefixe
$num
){
//on a retrouve le bon prefixe

echo " correspondant"
;echo "
"
;
$prixappel
=
(($temps
*$CoutPalierHP
)/$UniteCoutPalier
);
$prixtotal
= $prixtotal
+ $prixappel
;

echo "prix $prixappel pour $temps s."
;echo "
"
;
//calcul du prix
$tempstotal
=$tempstotal
+$temps
;

/*Suivant destination*/

switch($destination
){

case("National"
):
$tempsnational
= $tempsnational
+$temps
;

echo " $tempsnational pour un prix total de $prixtotal"
;echo"
"
;

break;

case("National-Mobiles"
):

$tempsnationalmobiles
=$tempsnationalmobiles
+$temps
;

break;

case("National-Autres"
):

$tempsnationalautres
= $tempsnationalautres
+$temps
;

break;

case( "Europe"
):

$tempseurope
=$tempseurope
+$temps
;

break;

case("Europe-Mobiles"
):

$tempseuropemobiles
= $tempseuropemobiles
+temps
;

break;

case( "Europe-Autres"
):

$tempseuropeautres
=$tempseuropeautres
+$temps
;

break;

case("International"
):

$international
= $international
+$temps
;

break;

case( "International-Mobiles"
):

$tempsinternationalmobiles
=$tempsinternationalmobiles
+$temps
;

break;

case("International-Autres"
):

$tempsinternationalautres
= $tempsinternationalautres
+$temps
;

break;

case( "AutresAppels"
):

$tempsautresappels
=$tempsautresappels
+$temps
;

break;

default:

break;

}

}

else{

echo " non correspondant"
;echo "
"
;//si aucun prefixe ne correspond

//meme un prefixe vide

}

}

}

}

}

}

}

}

}

}

}

}

}

3 réponses

ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
23 mai 2005 à 16:36
Salut,

Tu fait trop de connections qui servent a rien !!!

ensuit les " sont à remplacer par '

echo "toto";echo1;echo'slt';

PAS bon du tout !!!!

echo 'toto 1 slt';


-->




Bon voilà ton code avec des modifs



<?php

$idsociete = $_GET['combosociete'];

echo $idsociete

,'&nbsp idsociete'

,'
'; //id de societe



//connexion a la bdd sql

$link = mysql_connect('localhost','root', '')or die('Impossible de se connecter : ' . mysql_error());

//selection de la base

$db_selected = mysql_select_db('cdr', $link);

if(!$db_selected){

die('Impossible d\'utiliser la base : ' . mysql_error());

}

$table= 'client';

$query 'SELECT * FROM '.$table.' WHERE id '.$idsociete; //on cherche l id client correspondant

$result = mysql_query($query) or die('Echec de la requ§Üte'); //a la soci§Ût§Û

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)){

$idclient= $row['idclient'];

$id= $row['id'];

$table= $row['table'];

$idabonnes =$row['abonne']; //on recupere l id des abonn§Ûs et des lignes

$idlignes =$row['ligne']; //de la soci§Ût§Û

if($table == 'societe'){ //on verifie que la soci§Ût§Û soit une soci§Ût§Û



echo $idclient,'&nbsp //idclient
' //on recupere l id client soci§Ût§Û

,$id,'&nbsp //id
' //id correspondant a une table

,$table,'&nbsp //table
' //table correspondante

,$idabonnes,'&nbsp //idabonnes
' //on recupere les id client abonnes

,$idlignes,'&nbsp //idlignes
'; //on recupere les id client lignes

}

$nbabonnes =substr_count($idabonnes,';'); //on cherche le nombre d abonne

$abonne= explode(';',$idabonnes);

echo $nbabonnes,'&nbsp //nbabonnes
'; //affiche nombre d abonn§Ûs

for($i=0;$i<=$nbabonnes-1;$i++){

echo $abonne[$i],'&nbsp //idabonnes ',$i,'
';

//connexion a la bdd sql

$link =
mysql_connect('localhost','root', '')or die('Impossible de se connecter
: ' . mysql_error());

//selection de la base

$db_selected = mysql_select_db('cdr', $link);

if(!$db_selected){

die('Impossible d\'utiliser la base : ' . mysql_error());

}

$table= 'client';

$query 'SELECT * FROM '.$table.' WHERE id '.$abonne[$i];

$result = mysql_query($query) or die('Echec de la requ§Üte');

while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {

$idclient= $row['idclient'];

$table= $row['table'];


if($table == 'abonne'){ //si cet idclient correspond a un abonne


echo $idclient,'&nbsp //idclient abonne ',$abonne[$i],'
'; //id client de l abonne



//connexion a la bdd sql


$link = mysql_connect('localhost','root', '')or die('Impossible de se
connecter : ' . mysql_error());

//selection de la base


$db_selected = mysql_select_db('cdr', $link);

if(!$db_selected){


die ('Impossible d\'utiliser la base : ' . mysql_error());

}

$table= 'client';


$query 'SELECT * FROM '.$table.' WHERE idclient '.$idclient;


$result = mysql_query($query) or die('Echec de la requ§Üte');


while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {


$idclient= $row['idclient'];


$table= $row['table'];


$idlignes= $row['ligne'];


if($table == 'abonne'){


echo $idlignes,'&nbsp //Lignes
';


$nbligne =substr_count($idlignes,';'); //on cherche le nombre d abonne


$ligne= explode(';',$idlignes);


echo $nbligne,'&nbsp //nb de lignes
';






for($j=0;$j<=$nbligne-1;$j++){


echo $ligne[$j],'&nbsp id des lignes
';




//connexion a la bdd sql


$link = mysql_connect('localhost','root', '')or die('Impossible de se
connecter : ' . mysql_error());


//selection de la base


$db_selected = mysql_select_db('cdr', $link);


if(!$db_selected){


die('Impossible d\'utiliser la base : ' . mysql_error());


}


$table= 'client';


$query 'SELECT * FROM '.$table.' WHERE id '.$ligne[$j];


$result = mysql_query($query) or die('Echec de la requ§Üte');


while($row = mysql_fetch_array($result, MYSQL_ASSOC)){


$idclient=$row['idclient'];


$table=$row['table'];

if($table == 'ligne'){


echo $idclient,'
'; //id client d une ligne






$tempstotal=0;


$tempsnational=0;


$tempsnationalmobiles=0;


$tempsnationalautres=0;


$tempseurope=0;


$tempseuropemobiles=0;


$tempseuropeautres=0;


$international=0;


$tempsinternationalmobiles=0;


$tempsinternationalautres=0;


$tempsautresappels=0;

$prixtotal=0;


//connexion a la bdd sql


$link = mysql_connect('localhost','root', '')or die('Impossible de se
connecter : ' . mysql_error());


//selection de la base


$db_selected = mysql_select_db('cdr', $link);


if(!$db_selected){


die('Impossible d\'utiliser la base : ' . mysql_error());

}


$table= 'cdr';


$query 'SELECT * FROM '.$table.' WHERE ClientAccount '.$idclient;
//on va rechercher tous


$result = mysql_query($query) or die('Echec de la requ§Üte'); //les
ticket d une ligne




while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {


$temps= $row['TConnect'];


$numero= $row['CallingNumber'];


$tempstotal= $tempstotal + $temps; //calcule temps total


echo $nbcar= strlen($numero),'Nombre de caractere formant le
numero
';


for($k=1;$k<=4;$k++){ //maximum de 4 chiffre dans l indicatif


$indicatif= substr($numero,0,$k); //recuperation des n premiers chiffres


/*Recuperation du tarif de l abonn§Û de la ligne*/




//connexion a la bdd sql


$link = mysql_connect('localhost','root', '')or die('Impossible de se
connecter : ' . mysql_error());


//selection de la base


$db_selected = mysql_select_db('main', $link);


if(!$db_selected){


die('Impossible d\'utiliser la base : ' . mysql_error());


}


$table= 'abonne';


$query 'SELECT * FROM '.$table.' WHERE idabonne '.$abonne[$i];


$result = mysql_query($query) or die('Echec de la requ§Üte');


while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {


$tarif= $row['combo'];


}




echo $tarif,'//tarif
'


,$indicatif,'//indicatif ',$k,'
'


,$abonne[$i],'
'; //id abonne




/*Comparaison de l indicatif a la base de donn§Ûe des tarifs*/


//connexion a la bdd sql


$link = mysql_connect('localhost','root', '')or die('Impossible de se
connecter : ' . mysql_error());


//selection de la base


$db_selected = mysql_select_db('main', $link);


if(!$db_selected){


die('Impossible d\'utiliser la base : ' . mysql_error());


}


$table= $tarif;


$query 'SELECT * FROM '.$table.' WHERE item1 '.$indicatif;


$result = mysql_query($query) or die('Echec de la requ§Üte');


while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {


$indtarif= $row['item1'];


$prefixe= $row['item2'];


$destination= $row['item4'];


$CoutPalierHP= $row['item7'];


$UniteCoutPalier= $row['item9'];


echo $indtarif,'correspond au prefixe ',$prefixe,' au Cout Palier HP
',$CoutPalierHP,' au UniteCoutPalier ',$UniteCoutPalier,'
'


,$reste = substr($numero,$k),'
'


,$nbcarnumero= strlen($reste),'
';


for($l=$nbcarnumero;$l>=0;$l--){ //boucle for en decrement


echo $num=substr($reste,0,$l); //qui recherchera le prefixe


if($prefixe==$num){ //on a retrouve le bon prefixe


echo ' correspondant
';


$prixappel= (($temps*$CoutPalierHP)/$UniteCoutPalier);


$prixtotal= $prixtotal + $prixappel;


echo 'prix ',$prixappel,' pour ',$temps,' s.
'; //calcul du
prix


$tempstotal=$tempstotal+$temps;




/*Suivant destination*/


switch($destination){


case('National'):


$tempsnational=$tempsnational+$temps;


echo $tempsnational,' pour un prix total de ',$prixtotal,'
';


break;




case('National-Mobiles'):


$tempsnationalmobiles=$tempsnationalmobiles+$temps;


break;




case('National-Autres'):


$tempsnationalautres=$tempsnationalautres+$temps;


break;




case('Europe'):


$tempseurope=$tempseurope+$temps;


break;




case('Europe-Mobiles'):


$tempseuropemobiles=$tempseuropemobiles+temps;


break;




case('Europe-Autres'):


$tempseuropeautres=$tempseuropeautres+$temps;


break;




case('International'):


$international=$international+$temps;


break;




case('International-Mobiles'):


$tempsinternationalmobiles=$tempsinternationalmobiles+$temps;


break;




case('International-Autres'):


$tempsinternationalautres=$tempsinternationalautres+$temps;


break;




case('AutresAppels'):


$tempsautresappels=$tempsautresappels+$temps;


break;


}


}else{


echo ' non correspondant
';//si aucun prefixe ne correspond


//meme un prefixe vide


}


}

}

}

}

}

}

}

}

}

}

}

}

}

?>



@+

Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
3
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
23 mai 2005 à 18:06
Salut,



ne pas oublier d'utiliser isset() pour tester l'existence de la
variable $_GET['societe'] sinon avec un PHP bien configuré et une
variable non présente tu auras des erreurs.






<li>
3
Teclis01 Messages postés 1423 Date d'inscription mardi 14 décembre 2004 Statut Membre Dernière intervention 29 décembre 2012 4
23 mai 2005 à 17:07
je suis noob c normal :Op
enfin le php j en fait que depuis 2 semaines et je suis pas mal fier de ce dont je fais !
j ai compris mon erreur mais je sais pas trop la resoudre donc jvais poser une nouvelle qst ...
Merci bcp !
0
Rejoignez-nous