afficher données array php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : afficher données array php

merci autre question

par Patpillon » 29 juil. 2009, 21:37

merci pour les réponses, ca a réglé le problème. J'aurais besoin de retourné $groupWidth et $gender dans un tableau et ensuite faire un echo. avez-vous une idee ? merci

function findValidSample($noEdition, $noExercise, $noLevel, $gender, $age, $lstAgeGroup, $indAgeMin, $indAgeMax)
{
	$MIN_RECORD = 25;
	$MAX_GROUP_WIDTH = 15;
	
	$stop = false;
	
	//print("base indAgeMin = ");
	//print($indAgeMin);
	//print("base indAgeMax = ");
	//print($indAgeMax);
	
	while ($stop == false) 
	{
		// Requêtes #2 à N
		$query = "SELECT * FROM ResultGame WHERE NoEdition = ".$noEdition." AND NoExercise = ".$noExercise." AND NoLevel = ".$noLevel." AND Age >= ".$lstAgeGroup[	$indAgeMin]." AND Age <= ".$lstAgeGroup[$indAgeMax];
		
	
		// Requête #1 seulement
		if (strlen($gender) == 1)
		{
			$query = $query." AND Gender = '".$gender."'";
		}
	
		$result = mysql_query($query) or die(mysql_error());	
		$nbRecord = mysql_num_rows($result);
		$groupWidth = $lstAgeGroup[$indAgeMax] - $lstAgeGroup[$indAgeMin] + 1;
   
		//print("nbRecord = ");
		//print($nbRecord);
	
		if ($nbRecord < $MIN_RECORD) 
		{
			$gender = "M,F";
			
			
			if ($groupWidth < $MAX_GROUP_WIDTH) 
			{
				if (getAgeGroupDirection($age, $lstAgeGroup, $indAgeMin, $indAgeMax) == "younger")
				{
					$indAgeMin -= 2;
					//print("younger");
				}
				else
				{
					$indAgeMax += 2;
					//print("older");
				}
				
				$groupWidth = $lstAgeGroup[$indAgeMax] - $lstAgeGroup[$indAgeMin] + 1;
			
				//print("indAgeMin = ");
				//print($indAgeMin);
				//print("indAgeMax = ");
				//print($indAgeMax);
			}
			else if (($indAgeMin == 0) or ($indAgeMax == (sizeof($lstAgeGroup) - 1)))
			{
				if ($extremeGroup == false)
				{
					$extremeGroup = true;
				} 
				else
				{
					$stop = true;
				}
			}
			else
			{
				$stop = true;
			}
		}
		else
		{
			$stop = true;
		}
			
		//print("groupWidth = ");
		//print($groupWidth);
	}
	
	
	return array($lstAgeGroup[$indAgeMin], $lstAgeGroup[$indAgeMax], $gender, $result);
}  
j'ai également une erreur SQL?
$query = "SELECT * FROM ResultGame WHERE NoEdition = ".$noEdition." AND NoExercise = ".$noExercise." AND NoLevel = ".$noLevel." AND Age >= ".$lstAgeGroup[	$indAgeMin]." AND Age <= ".$lstAgeGroup[$indAgeMax];

par stopher » 29 juil. 2009, 15:22

Effectivement ,

la fonction s'arrête net apres un return !

L'affichage se fait donc par ton print_r().

A la place de ton print_r() par ta boucle foreach ($computeScore ...

Et tu devrais voir l'affichage que tu attends .


Note : N'oublies pas d'utiliser les balises PHP de ce forum pour rendre ton message bien plus lisible .. Ha ... c'est déjà dit ...

Bonne continuation ,
Ch.

par Cobaye » 29 juil. 2009, 15:20

Modération :
Patpillon, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).

Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.

Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ

par enneite » 29 juil. 2009, 15:18

ton code m'a l'air bien compliqué pour cela, sans le regarder en détail, je vois qu'il y a une boucle foreach après un return dans ta fonction, il devrait pas être avant?

afficher données array php

par Patpillon » 29 juil. 2009, 15:08

Bonjour,
J'aimerais faire afficher les resultats de trois variable d'un tableau $bestScore; $meanScore; et $worstScore;. pour l'instant il m'affiche Array ( [0] => -1 [1] => -1 [2] => -1 )

Code : Tout sélectionner

$link = mysql_connect($dbServer, $dbUsr, $dbPass); $rc = mysql_select_db($dbDatabase, $link); $Sql="select * from ResultGame"; //ResultGame = nom de ma table $Res=mysql_query($Sql); //$Compteur=mysql_num_rows($Res); //$i=1; //$j=0; //while ($i <= $Compteur) //{ // $tab_score[$j]==$Enr["ScoreG"]; //ScoreG = la colonne de la table ResultGame dont je souhaite récupérer les informations // $Enr=mysql_fetch_array($Res); // $i++; // $j++; //} //print_r($Enr); // OK, me donne la dernière ligne de ma BD avec tous les infos //print_r($tab_score); //Page blanche print_r (computeScore()); ?> <?php function computeScore($sqlGroup) { $currentScore = 0; $bestScore = -1; $meanScore = (double) 0; $sumScore = 0; $nbScore = 0; $worstScore = 101; while ($row = mysql_fetch_assoc($sqlGroup)) { $currentScore = $row['ScoreG']; if($currentScore > $bestScore) { $bestScore = $currentScore; } $sumScore = $sumScore + $currentScore; $nbScore = $nbScore + 1; if($currentScore < $worstScore) { $worstScore = $currentScore; } } $meanScore = round(($sumScore / $nbScore), 1); $lstScore = array(); if($worstScore == 101) { $worstScore = -1; } if($meanScore == 0) { $meanScore = -1; } $lstScore[0] = $bestScore; $lstScore[1] = $meanScore; $lstScore[2] = $worstScore; return $lstScore; foreach ($lstScore as $val) { echo $val; } }