Foros del Web » Programando para Internet » PHP »

[Urgencia]Necesito Tutoria

Estas en el tema de [Urgencia]Necesito Tutoria en el foro de PHP en Foros del Web. Saludos, Veo que son una gran comunidad, y me gustaría formar parte de ella.. Tengo un codigo html. Necesito Q luego d registrar los 4 ...
  #1 (permalink)  
Antiguo 14/02/2012, 17:07
Avatar de Andrexs  
Fecha de Ingreso: noviembre-2011
Mensajes: 25
Antigüedad: 12 años, 5 meses
Puntos: 1
[Urgencia]Necesito Tutoria

Saludos, Veo que son una gran comunidad, y me gustaría formar parte de ella..

Tengo un codigo html.



Necesito Q luego d registrar los 4 giros y los 4 monto, me los consulte y me los pinte cada 1 en cada campo, no comprendo muy bien como hacerlo, hasta ahora me lo hace solo con 1 campo, Espero sus consejos y ayudas.

les anexo mi codigo.

Código PHP:
<? include_once("../modelo/mod_registro.php");
$credito = new credito();
$tipoOperacion=$_GET["op"];
if(
$tipoOperacion==2)
{
    for (
$i=0;$i<5;$i++){
    
$codigo=$_GET["cod"];
    
$credito->setcedula($codigo);
    
$consulta=$credito->buscar();

    for(
$i=0;$i<count($consulta);$i++)
    {
        
        
$cedula    =$consulta[$i][1];
        
$nombre    =$consulta[$i][2];        
        
$giro    =$consulta[$i][3];
        
$monto    =$consulta[$i][4];
        
    }
}
}
?<
html>
   <
head>
      <
meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      <
title>Registro Acceso</title>    
    </
head>
    <
body>    
      <
table >
      <
tr>
          <
td align="center">          
            <
table width="386" height="170">
                <
td width="382" align="center"R e g i s t r o</td>      
              </
tr>
            <
tr>
              <
td >
                <
table width="384" >
                <
form name="registro"  method="post" action="../control/control_credito.php">
                  <
tr valign="middle" align="left">
                    <
td>&nbsp;</td>
                    <
td height="21">&nbsp;</td>
                    <
td height="21">&nbsp;</td>
                  </
tr>
                  <
tr valign="middle" align="left">
                    <
td width="4">&nbsp;</td>
                     <
td width="126" height="25">Cedula:</td>
                     <
td width="238" height="25"><input name="cedula" type="text" id="name2" value="<? echo $cedula;?>" /></td>
                     <
td colspan="2"><input name="image2" onclick="operacion.value='2'" value="Consultar" type="submit" /></td>
                      
                  </
tr>
                  <
tr valign="middle">
                    <
td>&nbsp;</td>
                     <
td height="25">Nombre:</td>
                     <
td height="25"><input name="nombre"  type="text" id="name" value="<? echo $nombre;?>" />
                 </
td>
                      <
td>&nbsp;</td>
                       <
td>&nbsp;</td>
                  </
tr>
                  <
tr valign="middle">
                    <
td>&nbsp;</td>
                    
                   <
td height="25">Giro: </td>
                     <
td height="25"><input name="giro"  type="text" value="<? echo $giro;?>"  size="12" /></td>
                     <
td height="25">Monto: </td>
                     <
td height="25"><input name="monto"  type="text" value="<? echo $monto;?>"  size="12"/></td>
                  </
tr>
                   <
tr valign="middle">
                    <
td>&nbsp;</td>
                     <
td height="25">Giro: </td>
                     <
td height="25"><input name="giro1"  type="text" value="<? echo $giro;?>"  size="12"/></td>
                     <
td height="25">Monto: </td>
                     <
td height="25"><input name="monto1"  type="text" value="<? echo $monto;?>"  size="12"/></td>
                  </
tr>
                   <
tr valign="middle">
                    <
td>&nbsp;</td>
                     <
td height="25">Giro: </td>
                     <
td height="25"><input name="giro2"  type="text"  size="12"/></td>
                     <
td height="25">Monto: </td>
                     <
td height="25"><input name="monto2"  type="text" size="12" /></td>
                  </
tr>
                   <
tr valign="middle">
                    <
td>&nbsp;</td>
                     <
td height="25">Giro: </td>
                     <
td height="25"><input name="giro3"  type="text" size="12"/></td>
                     <
td height="25">Monto: </td>
                     <
td height="25"><input name="monto3"  type="text"   size="12"/></td>
                  </
tr>
        
                     <
tr valign="middle">
                    <
td>&nbsp;</td>
                    <
td height="21">&nbsp;</td>
                    <
td height="21">&nbsp;</td>
                  </
tr>
                  <
tr valign="middle" >
                    <
td align="left">&nbsp;</td>
                     <
