En cambio si la consulta es cualquier otro numero no tengo ningun problema. porque es? cual es la solución?




| |||
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? ![]() ![]() ![]() ![]() |
| |||
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'/>"; ?> |
| ||||
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: Pero si haces esto, seguro no funciona: Código PHP:
__________________ Y U NO RTFM? щ(ºдºщ) No atiendo por MP nada que no sea personal. |
| |||
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: |