Foros del Web » Programando para Internet » PHP »

problema con codigo

Estas en el tema de problema con codigo en el foro de PHP en Foros del Web. necesito hacer que cuando el programa sea rechazado o anulado se vea en una tabla, y despues de eso el usuario tiene 10 dias y ...
  #1 (permalink)  
Antiguo 19/11/2007, 10:06
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 18 años, 2 meses
Puntos: 3
problema con codigo

necesito hacer que cuando el programa sea rechazado o anulado se vea en una tabla, y despues de eso el usuario tiene 10 dias y 3 intentos para poder aprobar.


les paso el codigo porque ya no se me ocurre nada mas y mas aun, me sale error.

Código PHP:
$sel_sql "select am_inspeccion.ins_folio , am_inspeccion.intentos , am_inspeccion.ins_fecing1 , am_inspeccion.ins_nomemp , am_inspeccion.ins_digito, am_inspeccion.ins_estado from am_inspeccion where (ins_estado LIKE 'E') or (ins_estado LIKE 'N') order by ins_folio desc";
$sel_sql = ("UPDATE am_inspeccion SET intentos=intentos+1 WHERE ins_digito ='$row[ins_digito]' LIMIT 1");

$resultado db_query($sel_sql) or die(db_error()); 
eso es lo unico que tengo, me da el siguiente error Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\appserv\www\am_modules\inspec\10.php on line 40


Código PHP:
echo"<h3 align=\"center\">Inspecciones rechazadas con 10 dias de plazo</h3>";  

echo 
"<table border=0 width=90%><tr>"
echo 
"<td></td><td>Folio</td><td>Fecha</td><td>Empresa</td><td>Ingresado por </td><td>Estado</td></tr>"
echo 
"<tr></tr>"
while(
$i=mysql_fetch_array($resultado)){  // esta es la linea 40

if ($i){ 


Con esto se me veo los estan rechazados
Código PHP:
echo "<td><a href=\"inspec.php?id_insmod=$i[0]\" target=\"parent\"><img src=\"am_modules/downloads/derec.gif\" width=16 height=16 alt=\"click\" border=0 align=left></a></td>"
echo 
"<td>$i[0]</td>"


$f_fecing1  substr($i["ins_fecing1"],6,2)."/".substr($i["ins_fecing1"],4,2)."/".substr($i["ins_fecing1"],0,4); 

echo 
"<td>$f_fecing1</td>"
echo 
"<td>$i[2]</td>"





$nom_sql "SELECT realname FROM am_users WHERE name = '".$i["ins_digito"]."'";  
$nom     db_query($nom_sql) or die(db_error()); 
$nombre  db_fetch_array($nom); 
$f_autor $nombre["realname"]; 


echo 
"<td>$f_autor</td>"

$est_sql "SELECT ins_estado FROM am_inspeccion WHERE ins_estado = '$i[ins_estado]'";  
$est     db_query($est_sql) or die(db_error()); 
$estado  db_fetch_array($est); 
$f_estado $estado["ins_estado"]; 
switch(
$f_estado) { 
case 
"Q""Por Inspeccionar"
      
$var "Por Inspeccionar"
      break; 
case 
"A"
      
$var "Aprobada para inspeccionar"
      break; 
case 
"R"
      
$var "Rechazada para inspeccionar"
      break; 
case 
"T"
      
$var ="Inspeccion terminada"
      break; 
case 
"N":
      
$var ="No disponible"
      break;
case 
"E":
      
$var ="Inspeccion rechazada"
      break;
   

echo 
"<td>$var</td></tr>"; }

}

//} 

?> 
y no se que mas, alguien me puede ayudar?
  #2 (permalink)  
Antiguo 19/11/2007, 10:48
Avatar de Kelpie  
Fecha de Ingreso: febrero-2002
Ubicación: NorthSpain
Mensajes: 609
Antigüedad: 22 años, 9 meses
Puntos: 8
Re: problema con codigo

Me parece que al ejecutar $sel_sql no estás ejecutando la consulta que quieres:

//Aquí, $sel_sql se va a cargar con una sentencia SELECT
$sel_sql = "select am_inspeccion.ins_folio , am_inspeccion.intentos , am_inspeccion.ins_fecing1 , am_inspeccion.ins_nomemp , am_inspeccion.ins_digito, am_inspeccion.ins_estado from am_inspeccion where (ins_estado LIKE 'E') or (ins_estado LIKE 'N') order by ins_folio desc";
//Aquí se va a pisar el valor de $sel_sql por una sentencia UPDATE sin haber usado la SELECT
$sel_sql = ("UPDATE am_inspeccion SET intentos=intentos+1 WHERE ins_digito ='$row[ins_digito]' LIMIT 1");

//Y aquí se va a ejecutar el UPDATE
$resultado = db_query($sel_sql) or die(db_error());


Claramente, un UPDATE no devuelve un conjunto de filas, luego no tiene lógica hacer while($i=mysql_fetch_array($resultado)){ para recuperar filas. Podrías hacer un mysql_num_rows($resultado) para ver cuántas filas se han visto afectadas (aunque creo que te devolverá cero ¿porque $row[ins_digito] no tendrá el valor que esperas?)
__________________
Kelpie
  #3 (permalink)  
Antiguo 19/11/2007, 11:08
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 18 años, 2 meses
Puntos: 3
Re: problema con codigo

me arroja los valores si elimino esta linea

$sel_sql = ("UPDATE am_inspeccion SET intentos=intentos+1 WHERE ins_digito ='$row[ins_digito]' LIMIT 1");

todo lo demas me funciona muy bien, ojala me puedas ayudar. Ya lo tengo asi y hacerlo y me funciona bien, por eso no quiero cambiarlo
  #4 (permalink)  
Antiguo 19/11/2007, 14:16
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 18 años, 2 meses
Puntos: 3
Re: problema con codigo

Quien me puede ayudar?
  #5 (permalink)  
Antiguo 20/11/2007, 05:41
Avatar de hulray  
Fecha de Ingreso: septiembre-2006
Mensajes: 630
Antigüedad: 18 años, 2 meses
Puntos: 3
Re: problema con codigo

Ayuda por Favor
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 14:07.