Foros del Web » Programando para Internet » PHP »

llamar un juego de registros de acuerdo a lo que se inserte

Estas en el tema de llamar un juego de registros de acuerdo a lo que se inserte en el foro de PHP en Foros del Web. hola que tal?? espero darme a entender. tengo una tabla que se llama asignacionderecursos en donde sus campos son: IdAsignacion, Idempleado, Tiporecurso, Foliorecurso y depto. ...
  #1 (permalink)  
Antiguo 20/09/2006, 13:22
AME
 
Fecha de Ingreso: julio-2006
Mensajes: 71
Antigüedad: 17 años, 9 meses
Puntos: 0
Sonrisa llamar un juego de registros de acuerdo a lo que se inserte

hola que tal??
espero darme a entender.

tengo una tabla que se llama asignacionderecursos en donde sus campos son:
IdAsignacion, Idempleado, Tiporecurso, Foliorecurso y depto.

lo que necesito es hacer una consulta que de acuerdo a lo que el usuario inserte el departamento busque el id y lo mande.
tengo la siguiente consulta:

Código PHP:
<?php
$colname_Recordset1 
"-1";
if (isset(
$_GET['depto'])) {
  
$colname_Recordset1 = (get_magic_quotes_gpc()) ? $_GET['depto'] : addslashes($_GET['depto']);
}
mysql_select_db($database_conexion$conexion);
$query_Recordset1 sprintf("SELECT * FROM asignacionderecursos WHERE depto = %s ORDER BY IdAsignacion ASC"$colname_Recordset1);
$Recordset1 mysql_query($query_Recordset1$conexion) or die(mysql_error());
$row_Recordset1 mysql_fetch_assoc($Recordset1);
$totalRows_Recordset1 mysql_num_rows($Recordset1);
?>
y en mi formulario tengo lo siguiente:

Código HTML:
<table width="410" border="1" bordercolor="#000000">
      <tr>
        <tdInserte el departamento&nbsp;</td>
        <td><input name="departamento" type="text" size="10" maxlength="10" /></td>
      <input name="ver" type="button" value="Ver" onclick=""/>
      </tr>
    </table> 
entonces, lo que necesito hacer es que cuando el usuario inserte un numero de departamento y le de click al boton ver me despliege todos los registros de ese depatamento insertado. supongo de que cuando se inserte el dato este lo buscara en la bd de acuerdo a la consulta.

la consulta ya la tengo es la de arriba.

graciasssssssss.
saludos
  #2 (permalink)  
Antiguo 20/09/2006, 16:31
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 2 meses
Puntos: 2
Hola muy buenas,

Hazlo pasandole la variable $departamento que recoges del formulario,no se si te entendi bien pero yo te entendi que quieres mostrar diferentes filas segun lo que haya introducido el usuario,si es asi yo creo que deverias hacerlo asi:
Código PHP:
SELECT FROM asignacionderecursos WHERE depto '$departamento' ORDER BY IdAsignacion ASC 
Supongo que depto significa departamento por lo que si no entendi mal seria como lo de arriba para que dinamicamente te busque segun el usuario te inserte datos.

Otra cosa que no veo es la validacion de:
Código PHP:
<input name="departamento" type="text" size="10" maxlength="10" /> 
Yo te recomendaria que utilizaras la funcion ereg(),para confirmar que lo que introduce el usuario es un numero.

Un Saludo! y espero haberte ayudado en algo,sino es lo que buscabas solo tienes que preguntar..
  #3 (permalink)  
Antiguo 21/09/2006, 07:17
AME
 
Fecha de Ingreso: julio-2006
Mensajes: 71
Antigüedad: 17 años, 9 meses
Puntos: 0
Sonrisa

hola que tal??
gracias por su ayuda.

los departamentos que tengo son:
1,2,3,4 hasta el 15

tengo una tabla que se llama asignacion de recursos en el que trata de dar a cada usuario equipos como cpu, monitor, impresora, scanner, etc.
entonces el usuario dice: solo quiero ver la asignacion del departamento 3. entonces cuando lo inserte solo debe de arrojar todos los empleados de ese departamento con sus asignaciones.

y disculpe lo del ereg() como funciona?

graciasssss
  #4 (permalink)  
Antiguo 21/09/2006, 11:05
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por AME Ver Mensaje
hola que tal??
gracias por su ayuda.

los departamentos que tengo son:
1,2,3,4 hasta el 15

