Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Wagner Martins - SC

imprimir menor Valor

Recommended Posts

Olá,

 

Conseguir imprimir certo as arrays, agora só quero imprimir o menor valor da array {$locais[$key]['!minAvrNightPriceNet']}, podediram me ajudar?

 

o código é eh esse.

 

 

foreach($locais as $key=>$val)
{


$total_dias_3=$locais[$key]['!minAvrNightPrice'];
$total_dias_4=number_format($total_dias_3, 2, ',', '.');




$total_dias=$dias*$locais[$key]['!minAvrNightPrice'];


$total_dias_2=number_format($total_dias, 2, ',', '.');


$total_2= $Adultos_hotel*$total_dias_2;
$total=number_format($total_2, 2, ',', '.');




echo "<tr>


<td><a href=\"procura_hotel_detalhes.php?HotelId={$locais[$key]['!HotelId']}\">{$locais[$key]['!HotelId']}</a></td>


<td>{$locais[$key]['!Name']}</td>


<td>{$locais[$key]['!Chain']}</td>


<td>{$locais[$key]['!CategoryId']}</td>


<td>{$locais[$key]['!Category']}</td>


<td>{$locais[$key]['!Description']}</td>


<td>{$locais[$key]['!Address']}</td>


<td>{$locais[$key]['!Location']}</td>


<td>{$locais[$key]['!Thumb']}</td>


<td>{$locais[$key]['!Currency']}</td>


<td>Preço por diária: <br/>$total_dias_4<br/><br/>Total de $dias diárias: <br/>$total_dias_2


<br/><br/>Adultos: <br/>$Adultos_hotel
<br/><br/>Total: <br/>$total


</td>


<td>{$locais[$key]['!minAvrNightPriceNet']}</td>


<td>{$locais[$key]['!Tax']}</td>


<td>{$locais[$key]['!IsAvailable']}</td>


<td>{$locais[$key]['!HotelPreferencial']}</td>


<td>{$locais[$key]['!minNights']}</td>


 </tr>";


}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz assim, mais deu erro:

 

Warning: asort() expects parameter 1 to be array, string given in /home/linestur/public_html/ofertas/procura_hotel.php on line 751

Warning: asort() expects parameter 1 to be array, string given in /home/linestur/public_html/ofertas/procura_hotel.php on line 751

 

 

