Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/03/2006, 11:36
sergi_climent
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 3 meses
Puntos: 10
Pregunta Mejorar rapidez de carga de varias consultas en un formulario

Hola,
tengo la siguiente consulta.
Código PHP:
$id_maquina=$_GET["id_maquina"];
$str_edit "SELECT * FROM maquines WHERE id_maquina = $id_maquina";
$q_edit mysql_query($str_edit);
$rc_edit mysql_num_rows($q_edit);
$row_edit mysql_fetch_array($q_edit); 
Con el resultado de esa consulta relleno este formulario q es para editar el registro seleccionado.
Código HTML:
<html>
<head>
<link rel="stylesheet" type="text/css" href="../style/style.css">
<title>Editar Maquina</title>
<script language="JavaScript">
function envia(){
	if (document.formalta.num_maq.value == '') {
		alert ("El nombre de la Maquina és obligatorio.");
	}else{
		document.formalta.submit();
	}
}
function comprovar(camp) {
	if (isNaN(camp.value) && camp.value != "") {
		alert("Tienes que introducir un valor numerico. La coma es el punto.");
		camp.focus();
		camp.value = "";
		}
}
</script>
<script language="Javascript" src="../js/formatdata.js"></script>
</head>
<body class="fons">
<div align="center" class="text">Editar Maquina</div>
<form name="formalta" action="index.php?fuseaction=update" method="POST">
<table width="100%" align="center" cellpadding="0" cellspacing="0" class="cuadre">
<tr>
<td width="50%" valign="top">
<table width="100%" align="center" cellspacing="2" cellpadding="0" border="0" >
<tr>      	
	<td colspan="2">&nbsp;</td>
</tr>
<tr>
	<td>&nbsp;<strong>Num. Maquina</strong></td>
	<td align="left"><input align="left" size="20"type="text"name="num_maq" value="<? echo $row_edit[num_maq]?>"></td>
