Foros del Web » Programando para Internet » PHP »

Porque el numero "0" no me lo trata como valor php-mysql

Estas en el tema de Porque el numero "0" no me lo trata como valor php-mysql en el foro de PHP en Foros del Web. Porque el numero "0" no me lo trata como valor php-mysql y no obtengo valor $_Post['cantidad']. En cambio si la consulta es cualquier otro numero ...
  #1 (permalink)  
Antiguo 16/05/2011, 08:39
 
Fecha de Ingreso: abril-2011
Ubicación: add
Mensajes: 22
Antigüedad: 13 años
Puntos: 0
Porque el numero "0" no me lo trata como valor php-mysql

Porque el numero "0" no me lo trata como valor php-mysql y no obtengo valor $_Post['cantidad'].
En cambio si la consulta es cualquier otro numero no tengo ningun problema. porque es? cual es la solución?
  #2 (permalink)  
Antiguo 16/05/2011, 08:43
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Porque el numero "0" no me lo trata como valor php-mysql

Depende.

Si haces esto:
Código PHP:
echo '0'
¿Que muestra?

Entonces depende de la forma en que está realmente guardado el dato, la forma en que lo obtienes y la forma en que lo imprimes.

¿Puede ser?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 16/05/2011, 08:53
 
Fecha de Ingreso: abril-2011
Ubicación: add
Mensajes: 22
Antigüedad: 13 años
Puntos: 0
Respuesta: Porque el numero "0" no me lo trata como valor php-mysql

Gracias por la rapidez, bien esto es lo que hago, como he dicho sino es "0" me devuelve el valor, en cambio si en la base de datos la cantidad es "0" directamente no recupera ningun valor y dice que el valor esta vacio.

Bien esto es lo que hago, cargo un combo con el valor actual y luego sumo el nuevo valor mediante la suma de dos variables(k+k2), si no es 0, se suman perfectamente y se actualiza todo bien en la base de datos PERO si el valor actual es 0, no me pasa el valor a la nueva pagina donde se suman y se actualizan.


echo "<select name=\"k\">\n";
//echo "<option value=\"\"> Ordenadorea Hautatu </option>\n";

$SQLconsulta_padre="SELECT kantitatea from produktuak
where id_produktua = '$idproduktu'";
$consulta_padre = mysql_query($SQLconsulta_padre,$conexion) or die(mysql_error());

While ($registro_padre=mysql_fetch_assoc($consulta_padre )){
// Se mira si el ID del registro es el mismo q el $id_padre q recibimos si hemos cambiado el select hijo.
// Se selecciona en consecuencia (selected) la opción elegida.
if ($id_padre == $registro_padre['kantitatea']){
echo "<option value=\"".$registro_padre['kantitatea']."\" selected>".$registro_padre['kantitatea']."</option>\n";
} else {
echo "<option value=\"".$registro_padre['kantitatea']."\">".$registro_padre['kantitatea']."</option>\n";
}
}
echo "</select>\n\n";

mysql_free_result($consulta_padre); // Liberar memoria usada por consulta.


Y EN LA SIGUIENTE PAGINA RECUPERO CON POST; SUMO Y HAGO UN UPDATE:


$idkantitatea = $_POST['k'] or die ("ez da kantitate balorerik (k); Bueltatu atzera eta datu guztiak sartu");//data
$idkantitatea2 = $_POST['k2'] or die ("ez da kantitate2 balorerik (k2); Bueltatu atzera eta datu guztiak sartu");//data

$idkantitatesuma = $idkantitatea + $idkantitatea2;
echo "<p>'Total producto en stock: $idkantitatesuma<p>";

mysql_query("UPDATE produktuak SET data= '$iddate',kantitatea='$idkantitatesuma' where id_produktua= '$idproduktu'",$link1)or die("error en la introducción de datos");
echo '<p></p>';



COMO HE DICHO TODO FUNCIONA BIEN PERO "k" EN LA BASE DE DATOS ES "0" no ME HACE SUMA NINGUNA PORQUE DICE QUE "k" NO TIENE VALOR :S
QUE COSAS JAJAJAJAJ!!!!!!!! buff








echo "<p></p>";
echo "<td><u>Sumar Cantidad Nueva</u>: <input name='k2' type='text' size='1' maxlength='1' value='$idkantitate' readonly='true'/>";
?>
  #4 (permalink)  
Antiguo 16/05/2011, 09:00
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Porque el numero "0" no me lo trata como valor php-mysql

Creo que necesitas estudiar un poco de tipos básicos, conversión dinámica de tipos y valores por defecto.

El cero evalúa siempre como false, de modo que la comparación deberías hacerla mas estricta.

Código PHP:
$foo is_numeric($bar) ? $bar 'valor por defecto'
En dado caso que $bar sea cero, se asigna correctamente el valor, pues la comparación es numérica.

Pero si haces esto, seguro no funciona:
Código PHP:
$foo $bar or die('¿$bar es un numero, no existe o esta vacio?'); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 16/05/2011, 09:27
 
Fecha de Ingreso: abril-2011
Ubicación: add
Mensajes: 22
Antigüedad: 13 años
Puntos: 0
Respuesta: Porque el numero "0" no me lo trata como valor php-mysql

Muchisimas gracias, esto es lo que hize, y ahora sino devuelve valor coge por defecto con la sentencia que me dijsite. Muchisimas gracias de veras.

$idkantitatea = $_POST['k'];
$foo = is_numeric($idkantitatea) ? $idkantitatea : '0';

Etiquetas: numero, php-mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:48.