foreach($locais as $key=>$val)
{




$total_dias_3=$locais[$key]['!minAvrNightPrice'];
$total_dias_4=number_format($total_dias_3, 2, ',', '.');




$total_dias=$dias*$locais[$key]['!minAvrNightPrice'];


$total_dias_2=number_format($total_dias, 2, ',', '.');


$total_2= $Adultos_hotel*$total_dias_2;
$total=number_format($total_2, 2, ',', '.');




echo "<tr>


<td><a href=\"procura_hotel_detalhes.php?HotelId={$locais[$key]['!HotelId']}\">{$locais[$key]['!HotelId']}</a></td>


<td>{$locais[$key]['!Name']}</td>


<td>{$locais[$key]['!Chain']}</td>


<td>{$locais[$key]['!CategoryId']}</td>


<td>{$locais[$key]['!Category']}</td>


<td>{$locais[$key]['!Description']}</td>


<td>{$locais[$key]['!Address']}</td>


<td>{$locais[$key]['!Location']}</td>


<td>{$locais[$key]['!Thumb']}</td>


<td>{$locais[$key]['!Currency']}</td>


<td>Preço por diária: <br/>$total_dias_4<br/><br/>Total de $dias diárias: <br/>$total_dias_2


<br/><br/>Adultos: <br/>$Adultos_hotel
<br/><br/>Total: <br/>$total


</td>


<td>{$locais[$key]['!minAvrNightPriceNet']}</td>


<td>{$locais[$key]['!Tax']}</td>


<td>{$locais[$key]['!IsAvailable']}</td>


<td>{$locais[$key]['!HotelPreferencial']}</td>


<td>{$locais[$key]['!minNights']}</td>


 </tr>";


$valor= asort($locais[$key]['!minAvrNightPrice']);
echo $valor;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fiz como vc falou mais da dando erro, será q to imprimindo no lugar certo?

 

Warning: Wrong parameter count for min() in /home/linestur/public_html/ofertas/procura_hotel.php on line 751

 

		foreach($locais as $key=>$val)
		{
			
	
			$total_dias_3=$locais[$key]['!minAvrNightPrice'];
			$total_dias_4=number_format($total_dias_3, 2, ',', '.');
			
			
			$total_dias=$dias*$locais[$key]['!minAvrNightPrice'];
			
			$total_dias_2=number_format($total_dias, 2, ',', '.');
			
			$total_2= $Adultos_hotel*$total_dias_2;
			$total=number_format($total_2, 2, ',', '.');

			
			echo "<tr>

					<td><a href=\"procura_hotel_detalhes.php?HotelId={$locais[$key]['!HotelId']}\">{$locais[$key]['!HotelId']}</a></td>
					
					<td>{$locais[$key]['!Name']}</td>
					
					<td>{$locais[$key]['!Chain']}</td>
					
					<td>{$locais[$key]['!CategoryId']}</td>
					
					<td>{$locais[$key]['!Category']}</td>
					
					<td>{$locais[$key]['!Description']}</td>
					
					<td>{$locais[$key]['!Address']}</td>
					
					<td>{$locais[$key]['!Location']}</td>

					<td>{$locais[$key]['!Thumb']}</td>

					<td>{$locais[$key]['!Currency']}</td>
					
					<td>Preço por diária: <br/>$total_dias_4<br/><br/>Total de $dias diárias: <br/>$total_dias_2
					
					<br/><br/>Adultos: <br/>$Adultos_hotel
					<br/><br/>Total: <br/>$total
					
					</td>
					
					<td>{$locais[$key]['!minAvrNightPriceNet']}</td>

					<td>{$locais[$key]['!Tax']}</td>
					
					<td>{$locais[$key]['!IsAvailable']}</td>
					
					<td>{$locais[$key]['!HotelPreferencial']}</td>
					
					<td>{$locais[$key]['!minNights']}</td>

				  </tr>";
				  
				  echo min($total);
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

É verdade a variavel $total naum esta guardando o array, teria alguma dica de como fazer isso, é que estou começando a trabalhar com array faz pouco tempo e preciso de um empurrãozinho :coolio:



Dei uma pesquisada na net, e fiz esse código mais ele imprimi apenas o ultimo valor e não menor como deveria ser

 


foreach($locais as $key=>$val)

{




$total_dias_3=$locais[$key]['!minAvrNightPrice'];
$total_dias_4=number_format($total_dias_3, 2, ',', '.');




$total_dias=$dias*$locais[$key]['!minAvrNightPrice'];


$total_dias_2=number_format($total_dias, 2, ',', '.');


$total_2= $Adultos_hotel*$total_dias_2;
$total=number_format($total_2, 2, ',', '.');


$total_2 = array($total); 
$total_2['$total'] = $total; 


echo "<tr>


<td><a href=\"procura_hotel_detalhes.php?HotelId={$locais[$key]['!HotelId']}\">{$locais[$key]['!HotelId']}</a></td>


<td>{$locais[$key]['!Name']}</td>


<td>{$locais[$key]['!Chain']}</td>


<td>{$locais[$key]['!CategoryId']}</td>


<td>{$locais[$key]['!Category']}</td>


<td>{$locais[$key]['!Description']}</td>


<td>{$locais[$key]['!Address']}</td>


<td>{$locais[$key]['!Location']}</td>


<td>{$locais[$key]['!Thumb']}</td>


<td>{$locais[$key]['!Currency']}</td>


<td>Preço por diária: <br/>$total_dias_4<br/><br/>Total de $dias diárias: <br/>$total_dias_2


<br/><br/>Adultos: <br/>$Adultos_hotel
<br/><br/>Total: <br/>$total


</td>


<td>{$locais[$key]['!minAvrNightPriceNet']}</td>


<td>{$locais[$key]['!Tax']}</td>


<td>{$locais[$key]['!IsAvailable']}</td>


<td>{$locais[$key]['!HotelPreferencial']}</td>


<td>{$locais[$key]['!minNights']}</td>


 </tr>";


}
 echo "Menor:".min($total_2)."<br/>";

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vê se assim ele imprimi os valores do array:

 

$teste = $locais[$key]['!minAvrNightPriceNet'];
echo $teste;

Compartilhar este post


Link para o post
Compartilhar em outros sites

imprimiu, agora quero só q mostre o menor valor. como ficaria?

 

 

foreach($locais as $key=>$val)
{
$teste = $locais[$key]['!minAvrNightPriceNet'];
echo $teste."<br/>";

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta assim:

 

echo min($teste);


.. acho que você vai ter que comparar valor por valor dentro do foreach caso isso não funcione.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Da esse erro:

 

Warning: Wrong parameter count for min() in /home/linestur/public_html/ofertas/procura_hotel.php on line 695

 

foreach($locais as $key=>$val)
{
$teste = $locais[$key]['!minAvrNightPriceNet'];
echo min($teste);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pois é, eu imaginei que fosse dar erro.

Foi o que eu falei, acho que vai ter que comparar um à um e sempre o menor você guarda em uma variável. EU ACHO, não é certeza.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pra começar a sua lógica deveria ser revista, se vc está trazendo isso de um banco, vc pode na sua consulta ordenar os registros desc, ou asc e pegar o primeiro array...

mas no seu array, vc usa sort(), ou asort(), min() na lista e não no seu item do array, antes de fazer o foreach... ela vai ordenar, se der erro, é por que sua lista não é um array.... basicamente isso asort($locais);

olha a documentação, que lá tem as maneiras de ordenar seu array:
http://php.net/manual/pt_BR/array.sorting.php









Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.