zlatan40
Messages postés42Date d'inscriptiondimanche 20 février 2011StatutMembreDernière intervention 1 avril 2018
-
8 juin 2008 à 20:36
zlatan40
Messages postés42Date d'inscriptiondimanche 20 février 2011StatutMembreDernière intervention 1 avril 2018
-
9 juin 2008 à 11:17
Salu a tous
J'avais un code d'origine (que j'ai commenté pour le repérer) qui fonctionnait mais j'ai besoin de le réutiliser donc je veut le mettre dans une fonction tablo qui a un entier en paramètre et me retourne un tableau à 2 dimension.
<?php
//----------fonction que j'utilise dans la deuxième----------
function sort_items($a, $b)
{
if ($a['points'] != $b['points'])
return $a['points'] <= $b['points'];
elseif ($a['diff'] != $b['diff'])
return $a['diff'] <= $b['diff'];
else
return $a['bp'] <= $b['bp'];
}
function tablo($journeesel)
{
//------------------------------DEBUT DU CODE D'ORIGINE--------------------------------------
$repon = mysql_query("SELECT nomeq FROM equipe ORDER BY points DESC") or die(mysql_error());
while ($nom = mysql_fetch_array($repon) )
{
//------------------Initialisation des tableaux--------------------------
$dom[$nom['nomeq']] = array ("points" => "0","matchjoués" => "0","gagnés" => "0","nuls" => "0","perdus" => "0","bp" => "0","bc" => "0","diff" => "0");
$ext[$nom['nomeq']] = array ("points" => "0","matchjoués" => "0","gagnés" => "0","nuls" => "0","perdus" => "0","bp" => "0","bc" => "0","diff" => "0");
for ($nb = 1; $nb <= $journeesel; $nb++)
{
//-------------------------Equipes domiciles--------------------
$reponsedom = mysql_query("SELECT * FROM matchs WHERE journee='".$nb."' AND equipedom='".$nom['nomeq']."'") or die(mysql_error());
$champsdom = mysql_fetch_array($reponsedom);
if ($champsdom['equipedom']==$nom['nomeq'])
{
if($champsdom['scoredom'] > $champsdom['scorext'])
{$points=3;$gagnés=1;$nuls=0;$perdus=0;}
if($champsdom['scoredom'] == $champsdom['scorext'])
{$points=1;$gagnés=0;$nuls=1;$perdus=0;}
if($champsdom['scoredom'] < $champsdom['scorext'])
{$points=0;$gagnés=1;$nuls=0;$perdus=1;}
$dom[$champsdom['equipedom']] = array (
"points" => $dom[$champsdom['equipedom']]['points']+$points,
"matchjoués" => $dom[$champsdom['equipedom']]['matchjoués']+1,
"gagnés" => $dom[$champsdom['equipedom']]['gagnés']+$gagnés,
"nuls" => $dom[$champsdom['equipedom']]['nuls']+$nuls,
"perdus" => $dom[$champsdom['equipedom']]['perdus']+$perdus,
"bp" => $dom[$champsdom['equipedom']]['bp']+ $champsdom['scoredom'],
"bc" => $dom[$champsdom['equipedom']]['bc']+ $champsdom['scorext'],
"diff" => $dom[$champsdom['equipedom']]['diff']+ $champsdom['scoredom']-$champsdom['scorext']);
}
//-------------------------Equipes extérieures--------------------
$reponsext = mysql_query("SELECT * FROM matchs WHERE journee='".$nb."' AND equipext='".$nom['nomeq']."'") or die(mysql_error());
$champsext = mysql_fetch_array($reponsext);
if ($champsext['equipext']==$nom['nomeq'])
{
if($champsext['scorext'] > $champsext['scoredom'])
{$points=3;$gagnés=1;$nuls=0;$perdus=0;}
if($champsext['scorext'] == $champsext['scoredom'])
{$points=1;$gagnés=0;$nuls=1;$perdus=0;}
if($champsext['scorext'] < $champsext['scoredom'])
{$points=0;$gagnés=1;$nuls=0;$perdus=1;}
$ext[$champsext['equipext']] = array (
"points" => $ext[$champsext['equipext']]['points']+$points,
"matchjoués" => $ext[$champsext['equipext']]['matchjoués']+1,
"gagnés" => $ext[$champsext['equipext']]['gagnés']+$gagnés,
"nuls" => $ext[$champsext['equipext']]['nuls']+$nuls,
"perdus" => $ext[$champsext['equipext']]['perdus']+$perdus,
"bp" => $ext[$champsext['equipext']]['bp']+ $champsext['scorext'],
"bc" => $ext[$champsext['equipext']]['bc']+ $champsext['scoredom'],
"diff" => $ext[$champsext['equipext']]['diff']+ $champsext['scorext']-$champsext['scoredom']);
}
}
//-----------------------ajout des résultat dans une tableau---------------------------
$gen[$nom['nomeq']] = array (
"points" => $ext[$nom['nomeq']]['points'] + $dom[$nom['nomeq']]['points'],
"matchjoués" => $ext[$nom['nomeq']]['matchjoués'] + $dom[$nom['nomeq']]['matchjoués'],
"gagnés" => $ext[$nom['nomeq']]['gagnés'] + $dom[$nom['nomeq']]['matchjoués'],
"nuls" => $ext[$nom['nomeq']]['nuls'] + $dom[$nom['nomeq']]['nuls'],
"perdus" => $ext[$nom['nomeq']]['perdus'] + $dom[$nom['nomeq']]['perdus'],
"bp" => $ext[$nom['nomeq']]['bp'] + $dom[$nom['nomeq']]['bp'],
"bc" => $ext[$nom['nomeq']]['bc'] + $dom[$nom['nomeq']]['bc'],
"diff" => $ext[$nom['nomeq']]['diff'] + $dom[$nom['nomeq']]['diff']);
}
//----------------------------tri du tableau------------------------------------------------
uasort($gen, 'sort_items');
//------------------------------FIN DU CODE D'ORIGINE--------------------------------------
return $gen;
}
tablo($_POST['journeesel']);
?>
<hr size="2" width="100%" />Ensuite j'ai le code qui affiche le tableau $gen comme avant mais ça ne marche plus, on me dit que le tableau n'est pas définit ou que ce n'est pas un tableau
zlatan40
Messages postés42Date d'inscriptiondimanche 20 février 2011StatutMembreDernière intervention 1 avril 2018 9 juin 2008 à 11:17
Le problème est résolu :
Je pensais que la variable se créer toute seule à la sortie de la fct mais en fait il faut mettre le résultat de la fonction dans une variable
$gen = tablo($_POST['journeesel']);
alors que j'avais simplement fait tablo($_POST['journeesel']);
Flachy Joe
Messages postés2103Date d'inscriptionjeudi 16 septembre 2004StatutMembreDernière intervention21 novembre 20231 9 juin 2008 à 08:31
Salut,
S'il te plaît, clarifie ton code :
- supprime ce qui ne nous est pas utile (ne garde qu'un élément par tableau par exemple)
- indente le
- indique la ligne de l'erreur
On veut bien t'aider mais si tu nous donnes un sac de nœud en nous demandant qu'on t'aide à tendre la corde, on te dira de d'abord la démêler...
zlatan40
Messages postés42Date d'inscriptiondimanche 20 février 2011StatutMembreDernière intervention 1 avril 2018 9 juin 2008 à 09:26
Merci de ta réponse
Tout d'abord je ne sais pas d'ou viens l'erreur, le tableau doit être vide car c'est lorsque j'affiche le tableau que j'ai une erreur (le code n'y est pas)
Le truc c'est que le code compris entre //---------DEBUT DU CODE D'ORIGINE---- et //---------FIN DU CODE D'ORIGINE---- fonctionne car avant j'avais simplement ce code sans la fonction tablo.
Maintenant que je l'ai mis dans la fonction tablo et que j'éssaie d'utiliser la fonction cela ne fonctionne plus. Mes question sont :
Es-ce que l'on peut utiliser une fonction à l'interrieur d'une fonction ?
Es-ce qu'une fonction peut retourner un tableau ?
Sinon je ne vois pas d'ou vient le problème