Foros del Web » Programando para Internet » PHP »

Revision de codigo.

Estas en el tema de Revision de codigo. en el foro de PHP en Foros del Web. He creado este codigo con mis propias manos, sudor y sangre, comprendenran que soy nuevo en este tema asi que me gustaria que lo revisaran ...
  #1 (permalink)  
Antiguo 16/10/2009, 09:48
 
Fecha de Ingreso: octubre-2009
Mensajes: 19
Antigüedad: 15 años, 1 mes
Puntos: 0
Revision de codigo.

He creado este codigo con mis propias manos, sudor y sangre, comprendenran que soy nuevo en este tema asi que me gustaria que lo revisaran para poder comprender el concepto de optimizacion en PHP.

Código PHP:

<?php session_start()?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "">

<html xmlns="" xml:lang="es" lang="es">

    <head>
        <title>.:Resumen de Contratos:.</title>
        <link REL="stylesheet" TYPE="text/css" HREF="css.css">
    </head>
        <body>

          <div id="header">
              <div id="header-inner">
                  <h2>Resumen de contratos</h2>
              </div>
        </div>
            <?php 
            $indice 
= -1;
            
$id = -1;
            
$cod false;
            
$rut false;
            
//$id corresponde a lo que envio desde el index.
            
if (!isset($_REQUEST['ID'])){
                
$cod $_REQUEST['cod'];
                
$rut $_REQUEST['rut'];
            }
            if (!isset(
$_REQUEST['cod'])){
                
$id $_REQUEST['ID'];            
            }
            
//recivo $datos desde lo que recivo de _session.
            
$datos=$_SESSION["datos"];
            
            
//busco directamente en la pocision del arreglo por $cod
            
$datos;
            
$palabra $cod;
            foreach(
$datos as $key=>$value){
                if (
$value[2] == $palabra){
                    
                
//if (in_array ($palabra, $value)) {
                    
$indice $key;
                    break;
                }
            }
            
//busco directamente en la posicion del arreglo por $rut
            
$datos;
              
$palabra $rut;
            foreach(
$datos as $key=>$value){
                if (
$value[0] == $palabra) {

                
//if (in_array ($palabra, $value)) {
                    
$indice $key;
                    break;
                }
            }
            
//$indice se compara con $datos, si el valor existe lo cargo en fila e imprimo
            
if ($indice != -1){
                
$fila=$datos[$indice];
                echo 
"Nombre: $fila[1] <br>";
                echo 
"Rut: $fila[0] <br>";
                echo 
"Monto: $ $fila[3] <br>";                    
            }

            
//var_dump($datos);
            //$id se compara con $datos, si el valor existe lo cargo en fila e imprimo
            
if ($id != -1){
                
$fila=$datos[$id];
                echo 
"Nombre: $fila[1] <br>";
                echo 
"Rut: $fila[0] <br>";
                echo 
"Monto: $ $fila[3] <br>";    
            }

            
// comparo valores si son correctos muestro si no envio mensaje de error
            
if ($indice != -|| $id != -1){
            echo 
"<table id=t1>";
                  echo 
"<caption>Movimientos</caption>";
                 echo 
"<thead>";
                     echo 
"<tr>";
                         echo 
"<th>Fecha</th>";
                         echo 
"<th>Movimiento</th>";
                         echo 
"<th>Monto</th>";
                     echo 
"</tr>";
                echo 
"</thead>";

                 echo 
"<tbody>";
                        echo 
"<tr>";
                              echo 
"<td>01/01/09</td><F5>";
                             echo 
"<td>Aporte</td>";
                              echo 
"<td>$9.000</td>";
                        echo 
"</tr>";
                        echo 
"<tr>";
                              echo 
"<td>18/01/09</td>";
                              echo 
"<td>Ajuste</td>";
                              echo 
"<td>$16.000</td>";
                        echo 
"</tr>";
                    echo 
"<tfoot>";
                        echo 
"<tr id=down>";
                            echo 
"<td colspan=2>Totales</td>";
                            echo 
"<td>$ {$fila[3]}</td>";

                        echo 
"</tr>";
                    echo 
"</tfoot>";
            echo 
"</table>";
            }else{
                echo 
"Registro no encontrado, porfavor vuelva a intentar.";
            }

?>

              <form>
                            
                              <input type="button" value="Volver" name="Volver" onclick="history.back()" />
                            
                          </form>




        </body>
</html>
Espero sus compentarios, saludos.
  #2 (permalink)  
Antiguo 16/10/2009, 09:57
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Revision de codigo.