tengo una tabla que se llama asignacion de recursos en el que trata de dar a cada usuario equipos como cpu, monitor, impresora, scanner, etc.
entonces el usuario dice: solo quiero ver la asignacion del departamento 3. entonces cuando lo inserte solo debe de arrojar todos los empleados de ese departamento con sus asignaciones.

y disculpe lo del ereg() como funciona?

graciasssss
La función "ereg()" se usa para tratar tu "cadena" bajo un patrón dado de expresión regular y así encontrar en ella tu "id del departamento" que está en una cadena (en un campo de tu tabla) todos juntos separados por una "coma" ..

De todas formas, esa función en "PHP" no sería lo óptimo usarlo, tendrías que usar su equivalente en SQL (funciones de expresiones regulares).

Por otro lado Podrías usar en SQL la sentencia LIKE .. pero te dará problemas con el 1 y 1N resultados que quieras obtener.

Código PHP:
$sql="SELECT * FROM asignacionderecursos WHERE depto LIKE  '%$departamento%'"
Si lo pruebas veras los problemas que te menciono. Es decir .. este sistema con n° de 1 al 9 .. no hay problema, es simple de implementar ..

Realmente esa forma de almacenar esos datos en "un campo" viene bien cuando no tienes que hacer busquedas sobre ese campo u otras operacioens (sólo para "visualizarlo") y menos para hacer relaciones con otras tablas.

Por qué no usas una tabla exclusiva relacionada con la tuya para almacenar esa inforación "normalizada"?


Tabla asignacionderecursos
IdAsignacion
Idempleado
Tiporecurso
Foliorecurso
iddepto_recurso --> campo relación (FK)


Tabla depto_asignacionderecursos
iddepto_recurso
IdAsignacion
iddepto

Claro, las consultas SQL en este tipo de "modelo de datos" se complican . .pero es cosa de menajarlas y veras que obtienes mejores resultados, sin limites . .sin más complicaciones extra y casi directo de tu sentencia SQL a ejecutar sin más "PHP" por médio.

Si quieres probar este modelo de datos .. visita el foro de "Base de datos" por si no te aclaras con las consultas SQL a realizar para extraer tus datos.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 21/09/2006, 12:34
AME
 
Fecha de Ingreso: julio-2006
Mensajes: 71
Antigüedad: 17 años, 9 meses
Puntos: 0
Sonrisa

hola que tal??

graciass

a ver si entendi.

lo que dice es que yo cree una tabla nueva en donde pueda hacer una relacion con ello uniendolo por la llave primaria.

pero despues de eso tengo esta parte.

Código HTML:
<input name="departamento" type="text" size="10" maxlength="10" />
      <input name="ver" type="button" value="Ver" onclick="depto"/> 
entonces cuando el usuario ya inserte el numero de departamento como lo valido para que lo muestre??

graciassssss por todo.

saludos
  #6 (permalink)  
Antiguo 21/09/2006, 16:03
Avatar de limboings  
Fecha de Ingreso: enero-2005
Mensajes: 794
Antigüedad: 19 años, 2 meses
Puntos: 2
hola buenas,

lo que te dije yo de validar era para que el usuario no metiera scripts malignos o introdujera letras o cosas de este tipo,y de esta manera poder personalizar si introduce letras que salga un error que diga "las letras no son admitidas" o cualquier otro..

Este codigo es para recoger la informacion que el usuario inserta,despues en una pagina php validas,almacenas o haces lo que quieras hacer con los datos introducidos en las "cajas de texto".
Código PHP:
<input name="departamento" type="text" size="10" maxlength="10" />  <input name="ver" type="button" value="Ver" onclick="depto"/> 
Despues de buscar en la BD lo que quieres,en tu caso el departamento,lo muestras llamando a la funcion mysql_result(),esta funcion devuelve el valor del campo o celda,por ejemplo:
Código PHP:
$conn mysql_pconnect("Host","Nombre_usuario","Contraseña");
   
$query "select catname
             from categories
             where catid = $catid"
;
   
$result mysql_query($query);
   
$result mysql_result($result0"catname");
   echo 
$result
Se pueden utilizar mas formas para mostrar en pantalla datos de campos/celdas de una tabla de una base de datos pero que yo crea y sepa esta es la forma mas simple de hacerlo..si quieres mas info pon en google mismo "mysql_result()" y te sale informacion.

Un Saludo..

P.D: Como siempre digo,no me considero experto en esto asi que si alguien ve algo que me he equivocado o cualquier cosa que este mal que me rectifique!!
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 11:18.