Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

ayuda..

Estas en el tema de ayuda.. en el foro de PostgreSQL en Foros del Web. estoy enredado..... como hago que un function revisa_acceso($perfil, $idsubmenu) { $sqlacc = "select * from web.acceso acc where acc.perfil_id = $perfil and acc.submenu_id = $idsubmenu"; ...
  #1 (permalink)  
Antiguo 29/10/2010, 07:45
Avatar de xamilo  
Fecha de Ingreso: febrero-2010
Mensajes: 120
Antigüedad: 14 años, 9 meses
Puntos: 1
ayuda..

estoy enredado.....

como hago que un

function revisa_acceso($perfil, $idsubmenu)
{
$sqlacc = "select * from web.acceso acc
where acc.perfil_id = $perfil
and acc.submenu_id = $idsubmenu";
return new DB_server($sqlacc);
}

esa función me busca si existen accesos.... si no existe un acceso k seleccione en un combolist ($perfil y $idsubmenu) entonces quiero hacerle un insert a dixa tabla accesos e insertar el nuevo acceso...

si existe el acceso seleccionado que aga un update.............

mi problema... es que noc como preguntar si el select k ace la funcion no encuentra nada entonce que me inserte lo k kiero......


se entiende? ayuda plz!!!!
__________________
- Ingeniero en Informática -
  #2 (permalink)  
Antiguo 29/10/2010, 08:06
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: ayuda..

Haz uso de COUNT.

Código SQL:
Ver original
  1. SELECT COUNT(*) AS conteo FROM tabla WHERE condicion;

Si te retorna cero (0) es porque no hay registros que suplan esa condición.

Si te retorna un numero superior a 0, sabes que existe algo en la tabla que supla la condición.

desde php accedes al valor de count por el alias, que en este ejemplo sería conteo.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #3 (permalink)  
Antiguo 29/10/2010, 09:00
Avatar de xamilo  
Fecha de Ingreso: febrero-2010
Mensajes: 120
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: ayuda..

ok.... =) gracias

ahora tengo otra duda
un select el cual me trae todos los accesos que seleccione en un select anterior

cuando ago el insert este lo tengo dentro de un for para que me traiga todos los datos de cada una de los accesos.....

ahora el problema es que cuando selecciono en un checkbox el acceso k quiero insertar en la tabla, al estar dentro del for el programa se cae xk intenta insertar un acceso que ya existe

ejemplo: yo selecciono el ultimo acceso de la lista que es uno nuevo y al aceptar y proceder al insert, el programa intenta insertar el primer acceso, que ya existe y x ende se cae

....... se entendio?
ayuda de nuevo plz :P
__________________
- Ingeniero en Informática -
  #4 (permalink)  
Antiguo 29/10/2010, 09:02
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: ayuda..

Creo que esta pregunta estaría mejor en el foro de php.

alla de seguro te ayudan con eso.

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 29/10/2010, 09:11
Avatar de xamilo  
Fecha de Ingreso: febrero-2010
Mensajes: 120
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: ayuda..

ok..... ahora una consulta de postgres

quiero sacar el numero mayor de un campo

ej: select top(1) menu_id from tb_accesos

como seria?
__________________
- Ingeniero en Informática -
  #6 (permalink)  
Antiguo 29/10/2010, 09:16
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: ayuda..

Código SQL:
Ver original
  1. SELECT MAX(menu_id) FROM tb_accesos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #7 (permalink)  
Antiguo 02/11/2010, 07:40
Avatar de xamilo  
Fecha de Ingreso: febrero-2010
Mensajes: 120
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: ayuda..

nueva duda =)

mysql_fetch_assoc como seria en postgres??
o algo parecido para recorrer un for while o lo k sea?
__________________
- Ingeniero en Informática -
  #8 (permalink)  
Antiguo 02/11/2010, 07:43
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: ayuda..

pg_fetch_assoc

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #9 (permalink)  
Antiguo 02/11/2010, 10:26
Avatar de xamilo  
Fecha de Ingreso: febrero-2010
Mensajes: 120
Antigüedad: 14 años, 9 meses
Puntos: 1
Respuesta: ayuda..

gracias por la ayuda :P

en postgres como ocuparías ON DUPLICATE KEY UPDATE y en especial en mi caso?

gracias nuevamente =)
__________________
- Ingeniero en Informática -
  #10 (permalink)  
Antiguo 02/11/2010, 10:56
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 9 meses
Puntos: 360
Respuesta: ayuda..

Con reglas xamilo

mira este interesante apartado de la documentación oficial
http://www.postgresql.org/docs/curre...es-update.html

saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming

Etiquetas: Ninguno
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 16:18.