Todo aquello que no necesite PHP, como por ejemplo HTML es bueno que lo escribas fuera de los tags de <?php ?> . Por ejemplo veo que hiciste una tabla, esta tabla tiene información que no necesitas colocar dentro de los tags de PHP por lo tanto lo mejor es salir de PHP y dejarlo como HTML solamente. Ejemplo de uso
Código PHP:
Ver original
  1. <?php
  2. $_SESSION["variableSession"] = "aqui va un mensaje";
  3. $variable = "1.0";
  4. ?>
  5. <table>
  6.   <tr>
  7.     <td><?php echo $_SESSION["variableSession"]; ?></td>
  8.   </tr>
  9.   <tr>
  10.     <td>otra cosa</td>
  11.   </tr>
  12.   <tr>
  13.     <td><?php echo $variable; ?>
  14.   </tr>
  15. </table>
Tambien con PHP no te tienes que preocupar de declarar un echo y los return. Ejemplo
Código PHP:
Ver original
  1. echo "algo va aqui
  2. despues va estemensaje
  3. podemos continuar creando return";
Pero como te indique todo aquello que el interprete de PHP necesite leer colocalo dentro de las etiquetas de <?php ?> pero todo aquello que no necesite colocalo fuera, así el interprete evita estar leyendo codigo innecesario. Las etiquetas de HTML las envia directamente.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 16/10/2009, 10:00
 
Fecha de Ingreso: octubre-2009
Mensajes: 19
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Revision de codigo.

Claro lo del table lo hice por que en realidad no se me ocurrió otra forma de tomar ese trozo de código para condicionarlo en caso de error.

En ese caso como podría hacerlo mas ordenado???
  #4 (permalink)  
Antiguo 16/10/2009, 10:03
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Revision de codigo.

No entendi tu pregunta
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 16/10/2009, 10:05
 
Fecha de Ingreso: octubre-2009
Mensajes: 19
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Revision de codigo.

Código PHP:
            echo "<table id=t1>
                  <caption>Movimientos</caption>
                 <thead>
                     <tr>
                         <th>Fecha</th>
                         <th>Movimiento</th>
                         <th>Monto</th>
                     </tr>
                </thead>

                 <tbody>
                        <tr>
                              <td>01/01/09</td><F5>
                             <td>Aporte</td>
                              <td>$9.000</td>
                        </tr>
                        <tr>
                              <td>18/01/09</td>
                              <td>Ajuste</td>
                              <td>$16.000</td>
                        </tr>
                    <tfoot>
                        <tr id=down>
                            <td colspan=2>Totales</td>
                            <td>$ {$fila[3]}</td>

                        </tr>
                    </tfoot>
            </table>"

Hize lo que me recomendaste, funciona ok.
Ahora en cuanto a la pregunta anterior, el tema de las variables como las envio y como las recivo esta OK???
Saludos.
  #6 (permalink)  
Antiguo 16/10/2009, 10:06
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Revision de codigo.

Lee bien lo que te indique.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 16/10/2009, 10:09
 
Fecha de Ingreso: octubre-2009
Mensajes: 19
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Revision de codigo.

Cita:
Todo aquello que no necesite PHP, como por ejemplo HTML es bueno que lo escribas fuera de los tags de <?php ?> . Por ejemplo veo que hiciste una tabla, esta tabla tiene información que no necesitas colocar dentro de los tags de PHP por lo tanto lo mejor es salir de PHP y dejarlo como HTML solamente. Ejemplo de uso
Sep lo tengo claro, pero mi pregunta es, yo hize eso por que necesitaba condicionar ese trozo de codigo en caso de error??? esta mal eso o hay otra forma de poder condicionarlo que necesite saber??

Disculpa si no me explico bien XD
  #8 (permalink)  
Antiguo 16/10/2009, 10:12
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Revision de codigo.

El codigo que tu escribiste esta bien, es más como tu lo escribiste esta bien desde el principio. Pero como indicaste optimizarlo, para que lo logres, todo aquello que tenga que ver con html y no requiera de PHP puedes sacarlo fuera de las etiquetas de PHP y cuando requieras de PHP vuelve a usar las etiquetas de <?php ?>. Por ejemplo
Código PHP:
Ver original
  1. <?php if(aqui_va_la_condicion){ ?>
  2. aqui va lo de HTML
  3. <?php } ?>
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 16/10/2009, 10:13
 
Fecha de Ingreso: octubre-2009
Mensajes: 19
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: Revision de codigo.

Aaaaaaaaaaaaa perfecto!!!!
Mil gracias mi ya entender.
XD
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 21:33.