Foros del Web » Programando para Internet » PHP »

resultado vacio con error

Estas en el tema de resultado vacio con error en el foro de PHP en Foros del Web. Hola a todos, antes q nada les cuento que hace muy poco q estoy en esto de php y mysql y q estoy haciendo un ...
  #1 (permalink)  
Antiguo 29/12/2007, 21:24
 
Fecha de Ingreso: mayo-2006
Ubicación: Ciudad de Buenos Aires
Mensajes: 78
Antigüedad: 18 años, 6 meses
Puntos: 2
resultado vacio con error (resuelto)

Hola a todos, antes q nada les cuento que hace muy poco q estoy en esto de php y mysql y q estoy haciendo un programita en particular a pedido, y q ademas de usar un libro he realizado las busquedas necesarias para completar lo que me faltaba saber para hacer todo, pero tengo algunas dudas, en particular esta:

tengo en el modif.php una celda donde ingreso el num. de ID y luego con update.php me da los datos de ese ID (nombre, dir, tel, etc), para actualizarlos, todo eso logré hacerlo correctamente. Pero el problema es este: si pongo un valor de ID q no existe, la plantilla de actualizacion me aparece vacia, cuando me deberia dar algun mensaje diciendo que ese ID no existe, no sé como hacerlo. A su vez, si es esa celda donde deberia poner un num. de ID no escibo nada y le doy para q envie el resultado a update.php me sale lo siguiente:

Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\update.php on line 28

yo les muesto aqui abajo q es lo que tengo:

