Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

problema con insert de pelicula

Estas en el tema de problema con insert de pelicula en el foro de Frameworks y PHP orientado a objetos en Foros del Web. Estimados amigos aqui de nuevo, ya debo parecer cargoso.... esta ves con un aporte, aunque no soy un experto... espero sea util porque busque y ...
  #1 (permalink)  
Antiguo 26/10/2006, 12:20
 
Fecha de Ingreso: octubre-2004
Mensajes: 13
Antigüedad: 19 años, 6 meses
Puntos: 0
problema con insert de pelicula

Estimados amigos aqui de nuevo, ya debo parecer cargoso.... esta ves con un aporte, aunque no soy un experto... espero sea util porque busque y no encontraba asi que lo hize yo msimo... es para generar codigos de tablas tipo "cli000001" el detalle es que busca si hay un cosigo que falta y lo genera.. para llenar huecos tipo "cli0002" - "cli0004" ... es decir alla el "cli0003"

bueno mi problema es que misteriosamente a veecs inserta dos veces seguidas... no siempre... es lo raro... a veces... y cada ves que quiero hacer print del query ninga falla pero lo saco y a veces falla.. inserta dos veces el msimo registro claro con diferente codigo o a veces con el mismo codigo y genera error y solo inserta el primero.... espero me ayuden gracias

los codigos son:

la clase DAO:
Código PHP:
require_once("Query.class.php");

class 
HistorialDAO{
    
    function 
HistorialDAO(){
    }
    
    function 
select($tipo=""){
        if( 
$tipo=="conta" ){ $sql "select codHis from hi01"; }
        
$resultado = new Query($sql);
        
        return 
$resultado->result;
    }
    function 
update($h){
        
$sql "UPDATE hi01 SET ";
        
$sql $sql."fecha='".$h->fecha."', ";
        
$sql $sql."hora='".$h->hora."', ";
        
$sql $sql."estado='".$h->estado."', ";
        
$sql $sql."comentario='".$h->comentario."', ";

        
$longitud strlen($sql);
        
$sql substr($sql,0,$longitud-2);
        
$sql $sql." WHERE codHis='".$h->codHis."'";
        
        
$resultado = new Query($sql);
        return 
$resultado->mensaje;
    }
    function 
insert($h){
        
$sql "INSERT INTO hi01 (codHis,cliente,fecha,hora,estado,comentario) VALUES (";
        
$sql $sql."'".$h->codHis."',";
        
$sql $sql."'".$h->cliente."',";
        
$sql $sql."'".$h->fecha."',";
        
$sql $sql."'".$h->hora."',";
        
$sql $sql."'".$h->estado."',";
        
$sql $sql."'".$h->comentario."')";
        
        
$resultado = new Query($sql);
        return 
$resultado->mensaje;
        
//return $sql;
    
}
    function 
delete($h){
        
$sql "DELETE FROM hi01 WHERE ";
        
$sql $sql."codHis='".$h->codHis."'";
        
        
$resultado = new Query($sql);
        return 
$resultado->mensaje;
    }
    function 
search($h){
        
$sql "select * from hi01 where ";
        
        if(
$h->codHis!=""){
            
$sql $sql."codHis='".$h->codHis."' AND ";
        }

        
$longitud strlen($sql);
        
$sql substr($sql,0,$longitud-4);
        
$sql $sql." ORDER BY fecha, hora";
        
$resultado = new Query($sql);
        
        return 
$resultado->result;
        
    }

ahora la pagina de grabacion:
Código PHP:
require_once "clases/HistorialDAO.class.php";
require_once 
"clases/Historial.class.php";

$codigos HistorialDAO::select("conta");

$ref=0;
$arrFaltan = array();
while(
$row=mysql_fetch_row($codigos)){
    
$num=1*substr($row[0],3,9);
    
$prueba $num-1;
    if( 
$prueba>$ref ){ $arrFaltan[] = $prueba; break; }
    
$ref=$num;
}

$resul count($arrFaltan);

print 
"<br>";
print 
"<center><strong>Resultado de La Grabacion</strong></center>";
print 
"<br><br>";

if( 
$resul==){ $newCod "".$ref+1; }else{ $newCod "".$arrFaltan[0]; }
$ceros "0000000";
$resta strlen($newCod);
$ceros substr($ceros,0,7-$resta);
$nuevoCod "his".$ceros.$newCod;


$h = new Historial();
$h->codHis $nuevoCod;
$h->cliente $_POST["codcli"];
$h->fecha $_POST["fecha"];
$h->hora $_POST["hora"];
$h->estado $_POST["estadoForm"];
$h->comentario $_POST["comentForm"];

$mensaje HistorialDAO::insert($h);

print 
$mensaje;

print 
"<html><head></head>";
print 
"<body onunload=\"javascript:window.opener.document.getElementById('frameHis').src='cliente_view_detalle.php?num=".rand(020000)."&codigo=".$_POST["codcli"]."'\">";

$form1 "<br><br><center><strong>";
$form2 "</strong></center>";

if(
$mensaje!=""){
    print 
$form1.$mensaje.$form2;
    print 
"<input type='button' value='ver menu' onClick=\"javascript:window.location='menu.php';\">";
}else{
    print 
$form1."Se grabo satisfactoriamente el Historial para el cliente: ".$_POST["nomcli"].", con codigo: ".$nuevoCod.$form2;
    print 
"Desea Salir ? ";
    print 
"<input type='button' value='Close' onClick=\"javascript:window.close();\">";
    print 
"<br>O prefiere ingresar otro Historial ? ";
    print 
"<input type='button' value='New Add' onClick=\"javascript:window.location='cliente_add_history.php?codigo=".$_POST["codcli"]."&nombre=".$_POST["nomcli"]."';\">";
}
print 
"</body></html>"
es algo urgente por favor... no puedo encontrar el error por mas que busque.
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 04:32.