</tr>
<tr>		
	<td>&nbsp;<strong>Tipos de Maquina</strong></td>
	<td align="left">
		<select name="id_maquina" class="combo">
		<?PHP
		//consulta de dades per crear el COMBOBOX
		$result = mysql_query("SELECT id_tipus_maquina,tipus_maquina FROM tipus_maquina 
							   ORDER BY tipus_maquina");
		//mostrem els resultats
		while ($row=mysql_fetch_array($result))
		{
			if ($row_edit[tipus_maq]==$row[id_tipus_maquina]){
			echo ("<OPTION VALUE=".$row[id_tipus_maquina]." SELECTED>".$row[tipus_maquina]."\n");
			}else{
			
			echo ("<OPTION VALUE=".$row[id_tipus_maquina].">".$row[tipus_maquina]."\n");
				
			}
		}	
		mysql_free_result();				
		?>	
		</select>
	</td>
</tr>
<tr>		
	<td>&nbsp;<strong>Seccion</strong></td>
	<td align="left">
		<select name="id_seccio" class="combo">
		<?PHP
		//consulta de dades per crear el COMBOBOX
		$result = mysql_query("SELECT id_seccio,seccio FROM seccio ORDER BY seccio");
		//mostrem els resultats
		while ($row=mysql_fetch_array($result))
		{
			if ($row_edit[id_seccio]==$row[id_seccio]){
			echo ("<OPTION VALUE=".$row[id_seccio]." SELECTED>".$row[seccio]."\n");
			}else{
			
			echo ("<OPTION VALUE=".$row[id_seccio].">".$row[seccio]."\n");
				
			}
		}	
		mysql_free_result();				
		?>	
		</select>
	</td>					
</tr>
<tr>		
	<td>&nbsp;<strong>Fabricante</strong></td>
	<td align="left">
		<select name="id_fabricant" class="combo">
		<?PHP
		//consulta de dades per crear el COMBOBOX
		$result = mysql_query("SELECT id_fabricant,fabricant FROM fabricants ORDER BY fabricant");
		//mostrem els resultats
		while ($row=mysql_fetch_array($result))
		{
			if ($row_edit[id_fabricant]==$row[id_fabricant]){
			echo ("<OPTION VALUE=".$row[id_fabricant]." SELECTED>".$row[fabricant]."\n");
			}else{
			
			echo ("<OPTION VALUE=".$row[id_fabricant].">".$row[fabricant]."\n");
				
			}
		}
		mysql_free_result();					
		?>	
		</select>
	</td>					
</tr>
<tr>		
	<td>&nbsp;<strong>Modelo</strong></td>
	<td align="left">
		<select name="id_model" class="combo">
		<?PHP
		//consulta de dades per crear el COMBOBOX
		$result = mysql_query("SELECT id_model,model FROM models ORDER BY model");
		//mostrem els resultats
		while ($row=mysql_fetch_array($result))
		{
			if ($row_edit[id_model]==$row[id_model]){
			echo ("<OPTION VALUE=".$row[id_model]." SELECTED>".$row[model]."\n");
			}else{			
			echo ("<OPTION VALUE=".$row[id_model].">".$row[model]."\n");
				
			}
		}	
		mysql_free_result();				
		?>	
		</select>
	</td>					
</tr>
<tr>		
	<td>&nbsp;<strong>Marca</strong></td>
	<td align="left">
		<select name="id_model" class="combo">
		<?PHP
		//consulta de dades per crear el COMBOBOX
		$result = mysql_query("SELECT id_marca,marca FROM marques ORDER BY marca");
		//mostrem els resultats
		while ($row=mysql_fetch_array($result))
		{
			if ($row_edit[id_marca]==$row[id_marca]){
			echo ("<OPTION VALUE=".$row[id_marca]." SELECTED>".$row[marca]."\n");
			}else{			
			echo ("<OPTION VALUE=".$row[id_marca].">".$row[marca]."\n");
				
			}
		}	
		mysql_free_result();				
		?>	
		</select>
	</td>					
</tr>
<tr>		
	<td>&nbsp;<strong>Numero de Serie</strong></td>
	<td align="left"><input align="left" size="20" type="text" name="nserie" value="<? echo $row_edit[nserie]?>"></td>					
</tr>
<tr>		
	<td>&nbsp;<strong>Fecha Compra</strong></td>
	<? 
		$data_compra=$row_edit[data_compra];
		$data_compra=giragiradata($data_compra);
	?>
	<td align="left"><input align="left" size="20" type="text" name="data_compra" value="<? echo $data_compra?>" onKeyUp="this.value=formateafecha(this.value);"></td>					
</tr>
<tr>		
	<td>&nbsp;<strong>Precio</strong></td>
	<td align="left"><input align="left" size="20" type="text" name="preu" value="<? echo $row_edit[preu]?>"></td>					
</tr>
<tr>		
	<td>&nbsp;<strong>Garantia</strong></td>
	<? 
		$garantia=$row_edit[data_garantia];
		$garantia=giragiradata($data_garantia);
	?>
	<td align="left"><input align="left" size="20" type="text" name="data_garantia" value="<? echo $garantia?>" onKeyUp="this.value=formateafecha(this.value);"></td>					
</tr>
<tr>		
	<td>&nbsp;<strong>Año Fabricación</strong></td>
	<td align="left"><input align="left" size="20" maxlength="4" type="text" name="anyfabricacio" value="<? echo $row_edit[anyfabricacio]?>"></td>					
</tr>
<tr>		
	<td>&nbsp;<strong>Potencia (KW) </strong></td>
	<td align="left"><input align="left" size="20" type="text" name="potencia" value="<? echo $row_edit[potencia]?>"onBlur="comprovar(this)"></td>					
</tr>
<tr>		
	<td>&nbsp;<strong>Voltaje/Fase/Intensidad</strong></td>
	<td align="left"><input align="left" size="20" type="text" name="voltatje_fase_int" value="<? echo $row_edit[voltatje_fase_int]?>"></td>					
</tr>
<tr>		
	<td>&nbsp;<strong>Proveedor</strong></td>
	<td align="left">
		<select name="id_proveidor" class="combo">
		<?PHP
		//consulta de dades per crear el COMBOBOX
		$result = mysql_query("SELECT id_empresa,empresa FROM empreses 
							   WHERE proveidor=1
							   ORDER BY empresa");
		//mostrem els resultats
		while ($row=mysql_fetch_array($result))
		{
			if ($row_edit[id_empresa]==$row[id_empresa]){
			echo ("<OPTION VALUE=".$row[id_empresa]." SELECTED>".$row[empresa]."\n");
			}else{			
			echo ("<OPTION VALUE=".$row[id_empresa].">".$row[empresa]."\n");
				
			}
		}	
		mysql_free_result();				
		?>	
		</select>
	</td>					
</tr>
<tr>		
	<td>&nbsp;<strong>Empresa Manteniment</strong></td>
	<td align="left">
		<select name="id_empresa" class="combo">
		<?PHP
		//consulta de dades per crear el COMBOBOX
		$result = mysql_query("SELECT id_empresa,empresa FROM empreses ORDER BY empresa");
		//mostrem els resultats
		while ($row=mysql_fetch_array($result))
		{
			if ($row_edit[id_empresa]==$row[id_empresa]){
			echo ("<OPTION VALUE=".$row[id_empresa]." SELECTED>".$row[empresa]."\n");
			}else{			
			echo ("<OPTION VALUE=".$row[id_empresa].">".$row[empresa]."\n");
				
			}
		}	
		mysql_free_result();				
		?>	
		</select>
	</td>					
</tr>
<tr>      	
	<td colspan="2">&nbsp;</td>
</tr>
</table>
</td>
<td width="50%" valign="top">
	<table width="100%" cellpadding="0" cellspacing="0" border="0">
	<tr>      	
		<td>&nbsp;</td>
	</tr>
	<tr>
		<td>&nbsp;<strong>Imagen</strong></td>
	</tr>
	<tr>
		<td><img src="../img/maquines/<? echo $row_edit[foto]; ?>" width="300"></td>
	</tr>
	<tr>      	
		<td>&nbsp;</td>
	</tr>
	</table>
</td>
</tr>
</table>
<table align="center">
<tr>
	<td>
		<input type="hidden" name="id_maquina" value="<? echo $row_edit[id_maquina];?>">
		<input type="Button" class="boto" value="Grabar" onClick="envia();" style="display: inline;float: none;margin: 0;padding: 0;text-align: center;height=20px;width=100px">
		<input type=button value="Cerrar" onClick="window.close()" style="display: inline;float: none;margin: 0;padding: 0;text-align: center;height=20px;width=100px"> 
	</td>
</tr>
</table>
</form>
</body>
</html> 
El problema q tengo es q tarda demasiado al cargar y solo tengo 7 consultas simples

las tablas q uso estan indexadas y las sentencias no son nada complejas, lo unico q el resultado de cada consulta tiene unos 150 registros y con estos relleno los selects.

Como puedo mejor mi indice de carga?


Gracias de antemano,

Saludos
__________________
"Cada hombre es el hijo de su propio trabajo"
Miguel de Cervantes Saavedra
"La experiencia es algo que no consigues hasta justo depués de necesitarla"
Laurence Olivier

Última edición por sergi_climent; 22/03/2006 a las 02:59