Holas
necesito que algien porfavor me ayude a limpiar este codigo, no tengo muchos conocimientos de php y esta fue la unica forma que se me ocurrio :rolleyes: para hacer consultas en tablas distintas (dentro de la misma db)
switch ($tabla){
/////////////buscar en tabla 1////////////////
case 1:
if($parte=='')
{
echo "<script>alert('debe ingresar al menos un nombre para realizar la busqueda')</script>";
}else{
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname, $conn);
$sql = "SELECT * FROM tabla1 WHERE partes like '%".$parte."%' and year= $year";
$result = mysql_query($sql, $conn);
/// esta parte llama al codigo q genera la tabla ///
include("while/indice1.php");
mysql_free_result($result);
mysql_close();
}
break;
/////////////buscar en tabla 2////////////////
case 2:
if($parte=='')
{
echo "<script>alert('debe ingresar al menos un nombre para realizar la busqueda')</script>";
}else{
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname, $conn);
$sql = "SELECT * FROM tabla2 WHERE partes like '%".$parte."%' and year= $year ";
$result = mysql_query($sql, $conn);
/// esta parte llama al codigo q genera la tabla ///
include("while/indice2.php");
mysql_free_result($result);
mysql_close();
}
break;
etc......
en realidad son 12 tablas pero puse las 2 primeras por que es el mismo metodo para todo, pense en poner como variable solamente esta parte donde selecciona la tabla(n) $sql = "SELECT * FROM tabla2 WHERE partes like '%".$parte."%' and year= $year ";
pero por algun motivo no pude, el codigo funciona pero imagino que debe haber otra forma de hacerlo algo mas "descente"
bueno eso es todo gracias
saludos
PD: estoy ocupando bluefish para escribirlo
sorry no habia visto el subforo de php :P (muevanlo porfas)
Varias cosas:
1. No se para que tantas tablas con campos similares, si tienes pensado almacenar información diferente en cada una para procedimientos determinados, solo agrégale un campo extra que diferencie el tipo de registro o a quien va dirigido.
2. Llamar las mismas líneas de código una y otra vez, en ese caso convierte eso en función y pásale como parámetro los valores que diferencian un caso de otro y que te devuelva el nombre del archivo a incluir.
3. Yo no usaría JS para mostrar los mensajes en pantalla. :P
1.- son varias tablas que no me permiten modificar, lo unico que logre q me dejaran hacer es agregar un campo mas "id" y en realidad son archivos de exel q pase a mysql
2.- efectivamente era lo que tenia pensado pero no logre, las 12 consultas solo se diferencia en la tabla que selecciona en esta parte:
$sql = "SELECT * FROM tabla1 WHERE partes like '%".$parte."%' and year= $year";
3.- q recomiendas algo como un echo "debe ingresar al menos un nombre para realizar la busqueda";
Gracias =P
uuuuhhhhhhh :rolleyes: esto acortaria el codigo un poco
if($parte=='')
{
echo "aqui el mensaje";
}else{
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
mysql_select_db($dbname, $conn);
///// y aqui el switch ///////
switch ($sql){
case 1:
$sql = "SELECT * FROM tabla1 WHERE partes like '%".$parte."%' and year= $year";
include("while/indice1.php");
case 2:
$sql = "SELECT * FROM tabla2 WHERE partes like '%".$parte."%' and year= $year";
include("while/indice2.php");
case 3:
$sql = "SELECT * FROM tabla3 WHERE partes like '%".$parte."%' and year= $year";
include("while/indice3.php");
}
$result = mysql_query($sql, $conn);
mysql_free_result($result);
mysql_close();
}