include "conexion.php";
if (!isset($accion)){
$result=mysql_query("SELECT * FROM clientes WHERE id=$id",$conexion);
$row=mysql_fetch_row($result);
echo"
<table width=100>
<tr>
<form action=\"delete2.php?accion=borrar\" method=\"POST\">
<b>Nombre:</b><br> etc. etc.

todo dentro de su correspondiente php y html, q funciona, pero me faltan esas cositas...

Sepan disculpar si esta consulta existe en algun otro post, pero no la he podido encontrar, y tambien por la forma de mencionar cada cosa, ya que no estoy familiarizado con los terminos.
Espero alguna ayudita, muchas gracias desde ya!

Última edición por inorganico0; 14/01/2008 a las 15:32
  #2 (permalink)  
Antiguo 29/12/2007, 22:09
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 8 meses
Puntos: 17
Re: resultado vacio con error

Código PHP:
include "conexion.php";
if (!isset(
$accion)){
$result=mysql_query("SELECT * FROM clientes WHERE id=$id",$conexion);
if (
mysql_num_rows($result) == 0) {
echo 
"ID inexistente";
} else {
$row=mysql_fetch_row($result);
echo
"
<table width=100>
<tr>
<form action=\"delete2.php?accion=borrar\" method=\"POST\">
<b>Nombre:</b><br>..."
;

  #3 (permalink)  
Antiguo 29/12/2007, 22:41
 
Fecha de Ingreso: mayo-2006
Ubicación: Ciudad de Buenos Aires
Mensajes: 78
Antigüedad: 18 años, 6 meses
Puntos: 2
Re: resultado vacio con error

Cita:
Iniciado por Seppo Ver Mensaje
Código PHP:
include "conexion.php";
if (!isset(
$accion)){
$result=mysql_query("SELECT * FROM clientes WHERE id=$id",$conexion);
if (
mysql_num_rows($result) == 0) {
echo 
"ID inexistente";
} else {
$row=mysql_fetch_row($result);
echo
"
<table width=100>
<tr>
<form action=\"delete2.php?accion=borrar\" method=\"POST\">
<b>Nombre:</b><br>..."
;

Tan simple era... de todas maneras no me sirvió, pero creo q porque no aclaré algo, el final de toda la tabla existe un "elseif" y ahora me tira error ese.
está asi el codigo:

include "conexion.php";
if (!isset($accion)){
$result=mysql_query("SELECT * FROM clientes WHERE id=$id",$conexion);
if (mysql_num_rows($result) == 0) {
echo "ID inexistente";
} else {
$row=mysql_fetch_row($result);
echo"
<table width=100>
<tr>
<form action=\"update.php?accion=guardar\" method=\"POST\">
<b>Nombre:</b><br>
<input type=text value=\"$row[1]\" name=\"nombre\" size=50><br><br>
<b>Dirección:</b><br>
<input type=\"text\" value=\"$row[2]\" name=\"direccion\" size=50><br><br>
<b>Telefono:</b><br>
<input type=\"text\" value=\"$row[3]\" name=\"telefono\" size=15><br><br>
<b>Movil:</b><br>
<input type=\"text\" value=\"$row[4]\" name=\"movil\" size=15><br><br>
<b>Otro:</b><br>
<input type=\"text\" value=\"$row[5]\" name=\"otro\" size=15><br><br>
<b>email:</b><br>
<input type=\"text\" value=\"$row[6]\" name=\"email\" size=30><br><br>
<b>Tipo:</b><br>
<input type=\"text\" value=\"$row[7]\" name=\"estado\" size=20><br><br>
<b>Operación:</b><br>
<input type=\"text\" value=\"$row[8]\" name=\"operacion\" size=50><br><br>
<b>Monto:</b><br>
<input type=\"text\" value=\"$row[9]\" name=\"monto\" size=30><br><br>
<b>Fecha:</b><br>
<input type=\"text\" value=\"$row[10]\" name=\"fecha\"><br><br>
<b>Compartida:</b><br>
<input type=\"text\" value=\"$row[11]\" name=\"compartida\" size=50><br><br>
<b>Observaciones:</b><br>
<input type=\"text\" value=\"$row[12]\" name=\"observaciones\" size=100><br><br><br>
<input type=\"hidden\" name=\"id\" value=\"$row[0]\">
<input type=\"submit\" value=\"Guardar\">
</form>
</tr>
</table>
</body>
</html>";
}
elseif($accion==guardar){
$sql = "UPDATE clientes SET nombre='$nombre', direccion='$direccion', telefono='$telefono', movil='$movil', otro='$otro', email='$email', estado='$estado', operacion='$operacion', monto='$monto', fecha='$fecha', compartida='$compartida', observaciones='$observaciones' WHERE id = $id";
$result = mysql_query($sql);
echo"
<html>
<body>
<b>Los datos han sido actualizados</b>
</body>
</html>";
}
include "cerrar_conexion.php";


ahora cual seria la solución?
muchisimas gracias por la pronta respuesta y perdon por no haber indicado todo el problema de antemano!
  #4 (permalink)  
Antiguo 29/12/2007, 23:05
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 19 años, 4 meses
Puntos: 3
Re: resultado vacio con error

tan solo tendrias que preguntar, que si el campo el txt contiene algun valor, puedes usar

empty, isset y strlen>0 o <0, cualquiera o los 3 en conjunto, digo son basicos es solo para revisas si tiene valor, o con js lo puedes hacer =, de esta forma al actualizar y ver que no hay ningun valor puedes redireccionar o mandar algun mensaje, cosa que no haces, pues si la accion es actualizar, de antemano toma que hay un id y hace la actualizacion..
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #5 (permalink)  
Antiguo 29/12/2007, 23:05
Avatar de vevni  
Fecha de Ingreso: julio-2005
Ubicación: cancun mexico
Mensajes: 598
Antigüedad: 19 años, 4 meses
Puntos: 3
Re: resultado vacio con error

ademas con un case puedes hacerlo mejor en lugar de poner esos ifelse..
__________________
Código PHP:
echo"hola mundo ver 1221332143.02";
echo
"cuantos usuarios habran impreso hola mundo en el mundo.!???"
  #6 (permalink)  
Antiguo 30/12/2007, 06:25
Avatar de Seppo  
Fecha de Ingreso: marzo-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.284
Antigüedad: 19 años, 8 meses
Puntos: 17
Re: resultado vacio con error

Código PHP:
<?php
include "conexion.php";
if (!isset(
$accion)){
    
$result=mysql_query("SELECT * FROM clientes WHERE id=$id",$conexion);
    if (
mysql_num_rows($result) == 0) {
        echo 
"ID inexistente";
    } else {
        
$row=mysql_fetch_row($result);
        echo
"
        <table width=100>
        <tr>
        <form action=\"update.php?accion=guardar\" method=\"POST\">
        <b>Nombre:</b><br>
        <input type=text value=\"$row[1]\" name=\"nombre\" size=50><br><br>
        <b>Dirección:</b><br>
        <input type=\"text\" value=\"$row[2]\" name=\"direccion\" size=50><br><br>
        <b>Telefono:</b><br>
        <input type=\"text\" value=\"$row[3]\" name=\"telefono\" size=15><br><br>
        <b>Movil:</b><br>
        <input type=\"text\" value=\"$row[4]\" name=\"movil\" size=15><br><br>
        <b>Otro:</b><br>
        <input type=\"text\" value=\"$row[5]\" name=\"otro\" size=15><br><br>
        <b>email:</b><br>
        <input type=\"text\" value=\"$row[6]\" name=\"email\" size=30><br><br>
        <b>Tipo:</b><br>
        <input type=\"text\" value=\"$row[7]\" name=\"estado\" size=20><br><br>
        <b>Operación:</b><br>
        <input type=\"text\" value=\"$row[8]\" name=\"operacion\" size=50><br><br>
        <b>Monto:</b><br>
        <input type=\"text\" value=\"$row[9]\" name=\"monto\" size=30><br><br>
        <b>Fecha:</b><br>
        <input type=\"text\" value=\"$row[10]\" name=\"fecha\"><br><br>
        <b>Compartida:</b><br>
        <input type=\"text\" value=\"$row[11]\" name=\"compartida\" size=50><br><br>
        <b>Observaciones:</b><br>
        <input type=\"text\" value=\"$row[12]\" name=\"observaciones\" size=100><br><br><br>
        <input type=\"hidden\" name=\"id\" value=\"$row[0]\">
        <input type=\"submit\" value=\"Guardar\">
        </form>
        </tr>
        </table>
        </body>
        </html>"
;
    }
} else {
    
$sql "UPDATE clientes SET nombre='$nombre', direccion='$direccion', telefono='$telefono', movil='$movil', otro='$otro', email='$email', estado='$estado', operacion='$operacion', monto='$monto', fecha='$fecha', compartida='$compartida', observaciones='$observaciones' WHERE id = $id";
    
$result mysql_query($sql);
    echo
"
    <html>
    <body>
    <b>Los datos han sido actualizados</b>
    </body>
    </html>"
;
}
include 
"cerrar_conexion.php";
?>
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 22:18.