Ver Mensaje Individual
  #6 (permalink)  
Antiguo 01/07/2012, 12:31
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: selecionar opcion

Bien acabo de fijarme y para empezar te doy algunos consejos y pautas generales:

1_Intenta razonar antes de preguntar ten en cuenta que estas aprendiendo y la pregunta es solo el ultimo recurso.

2_IDENTA EL CODIGO!!! es muy dificil de leerlo asi como esta

3_Trata de no repetir codigo para funciones similares, esto solo hara que tu pagina engorde y se haga mas pesada pero no que cresca.

4_Algun comentario cada tanto no esta de mas, piensa que tu no eres el unico que la va a leer o piensa en ti mismo dentro de 3 meses ¿Crees que en 3 meses tu entenderas tu propio codigo asi desprolijo? recuerda: "Comentar un codigo es como limpiar el baño, nadie quiere hacerlo pero a la larga tu y tus visitas lo agradeceran"

5_A las unidades agregales el 'px' al final, el numero solo puede que algunos navegadores no lo tomen bien sobre todo el cancerigeno IE

6_Los estilos css y el javascrit ponlo en archivos externos y llamalos de esta manera tu pagina pesara menos y se cargara un poco mas rapido, aunque asta que no se cargue por completa el visitante vera la pantalla en blanco.

7_No uses etiquetas repetidamente de forma innesesaria, en ves de usar un "<center>" dentro de cada "<td>" usa el atributo css:"td { text-align:center }" de esta manera logras el mismo efecto con menos codigo y ademas para eso esta CSS.

8_El css esta bien pero podria ser mas breve, en lugar de poner el color de cada uno de los bordes (teniendo en cuenta que es el mismo) pones uno solo general.

no es a modo de critica sino a modo de sugerencia personal despues de todo no soy nadie para criticarte.

Volviendo al tema aqui te paso tu codigo IDENTADO y COMENTADO para que lo entiendas, si algo no te queda claro pregunta y te lo explicare espero te sirva saludos.

Código HTML:
Ver original
  1. <?php
  2.     //Valido al visitante, si esta logueado lo dejo ver sino lo mando al index.php
  3.     session_start();
  4.    
  5.     if($_SESSION['user']=="") {
  6.         header("location: index.php");
  7.     }
  8. ?>
  9. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  10. <html xmlns="http://www.w3.org/1999/xhtml">
  11.     <head>
  12.     <!--INFORMACION DE LA PAGINA-->
  13.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  14.         <title>Documento sin título</title>
  15.     <!--JAVASCRIPT-->
  16.         <script type="text/javascript">
  17.             function cargar_texto(id,texto){ //Recibe un ID del div donde pondra un texto y un TEXTO que pondra en ese div, puedes usarla fuera de esto para otras utilidades ;)
  18.                 var contenedor = document.getElementById(id); //Define al Div con ese ID
  19.                 contenedor.innerHTML = texto; //Le pone el texo que le ayas dicho o lo limpia si el texto es vacio ('')
  20.             }
  21.             function mostrarporcentaje() //La que desidira que mostrar segun la opcion
  22.             {
  23.                 switch (Formulario.basic.value) { //Segun que operacion este en el select pongo el simbolo adecuado, para quitar alguno borra la linea que aparece comentada pero no el case, o bien remplaza todo el swich por esto:
  24.                
  25.                     //if (Formulario.basic.value=='porcent') {
  26.                     //  cargar_texto('icono','%'); //Le pongo el simbolo de la operacion
  27.                     //} else {
  28.                     //  cargar_texto('icono','%'); //Le pongo el simbolo de la operacion
  29.                     //}
  30.                     //Si remplazas el switch por esto la funcion no sera reutilizable y solo servira para este caso puntual, no lo recomiendo pero queda en ti desidir eso
  31.                    
  32.                     case 'suma':
  33.                       cargar_texto('icono','+'); //Le pongo el simbolo de la operacion
  34.                     break;
  35.  
  36.                     case 'resta':
  37.                       cargar_texto('icono','-'); //Le pongo el simbolo de la operacion
  38.                     break;
  39.  
  40.                     case 'multi':
  41.                       cargar_texto('icono','*'); //Le pongo el simbolo de la operacion
  42.                     break;
  43.  
  44.                     case 'div':
  45.                       cargar_texto('icono','/'); //Le pongo el simbolo de la operacion
  46.                     break;
  47.  
  48.                     case 'cuadrado':
  49.                       cargar_texto('icono','^2'); //Le pongo el simbolo de la operacion
  50.                       Formulario.num2.value=''; //Borro el segundo numero para mayor claridad
  51.                     break;
  52.  
  53.                     case 'bicuadrado':
  54.                       cargar_texto('icono','^4'); //Le pongo el simbolo de la operacion
  55.                       Formulario.num2.value=''; //Borro el segundo numero para mayor claridad
  56.                     break;
  57.  
  58.                     case 'porcent':
  59.                       cargar_texto('icono','%'); //Le pongo el simbolo de la operacion
  60.                     break;
  61.  
  62.                     default:
  63.                       lacuenta="Error ID=1074"; //En caso de que se ingrese alguna opcion nueva e ivalida al select pongo un error convencional
  64.                 }
  65.             }
  66.         </script>
  67.     <!--ESTILO CSS-->
  68.         <style type="text/css">
  69.         footer a {
  70.             font-family: "Lucida Console", Monaco, monospace;
  71.             font-size: 36px;
  72.             font-weight: bold;
  73.             color: #000;
  74.             text-decoration: none;
  75.             text-align: center;
  76.         }
  77.         td{
  78.             text-align:center;
  79.         }
  80.         #icono{
  81.             font-weight:bold;
  82.             float:right;
  83.         }
  84.         </style>
  85.     </head>
  86.  
  87.     <body>
  88.  
  89.         <div class="laterales">
  90.             <div class="calcup">
  91.                 <!--Esto nose que funcion tiene pero estaria bueno aclararlo-->
  92.                 <div class="result">
  93.                     <?php
  94.  
  95.                         $num=$_POST['num'];
  96.                         $num2=$_POST['num2'];
  97.                         $basic=$_POST['basic'];
  98.  
  99.                         if($basic=='suma'){
  100.                             $ok= $num + $num2;
  101.                         } elseif($basic=='resta') {
  102.                             $ok= $num - $num2;
  103.                         } elseif($basic=='multi') {
  104.                             $ok= $num * $num2;
  105.                         } elseif($basic=='div') {
  106.                             $ok= $num / $num2;
  107.                         } elseif($basic=='cuadrado') {
  108.                             $ok= $num * $num;
  109.                         } elseif($basic=='bicuadrado') {
  110.                             $ok=$num * $num * $num * $num;
  111.                         } elseif($basic=='porcent') {
  112.                             $ok=($num2 / 100) * $num;
  113.                         }
  114.  
  115.                         echo $ok;
  116.  
  117.                     ?>
  118.                 </div>
  119.             </div>
  120.         </div>
  121.  
  122.         <div class="abajo">
  123.             <form action="calculator.php" method="post" ID="Formulario" Name="Formulario">
  124.                 <center>
  125.                     <table width="423px">
  126.                         <tr>
  127.                             <td class="num"width="120px">
  128.                                 <!--Primer numero a operar-->
  129.                                 <input type="text" name='num' id="textfield" size="10px" value="<?php echo $num; ?>" />
  130.                             </td>
  131.                             <td class="basic" width="112px">
  132.                                 <!--Operaciones posibles-->
  133.                                 <select name="basic" id="basic" onchange="mostrarporcentaje();">
  134.                                     <option value="suma">+ Sumar</option>
  135.                                     <option value="resta">- Restar</option>
  136.                                     <option value="multi">X Multiplicar</option>
  137.                                     <option value="div">/ Dividir</option>
  138.                                     <option value="cuadrado">x2</option>
  139.                                     <option value="bicuadrado">x4</option>
  140.                                     <option value="porcent">% Porcentaje</option>
  141.                                 </select>
  142.                             </td>
  143.                             <td id="num2" width="127px" class="num2" >
  144.                                 <!--Segundo numero a operar-->
  145.                                 <input type="text" name="num2" size="10px" value="<?php echo $num2; ?>" />                         
  146.                                 <!--Muestro icono segun la operacion-->
  147.                                 <div id="icono" name="icono"></div>
  148.                             </td>
  149.                             <td width="38px" class="igual">
  150.                                 <!--Boton para calcular-->
  151.                                 <input type="submit" name="button" id="button" value="=" />
  152.                             </td>
  153.                         </tr>          
  154.                     </table>
  155.                     <div class="borde"></div>
  156.                 </center>
  157.             </form>
  158.         </div>
  159.         <footer>
  160.             <a href="usuario.php">Regresar</a>/<a href="salir.php">salir</a>
  161.         </footer>
  162.     </body>
  163. </html>

PD: Me llevo tiempo hacerlo asi que espero que lo valores y lo utilices para mejorar tus codigos en el futuro.

PD2: Faltan las primeras lineas de CSS ya que sino el mensaje es muy largo para postearlo "El texto que has ingresado es muy largo (10587 caracteres). Por favor acórtalo a 10000 caracteres de largo."