Código PHP:
$consulta="SELECT nombre FROM azona WHERE nombre='$nombre'";
$resultado=mysql_query($consulta, $conectar);
$fila=mysql_num_rows($resultado);
| |||
PROBLEMA CON mysql_num_rows No se si este haciendo algo mal, ya que el valor $fila lo uso en un IF y no lo respeta estoy haciendo algo mal? Código PHP: |
| ||||
Re: PROBLEMA CON mysql_num_rows Acabo de probar tu código (de tu post anterior), funciona correctamente, o al menos a mi me funciona bien, no veo razón para lo que te esta pasando. Intenta hacer un echo de la variable $fila en vez del alert, solo para ver que valor ha tomado y salir de dudas, aunque si el insert se realiza correctamente (es decir entro por el true del if)no es lógico que te presente el alert del else. Pero prueba lo que te he dicho y nos cuentas que pasó. |
| |||
Re: PROBLEMA CON mysql_num_rows WOW! hice el echo, me imprimio el 0, eso lo hace bien pero cuando ya le puse el query $query="INSERT INTO azona VALUES ('$nombre')"; $nuevo=mysql_query($query, $conectar); Ahi ya se truena todo no sale el alert que quiero, mmm no se a que se deba... si tienes una idea te gradeceria mucho que me la hicieras saber gracias |
| |||
Re: PROBLEMA CON mysql_num_rows Esta primer parte funciona sin problemas. Código PHP: Aqui es donde se pone trucutu el codigo por que hace el query pero no pone el alert que se marca pone el de else, y cuando quito el query si pone el alert. Código PHP: Código PHP: |
| ||||
Re: PROBLEMA CON mysql_num_rows Veo de momento: if($fila<1) { $q="INSERT INTO azona VALUES ('$nombre')"; ... ¿No sería nombre='$nombre'? No sé si conté mal pero me parece que sobra un }. Prueba y nos dices |
| ||||
Re: PROBLEMA CON mysql_num_rows En tu INSERT INTO te falta el nombre del campo en el que lo vas a insertar, tiene ke ser algo asi: $var="INSERT INTO nombre_tabla (nombre_del_campo) VALUES ('variable')"; Salu2
__________________ "Eres grande por que caminas entre gigantes" |
| |||
Re: PROBLEMA CON mysql_num_rows los insert los hace sin problema, la unica bronca es que el alert no lo muestra, es decir muestra el del esle... y eso se me hace bien raro por que deberia hacerlo. Código PHP: |
| ||||
Re: PROBLEMA CON mysql_num_rows Trata de agrager OR DIE al ejecutar tu consultas para ver ke errores te marca y asi poder solucionarlos, cambia tu codigo asi:
Código:
salu2 $consulta="SELECT nombre FROM azona WHERE nombre='$nombre'"; $resultado=mysql_query($consulta) or die('Consulta fallida: ' . mysql_error()) ; $fila=mysql_num_rows($resultado);
__________________ "Eres grande por que caminas entre gigantes" |
| ||||
Re: PROBLEMA CON mysql_num_rows Prueba hacerlo asi:
Código:
<?php include ("conection.php"); $conectar=Conectar(); $nombre=$_POST['nombre']; if(strlen($nombre)>0) { $consulta="SELECT nombre FROM azona WHERE nombre='$nombre'"; $resultado=mysql_query($consulta, $conectar); $fila=mysql_num_rows($resultado); if($fila<1) { $q="INSERT INTO azona VALUES ('$nombre')"; $nuevo=mysql_query($q,$conectar); echo "<script languaje=javascript>". "alert(\"La nueva área se registro exitosamente.\");". "location.href=\"altas01.php\";". "</script>"; } else { echo "<script languaje=javascript>". "alert(\"Ese nombre de área ya se ha registrado.\");". "location.href=\"altas01.php\";". "</script>"; } } else { echo "<script languaje=javascript>". "alert(\"Llene todos los campos.\");". "location.href=\"altas01.php\";". "</script>"; } ?>
__________________ "Eres grande por que caminas entre gigantes" |
| |||
Re: PROBLEMA CON mysql_num_rows :( Grcias pero nomas no, sigue saliendo el alert de el else eso es lo unico que me sale mal, que no respeta la decision y se mete al else... |
| |||
Re: PROBLEMA CON mysql_num_rows En el primero has de cuenta se mete al if, hace el INSERT pero en vez de poner el alert de ese if pone el del else. Código PHP: |
| ||||
Re: PROBLEMA CON mysql_num_rows Insetar un valor que No este en tu BD e inserta un valor ke si este en tu bd (repetido) y verifica ke valores toma $fila en kada caso, para asi poder definir bien tu IF.
Código:
. . . $resultado=mysql_query($consulta, $conectar); $fila=mysql_num_rows($resultado); echo $fila; if($fila<1) { ......
__________________ "Eres grande por que caminas entre gigantes" |
| |||
Re: PROBLEMA CON mysql_num_rows eso ya lo comprobe gracias el mysql_num_rows sirve perfecto, me he dado cuenta que si me marca el alert que quiero pero solo cuando llego al limite de nuemero de caracteres que tiene el campo en la base de datos es de 17, por ejemplo si pongo Taller me pone el alert de else pero si pongo Taller Mecanico me pone el de el if, no se como solucionar esto. |
| ||||
Re: PROBLEMA CON mysql_num_rows Mira puede verse de principiante para algunos pero es muy util rastrer con ECHOS en donde estas posicionado dentro del codigo, copia esto y ejecutalo y comentas como te fue.
Código:
<?php include ("conection.php"); $conectar=Conectar(); $nombre=$_POST['nombre']; if(strlen($nombre)>0) { $consulta="SELECT nombre FROM azona WHERE nombre='$nombre'"; $resultado=mysql_query($consulta, $conectar) or die('Consulta fallida: ' . mysql_error()); $fila=mysql_num_rows($resultado); if($fila<1) { ECHO "ENTRE AL SEGUNDO IF"; $q="INSERT INTO azona VALUES ('$nombre')"; $nuevo=mysql_query($q,$conectar) or die('Consulta fallida: ' . mysql_error()); echo "<script languaje=javascript>". "alert(\"La nueva área se registro exitosamente.\");". "location.href=\"altas01.php\";". "</script>"; } else { echo "<script languaje=javascript>". "alert(\"Ese nombre de área ya se ha registrado.\");". "location.href=\"altas01.php\";". "</script>"; } } else { echo "<script languaje=javascript>". "alert(\"Llene todos los campos.\");". "location.href=\"altas01.php\";". "</script>"; } ?>
__________________ "Eres grande por que caminas entre gigantes" |
| |||
Re: PROBLEMA CON mysql_num_rows Pasa algo bien raro hago un echo $fila; antes de entrar a (if $fila<1) y cuando el campo llenado es menor a limite de caracteres da valor de 1 y cuando es igual o mayo al numero da 0 |
| ||||
Re: PROBLEMA CON mysql_num_rows Explícate mejor, que limite tiene tu campo, y como es eso de que el campo llenado es mayor al limite?? Si es mayor al limite entonces no puede estar guardado completamente, espero haberte entendido bien. El problema parece estar en la comprobacion de los datos ingresados con los que estan en tu BD, has hecho lo que te sugirio ferbux? Eso tambien te puede ser de utilidad para ver por dondees que se va tu if. |
| |||
Re: PROBLEMA CON mysql_num_rows Sorry por cantinflear, ahi va a ver si me explico mejor. Mi campo NOMBRE de la tabla AZONA tiene capacidad para un maximo de 17 caracteres, siempre que le introduces un nombre lo guarda, siempre hace el insert, el problema es que no muestra el alert que se indica en el IF, solo lo muestra cuando pones 17 caracteres es decir cuando llenaste hasta el limite el campo NOMBRE. Me explico? |
| ||||
Re: PROBLEMA CON mysql_num_rows Vuelvo a preguntar, has hecho lo que te sugirio ferbux? Si no hazlo con unas lineas más que he escrito: Código PHP: |
| |||
Re: PROBLEMA CON mysql_num_rows Ya lo hice todo va bien pero como te digo, $fila toma valor de 0 solo cuando entran 17 caracteres, y cuando entran menos toma valor de 1 pero aun asi hace el insert :S |
| ||||
Re: PROBLEMA CON mysql_num_rows pues cambia tu condicion del if a if($fila==0)si en ke siempre toma 0 cuando son 17 caracteres y el else si toma 1 cuando son menos.
__________________ "Eres grande por que caminas entre gigantes" |
| |||
Re: PROBLEMA CON mysql_num_rows yeah ya salio chamacos no ma... gracias por su pasciencia neta gracias aqui no dan puntos ni nada de eso vea? si para darles unos pero ya quedo gracias... che php me vuelve loco pero me gusta jajajajajajasaludos |
| ||||
Re: PROBLEMA CON mysql_num_rows Si, se da karma, pero no te preokupes eso no es relevante, lo ke importa es ke solucionaste tu problema, solo una cosa puedes postear tu solución para ke le sirva a alguna otra persona ke se tope con ese tipo de errores. salu2
__________________ "Eres grande por que caminas entre gigantes" |
| |||
Re: PROBLEMA CON mysql_num_rows A si si pues aqui esta mi codigo. <?php include ("conection.php"); $conectar=Conectar(); $nombre=$_POST['nombre']; if(strlen($nombre)>0) { $consulta="SELECT nombre FROM azona WHERE nombre='$nombre'"; $resultado=mysql_query($consulta) or die('Consulta fallida: ' . mysql_error()); $fila=mysql_num_rows($resultado); if($fila==0) //Se tenia que cambiar esta condicion {echo $fila; $q="INSERT INTO azona VALUES ('$nombre')"; $nuevo=mysql_query($q,$conectar); ?> <script language="JavaScript"> alert("El área se registro con exito."); parent.location.href = "altas01.php"; </script> <?php } else { ?> <script language="JavaScript"> alert("Ese nombre de área ya se ha registrado."); parent.location.href = "altas01.php"; </script> <?php } } else {?> <script language="JavaScript"> alert("Llene todos los campos."); parent.location.href = "altas01.php"; </script> <?php } mysql_free_result($fila); //Y liberar memoria de la variable por que se quedaba guardado el valor que tenia de la opercaion anterior. ?> |