td s align="right" height="25">
                       
                        
                        <
input name="image" onclick="operacion.value='1'" value="Registrar" type="submit" />
                        <
input name="operacion" type="hidden" />
                       
                     </
td>
                  </
tr>
                </
form>
                </
table>
              </
td>       
            </
tr>            
          </
table>
            </
div>
            </
table
    </
body>
</
html>
la Clase.

Código PHP:
<?php
include_once("mod_conecta_bd.php");
//--------------------------------------------------------------------
class credito extends CModeloDatos{
    private 
$cedula;
    private 
$nombre;
    private 
$giro;
    private 
$monto;
    private 
$giro1;
    private 
$monto1;
    private 
$giro2;
    private 
$monto2;
    private 
$giro3;
    private 
$monto3;
//--------------------------------------------------------------------
    
public function credito(){
       
parent::CModeloDatos("localhost","credito","root","Andres1");
    }
//--------------------------------------------------------------------

    
public function setcedula($Valor){
        
$this->cedula trim($Valor);
    }
    public function 
setnombre($Valor){
       
$this->nombre trim($Valor);
    }
    public function 
setgiro($Valor){
       
$this->giro trim($Valor);
    }
    public function 
setmonto($Valor){
       
$this->monto trim($Valor);
    }
     public function 
setgiro1($Valor){
       
$this->giro1 trim($Valor);
    }
    public function 
setmonto1($Valor){
       
$this->monto1 trim($Valor);
    } 
    public function 
setgiro2($Valor){
       
$this->giro2 trim($Valor);
    }
    public function 
setmonto2($Valor){
       
$this->monto2 trim($Valor);
    }
     public function 
setgiro3($Valor){
       
$this->giro3 trim($Valor);
    }
    public function 
setmonto3($Valor){
       
$this->monto3 trim($Valor);
    }
//--------------------------------------------------------------------

    
public function RegistraUsuario(){
       
$sql="INSERT INTO persona VALUES('$this->cedula', '$this->nombre')";
       if ( 
parent::consulta($sql) ) 
          return 
true;
       else
          return 
false;
    }
//--------------------------------------------------------------------
    
public function RegistraPago(){
       
$sql="INSERT INTO pago VALUES( '$this->cedula', '$this->giro', '$this->monto'), ( '$this->cedula', '$this->giro1', '$this->monto1'), ( '$this->cedula', '$this->giro2', '$this->monto2'), ( '$this->cedula', '$this->giro3', '$this->monto3') ";
        if ( 
parent::consulta($sql) ) 
          return 
true;
       else
          return 
false;
   }     
 public function 
buscar(){
     
$c=0
     for (
$i=0;$i<4;$i++)     {
        
$sql="select persona.*,pago.* from persona,pago where persona.cedula='$this->cedula' and pago.cedula='$this->cedula'";
       
$cursor=parent::consulta($sql);    
     
         if(
$rowparent::getArreglo($cursor))
         {
             
                
$fila[$c][1]=$row["cedula"];
                
$fila[$c][2]=$row["nombre"];
                
$fila[$c][3]=$row["numero"];
                
$fila[$c][4]=$row["monto"];
                
$c++;                 
            
         }
       }
        if ( 
$fila>)
            return 
$fila;
        else
            return -
1;
            
            
parent::cerrar_bd();        
    }        
//--------------------------------------------------------------------
    
public function IniciaTransaccion(){
       
$sql="BEGIN";
       
parent::consulta($sql);
    }
//--------------------------------------------------------------------
    
public function RompeTransaccion(){
       
$sql="ROLLBACK";
       
parent::consulta($sql);
    }
//--------------------------------------------------------------------
    
public function FinTransaccion(){
       
$sql="BEGIN";
       
parent::consulta($sql);
       
parent::cerrar_bd();
    }
//--------------------------------------------------------------------
    
public function getTupla($resulta){
       return ( 
parent::getArreglo($resulta)  );
    }
//--------------------------------------------------------------------
     
public function getNTupla($resultado){
        return ( 
parent::getNRegistro($resultado)  );
     }
}
?>
el controlador
Código PHP:
<?php
session_start
();
// Llamado a libreria
include_once("../modelo/mod_registro.php");            
$obj_u = new credito();
$operacion $_POST['operacion'];
switch(
$operacion){
    case 
'1':
            
$obj_u->setcedula($_POST["cedula"]);
            
$obj_u->setnombre($_POST["nombre"]);
            
$obj_u->setgiro($_POST["giro"]);
            
$obj_u->setmonto($_POST["monto"]);
            
$obj_u->setgiro1($_POST["giro1"]);
            
$obj_u->setmonto1($_POST["monto1"]);
            
$obj_u->setgiro2($_POST["giro2"]);
            
$obj_u->setmonto2($_POST["monto2"]);
            
$obj_u->setgiro3($_POST["giro3"]);
            
$obj_u->setmonto3($_POST["monto3"]);
            
$deshacer false;
            
            
$obj_u->IniciaTransaccion();
            
// Se envia una parte de la transaccion si esta falla se activa $deshacer
            
$result $obj_u->RegistraUsuario();

            if (!
$result) {
                
$deshacer true;
            }
            else
            {
    
                
$result=$obj_u->RegistraPago();
                if (!
$result) {
                    
$deshacer true;
                }
            }
            
// se evalua si esta activo el deshacer
            
if ($deshacer
            {
                
$obj_u->RompeTransaccion();
                
header("Location:../vista/vista_mensaje.php?mensaje=.:: Ocurrio un error durante su registro. Vuelva a intentarlo ::.");
            }
            else 
            {
                
$obj_u->FinTransaccion();
                
header("Location:../vista/vista_mensaje.php?mensaje=.:: Registro completado correctamente ::.");
                }
    break;
    case 
'2':
        
$obj_u->setcedula$_POST['cedula'] );
        
$consulta=$obj_u->buscar();
        if(
$consulta>0)
            
header("Location: ../vista/registrar_credito.php?cod=".$_POST['cedula']."&& op=".$operacion);
        else
            echo 
"Error";
            
    break;
    }
