PHP - valor numerico no bien formado

 
Vista:

valor numerico no bien formado

Publicado por Rafael (12 intervenciones) el 15/10/2018 18:14:40
hola muy buenos a todos, quisiera ayuda con respecto a un problema que me da en carrito.php me tira error de
Notice: A non well formed numeric value encountered in

el codigo que tengo es este:
1
2
3
4
<p class="cart_total_price"><?php $precioproductounidades= $precioproducto*$row_DatosConsulta["intCantidad"];
    echo number_format($precioproductounidades,2, ",", "")."€";
    $totalcarrito= $totalcarrito + $precioproductounidades;?>
</p>

por lo visto en mac con mamp me tira ese error de non well formed numeric. cuando lo realizo en wampserver de pc me funciona. no se porque puede ser el motivo. puede alguien ayudarme gracias.
todos los archivos los tengo modo lectura y escritura. no creo que tenga problemas de write_module
espero alguien me conteste.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

valor numerico no bien formado

Publicado por Mauro (1037 intervenciones) el 16/10/2018 00:14:22
¿Podrías mostrar el contenido de las variables:

* $precioproducto
* $row_DatosConsulta
* $totalcarrito

El problema seguramente es que en alguna de ellas se te coló un caracter no numérico junto a un valor numérico (Por ejemplo, me imagino que $totalCarrito antes de la suma debe estar incluyendo el signo €.

La diferencia que observas entre la ejecución en Mac y en Windows puede deberse a que tienes diferentes versiones de php o diferencias en el php.ini.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

valor numerico no bien formado

Publicado por Rafael (12 intervenciones) el 16/10/2018 07:17:43
aqui dejo el codigo exacto para que lo veas, me han comentado que en window funciona en mac no me va.


1
<?php echo $precioproducto=CalcularPrecioProducto($row_DatosConsultaProducto["idProducto"]);

AQUI LA CONSULTA

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
if ((isset($_SESSION['tienda2017Front_UserId'])) || (isset($_SESSION['MM2_Temporal'])))
{
 
if ($_SESSION['MM2_Temporal']=="ELEVADO")
{
	$usuariotempoactivo=$_SESSION['tienda2017Front_UserId'];
    $insertGoTo = "index.php";
}
 
	else
	{
	$usuariotempoactivo=$_SESSION['MM2_Temporal'];
    $insertGoTo = "index.php";
}
 
$query_DatosConsulta = sprintf("SELECT * FROM tblcarrito WHERE refUsuario=%s AND intTransaccionEfectuada=0 ",
	$usuariotempoactivo);
 
$DatosConsulta = mysqli_query($con,  $query_DatosConsulta) or die(mysqli_error($con));
$row_DatosConsulta = mysqli_fetch_assoc($DatosConsulta);
$totalRows_DatosConsulta = mysqli_num_rows($DatosConsulta);
}


AQUI LA OTRA CONSULTA
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
	$totalcarrito=0;
	do {
 
		$query_DatosConsultaProducto = sprintf("SELECT * FROM tblproducto WHERE idProducto=%s ",
			$row_DatosConsulta["refProducto"]);
 
$DatosConsultaProducto = mysqli_query($con,  $query_DatosConsultaProducto) or die(mysqli_error($con));
$row_DatosConsultaProducto = mysqli_fetch_assoc($DatosConsultaProducto);
$totalRows_DatosConsultaProducto = mysqli_num_rows($DatosConsultaProducto);
 
		$linkProducto="producto-detalle.php?id=".$row_DatosConsultaProducto["idProducto"];
		?>
 
AQUI DEJO LA FUNCION CALCULARPRECIOPRODUCTO
function CalcularPrecioProducto ($producto)
{
	global $con;
	$query_ConsultaFuncion = sprintf("SELECT dblPrecio FROM tblproducto WHERE idProducto = %s ",
	   GetSQLValueString($producto, "int"));
	//echo $query_ConsultaFuncion;
	$ConsultaFuncion = mysqli_query($con,  $query_ConsultaFuncion) or die(mysqli_error($con));
	$row_ConsultaFuncion = mysqli_fetch_assoc($ConsultaFuncion);
	$totalRows_ConsultaFuncion = mysqli_num_rows($ConsultaFuncion);
 
	return number_format($row_ConsultaFuncion["dblPrecio"], 2, ",", "")."€";
 
	mysqli_free_result($ConsultaFuncion);
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

valor numerico no bien formado

Publicado por Kathyu (905 intervenciones) el 16/10/2018 16:46:03
Pero si yo ya di la respuesta (al menos es lo que veo)

Todavía le cite que number_format no acepta 3 parametros !!!!!!!!!!

1
2
3
4
<?php
   echo number_format($precioproductounidades,  2 ,  "," ,  "" )."€";
   //                             {   1   } {2}  {3}  , {vacío}
?>

Segun mi logica, le hace falta el punto decimal, yo creo que en Euros es diferente que en Dolares, por ejemplo aca se escribe asi $1,500.00 en euros creo que es 1.500,00 €

La cosa es que falta un parámetro, según mi lógica
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

valor numerico no bien formado

Publicado por Mauro (1037 intervenciones) el 16/10/2018 19:38:15
@Kathyu Yo veo 4 parámetros...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Kathyu
Val: 1.802
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

valor numerico no bien formado

Publicado por Kathyu (905 intervenciones) el 16/10/2018 21:42:47
Creo que es por la diferencia de zona y moneda.

Por ejemplo en mis formatos ahí me haría falta el punto decimal, por eso lo decía, en Euros no hay punto ??
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

valor numerico no bien formado

Publicado por rafael (12 intervenciones) el 16/10/2018 21:59:04
por lo visto cambie la version de mamp de php antes tenia la 7.1.6 al cambiar la version a 7.0.20 ya me da el resultado correcto,
Por lo visto el codigo depende de la version que tengamos instalado. ya pude resolverlo. el codigo estaba bien, yo sabia que estaba bien.
Gracias a Mauro me hizo abrir los ojos, con lo que me comentastes ya no me quedaba otra que cambiar la version a una anterior y asi si me va bien.
Gracias a todos por vuestra ayuda.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

valor numerico no bien formado

Publicado por Mauro (1037 intervenciones) el 16/10/2018 22:52:44
Me alegra que te haya servidor, igualmente, te recomiendo que revises bien el código ya que tarde o temprano tendrás que ir a la versión 7.2 (o 3) y ahí te encontrarás en problemas...

Un detalle que veo así de mirar tu código por arriba es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function CalcularPrecioProducto ($producto)
{
	global $con;
	$query_ConsultaFuncion = sprintf("SELECT dblPrecio FROM tblproducto WHERE idProducto = %s ",
	   GetSQLValueString($producto, "int"));
	//echo $query_ConsultaFuncion;
	$ConsultaFuncion = mysqli_query($con,  $query_ConsultaFuncion) or die(mysqli_error($con));
	$row_ConsultaFuncion = mysqli_fetch_assoc($ConsultaFuncion);
	$totalRows_ConsultaFuncion = mysqli_num_rows($ConsultaFuncion);
 
	return number_format($row_ConsultaFuncion["dblPrecio"], 2, ",", "")."€";
 
	mysqli_free_result($ConsultaFuncion);
}

1 - La última línea ( mysqli_free_result($ConsultaFuncion); ) jamás se ejecutará (está después del return)
2 - Estás usando una variable global $con... te aconsejo dejar eso de lado, te traerá problemas.

En general, me parece que te vendría bien aprender a usar algún framework.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

valor numerico no bien formado

Publicado por Rafael (12 intervenciones) el 16/10/2018 23:40:34
que framework me aconsejas? yo suelo trabajar el php a pelo, bueno gracias. ya te enseñare algunos proyectos. dime alguno proyectos que tengas para echar un vistazo tu portfolio sino tienes inconveniente.
venga un saludo desde este rinconcito de cadiz.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

valor numerico no bien formado

Publicado por Mauro (1037 intervenciones) el 17/10/2018 16:58:53
Yo uso Symfony, pero Laravel va bien también.

Te dejo este artículo donde puedes explorar un poco más la cuestión.

Respecto de mis repos, no tengo gran cosa publicada, pero te recomiendo ver este. Es un proyecto en el que estoy trabajando actualmente.

Advertencia: La documentación es prácticamente inexistente... por ahora estoy tratando de dejar una versión funcional para el cliente :p.

Me puedes ubicar por Twitter si lo deseas.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar