Comunidad de diseño web y desarrollo en internet online

Es correcto o si tengo todo mi codigo en una sola pagina?...

Citar            
MensajeEscrito el 30 May 2010 05:27 pm
Tengo una duda, cuando quiero agregar, editar, o eliminar un registro de mi base de datos yo creo todo el codigo para usarlo en una sola pagina, es decir, yo puedo agregar, eliminar o modificar los registros en la misma pagina sin tener que ir a otra para procesar la informacion, pero no sé si hago bien me refiero a que si no "engordo" mucho el script y lo hago lento, la verdad no me parece lento y asi me ahorro el tener muchos archivos... aqui les dejo un ejemplo:

Código PHP :

<?php
$mod = $_GET['mod'];
$mensaje = $_GET['msg'];

echo "<form name=\"medicamentos\" method=\"POST\" action=\"".$_SERVER[PHP_SELF]."?mod=".$mod."\"/>";
$add = (isset($_POST['envio']))?true : false;
Switch($mod){
  case "add":
  if(!$add){
    echo "<input type=\"text\" name=\"mediname\"/><br/><input type=\"submit\" name=\"envio\" value=\"Agregar\"/><br/>".$_GET['msg'];
  }else{
    if($_POST['mediname'] == ""){
      $mensaje = "No deje campos vacios";
     echo "<script language='JavaScript'>location.href='".$_SERVER[PHP_SELF]."?mod=add&msg=".$mensaje."'; </script>";
    }else{
      echo "nada";
    }
  }
  break;
  case "elim";
  if(!$add){
    $select = SelectMedicamentos(medicamento,1);
    echo $select."<input type=\"submit\" value=\"Eliminar\" name=\"envio\"/>";
  }else{
    echo "Elimiar";
  }
  break;
  case "edit":
  $seleccion = (isset($_POST['seleccionar']))?false : true;
  if($seleccion){
    CrearSelect("","medicamentos","medicamentos","0","nombre_medicamento");
    echo "<input type=\"submit\" value=\"Editar\" name=\"seleccionar\"/>";
  }else{
    $QueryMedicamentos = mysql_query("SELECT * FROM medicamentos WHERE id_med='$_POST[medicamentos]'");
    $CampoMedicamento = mysql_fetch_assoc($QueryMedicamentos);
    echo "<input type=\"text\" name=\"nommbre_medicamento\" value=\"".$CampoMedicamento['nombre_medicamento']."\"/>
         <input type=\"text\" name=\"dosis\" value=\"".$CampoMedicamento['dosis_med']."\"/>
         <input type=\"submit\" name=\"update\" value=\"Guardar cambios\"/>";
  }
  break;
  default:
  echo "NO CONOCIDO";
  break;
}
echo "</form>";
?>

Por logoys

Claber

104 de clabLevel



 

firefox
Citar            
MensajeEscrito el 30 May 2010 09:22 pm
Tenerlo todo en la misma pagina hace que todo el pograma sea ineficiente en un punto ya que en cada pagina creas o sentencias las mismas llamadas o funciones, como ser crear la conexion a la base de datos y demas, cuando en realidad solo lo puedes hacer en una y llamarla cuantas veces quieras, a eso se llama programacion orientada a objetas ya que heradas funciones que son comunes para las demas clases o funciones que necesites. por otro lado te recomiendo para que todo este mejor organizado utilices un patron de diseño llamado mvc( modelo viste controlador)

Por RanuTo

32 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 30 May 2010 09:40 pm
Gracias por tu comentario, mmm la verdad no entendi muy bien tu comentario, por lo mismo de ahorrar codigo o archivos hago todo en uno solo, seria interesante un ejemplo o mejor explicada tu propuesta.

Por logoys

Claber

104 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Jun 2010 03:53 pm
yo apoyo a RanuTo... que uses la programacion orientada a objetos...

el punto de esto es que no tengas un codigo revuelto ejemplo:

podrias crear los procedimientos ya sea agregar ala base de datos ( lo que gustes ) en php y solamente en caso de ek lo nesesites mandarlo llamar.... o te pondre un ejemplo muy sensillo...

io tengo distintos textbox y ahy ingreso informacion este es mi codigo de los textbox(html):

Código HTML :

<html>
<body link="32 CD 32" vlink="32 CD 32">
            <table border="0" align="center" width="100%" height="100%">
            <tr ><td align="right"><a href="../bd/ultimo.php">ultimo ID registrado</a></td>  </tr>
        <tr>
            <td>
            <form method="post" action="../bd/guardarcompu.php">
          <input type="text" name="txtid">&nbsp; ID de la maquina <br/> <br/><br/>
          <input type="text" name="txtmarca">&nbsp; Marca de la maquina<br/><br/><br/>                              
          <input type="text" name="txtusuario">&nbsp; Usuario <br /><br/><br/>
          <input type="text" name="txttargetamadre">&nbsp; Tarjeta madre<br /><br/><br/>
          <input type="text" name="txtmonitor">&nbsp; Monitor<br /><br/><br/>
          <input type="text" name="txtred">&nbsp; Tarjeta de red<br /><br/><br/>
          <input type="text" name="txtvideo">&nbsp; Tarjeta de Video<br /><br/><br/>        
          <input type="text" name="txtaudio">&nbsp; Tarjeta de audio<br /><br/><br/>
          
          <input type="text" name="pass">&nbsp; password<br/><br/><br/>                              
          <input type="text" name="ip">&nbsp; IP <br /><br/><br/>
          <input type="text" name="dd">&nbsp; Disco Duro<br /><br/><br/>
          <input type="text" name="procesador">&nbsp; Procesador<br /><br/><br/>
          <input type="text" name="ram">&nbsp; Memoria Ram<br /><br/><br/>
          <input type="text" name="teclado">&nbsp; Teclado<br /><br/><br/>        
          <input type="text" name="mouse">&nbsp; Mouse<br /><br/><br/>
                                             
          <br/><input type="image" src="../imagenes/guardar.jpg"  align="absmiddle"/>
        </table>

</body>
</html>



igual se ve extraño el codigo... pero date cuenta que en el

Código HTML :

<form method="post" action="../bd/guardarcompu.php">
ago referencia a guardarcompu.php que es el sigueinte codigo:

Código PHP :

<?php
include_once("./bdmysql.class.php");
$bd=new BDMySQL();
$a=$_POST["txtid"];
$b=$_POST["txtmarca"];
$c=$_POST["txtusuario"];
$d=$_POST["txttargetamadre"];
$e=$_POST["txtmonitor"];
$f=$_POST["txtred"];
$g=$_POST["txtvideo"];
$h=$_POST["txtaudio"];
$i=$_POST["pass"];
$j=$_POST["ip"];
$k=$_POST["dd"];
$l=$_POST["procesador"];
$m=$_POST["ram"];
$n=$_POST["teclado"];
$o=$_POST["mouse"];

 if($bd->error==FALSE)
 {
  $sql= "INSERT INTO compus (id, marca, usuario, targetamadre, monitor, red, video, audio, password, ip, discoduro, procesador, ram, teclado, mouse) VALUES ('$a','$b','$c','$d','$e','$f','$g','$h','$i','$j','$k','$l','$m','$n','$o');";
$bd-> execute($sql);
  
  echo"DATOS GUARDADOS";
  echo"<br/><br/><a href='../iframe/txtcompus.html'>Ingresar otro registro</a>";
  //echo 'id';
 }ELSE{
 echo "error de conexion";
 }
//}
?>


y en este codigo recolecto la informacion que fue ingresada en los textbox se procesa y guarda...


NOTA: tambien si te fijas mando llamar a una clase que se llama BDMySQL.class.php que dentro de esa clase ago mi coneccion ala base de datos y al host etc etc asi cada que tenga que hacer una conceccion solo ingreso la referencia a esa clase y automaticamente lo hace...

esto es con el fin de que no tengas que estar repite y repite codigo por eso tu codigo es mas limpio y sano jaja=) no se si em explique pero si no entendiste dime y busca otra manera de explicarte con mucho gusto

Por marioparra

43 de clabLevel



 

msie8
Citar            
MensajeEscrito el 04 Jun 2010 03:56 pm
correccion:

Código :

si no entendiste dime y buscare otra manera de explikarte... con mucho gusto


a veces por una letra o dos se mal antienden las cosas jaja


saludos y cuidate

Por marioparra

43 de clabLevel



 

msie8
Citar            
MensajeEscrito el 06 Jun 2010 03:44 pm
Muchas gracias, ya entendi ;)... entonces en la version que que sigue de mi script trabajeré la POO (lo malo de esto es que tendré que reescribir casi todo el codigo xD


Gracias !!

Por logoys

Claber

104 de clabLevel



 

firefox
Citar            
MensajeEscrito el 06 Jun 2010 07:48 pm
pues si pero es lo mejor que puedes hacer puedes tambien mezclar tu poo con smarty el motor de plantillas. y buscar informacion sobre el patron de diseño MVC

Por talcual

686 de clabLevel



 

Colombia

firefox
Citar            
MensajeEscrito el 25 Jun 2010 02:03 am
Eso fue lo que hice, en verdad gracias tengo un manual de eso en PDF muy bueno al que guste pidalo por MP

Por logoys

Claber

104 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.