?>
  #2 (permalink)  
Antiguo 14/02/2012, 17:07
Avatar de Andrexs  
Fecha de Ingreso: noviembre-2011
Mensajes: 25
Antigüedad: 12 años, 5 meses
Puntos: 1
Respuesta: [Urgencia]Necesito Tutoria

[/PHP]
Ah y la clase de la base de datos.

Código PHP:
<?
//--------------------------------------------------------------------
  
class CModeloDatos
  

    var 
$conexion;
    var 
$servidor;
    var 
$basedato;
    var 
$usuario;
    var 
$clave;
//--------------------------------------------------------------------
  
function CModeloDatos($servidor,$basedato,$usuario,$clave
  {
    
$this->servidor   $servidor;
    
$this->basedato $basedato;
    
$this->usuario    $usuario;
    
$this->clave      $clave;    
  }    
//--------------------------------------------------------------------
  
function crearConexion() 
  {
    
$this->conexion mysql_connect($this->servidor,$this->usuario,$this->clave) or die('Could not connect to mysql server.' );        
    if ( 
$this->conexion && mysql_select_db($this->basedato$this->conexion) ){
        return 
true;
    }
    else  
    {
        return 
false;
    }    
  }
//--------------------------------------------------------------------
  
function consulta($query
  {
    if ( 
$this->crearConexion() ){
         return ( 
mysql_query($query,$this->conexion ) );
         }
    else
         return 
null;
  }
//--------------------------------------------------------------------
  
function getArreglo($resultado
  {
    return 
mysql_fetch_array($resultado);
  }
//--------------------------------------------------------------------
  
function cerrar_bd() 
  {
    @
mysql_close($this->conexion);
  } 
}
//  Fin de la clase
Tuve que dividir el post, bueno espero que tengan un tiempo de leer mi código, y ayudarme en mis incógnitas. desde ya muchas gracias por sus consejos.

pd: en la funcion de busqueda tiene un for alli, de mas. no se como se paso pero bueh eso no va. disculpen

Última edición por Andrexs; 14/02/2012 a las 17:23
  #3 (permalink)  
Antiguo 14/02/2012, 18:07
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: [Urgencia]Necesito Tutoria

Es sencillo, estas recogiendo unicamente el 1er resultado que arroja la sentencia SQL en el metodo buscar(), debes recorrer todos los registros volcados mediante algún loop, en este caso se recomienda un while....

Código PHP:
Ver original
  1. public function buscar(){
  2.         $sql="select persona.*,pago.* from persona,pago where persona.cedula='$this->cedula' and pago.cedula='$this->cedula'";
  3.         $cursor=parent::consulta($sql);    
  4.  
  5.         $result = array();
  6.         $numItem = 0;
  7.  
  8.         while($row= parent::getArreglo($cursor)) {
  9.             $result[$numItem]['cedula'] = $row['cedula'];
  10.             $result[$numItem]['nombre'] = $row['nombre'];
  11.             $result[$numItem]['numero'] = $row['numero'];
  12.             $resutl[$numItem]['monto'] = $row['monto'];
  13.             $numItem++;
  14.         }
  15.  
  16.         if (count($result) != 0) {
  17.             return $result;
  18.         }else {
  19.             return -1;
  20.         }
  21.  
  22.         parent::cerrar_bd();        
  23.     }

Al presentar los datos de nuevo recorres el array con los resultados y deberías obtener todos los resultados arrojados mediante la sentencia SQL
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)

Etiquetas: html, registro, sql, usuarios, tutoriales
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 02:38.