Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] problema con tablas php mysql

Estas en el tema de problema con tablas php mysql en el foro de PHP en Foros del Web. Hola espero me puedan ayudar tengo 3 tablas en la base de datos: -usuario id titulo -menu id titulo -permiso_usuario id id_usuario id_menu alta edita ...
  #1 (permalink)  
Antiguo 18/04/2016, 13:38
 
Fecha de Ingreso: diciembre-2015
Mensajes: 6
Antigüedad: 8 años, 11 meses
Puntos: 0
problema con tablas php mysql

Hola espero me puedan ayudar tengo 3 tablas en la base de datos:

-usuario
id
titulo

-menu
id
titulo

-permiso_usuario
id
id_usuario
id_menu
alta
edita
baja

tengo en html al entrar al perfil de un usuario que muestre todos los menus que existen en la bd y con un campo checkbox en cada uno los cuales son alta, edita y baja cuando presiono uno se actualiza la bd y se modifica el registro eso lo hace bien mi problema es que al momento de activar por ejemplo alta, lo hace bien solo q cuando se muestra en html todos los alta de todos los menus se ven activos espero alguien me pudiera ayudar por favor

este es mi codigo

<div class="panel_body">
<label class="permisos">permisos</label>
<table class="tabla_permisos" cellspacing="0" cellpadding="0" width="400px">
<tr>
<td width="25%">alta</td>
<td width="25%">editar</td>
<td width="25%">baja</td>
</tr>
</table>
<div class="clear10"></div>
<?php
$q = mysql_query("SELECT *, id AS idMenu FROM menu ORDER BY id ASC");
while($r = mysql_fetch_array($q)){
extract($r);
?>
<label class="permisos"><?= $titulo; ?></label>
<table cellpadding="5px" border="0" width="400px">
<tr>
<td width="25%" align="center">
<input type="checkbox" name="" value="" onclick="permiso_pag('alta', <?= $idUser; ?>, <?= $idMenu; ?>)">
</td>
<td width="25%" align="center">
<input type="checkbox" name="" value="" onclick="permiso_pag('editar', <?= $idUser; ?>, <?= $idMenu; ?>)">
</td>
<td width="25%" align="center">
<input type="checkbox" name="" value="" onclick="permiso_pag('baja', <?= $idUser; ?>, <?= $idMenu; ?>)">
</td>
</tr>
</table>
<div class="clear10"></div>
<?php
}
?>
</div>
  #2 (permalink)  
Antiguo 18/04/2016, 14:23
 
Fecha de Ingreso: octubre-2010
Ubicación: España
Mensajes: 1.007
Antigüedad: 14 años, 1 mes
Puntos: 123
Respuesta: problema con tablas php mysql

Realmente no te termino se entender.

Se actualizan tos los campos con el mismo valor?

Donde esta el update?

Puedes intentar explicarte mejor.
__________________
Unset($vida['malRollo']);
  #3 (permalink)  
Antiguo 18/04/2016, 15:00
 
Fecha de Ingreso: diciembre-2015
Mensajes: 6
Antigüedad: 8 años, 11 meses
Puntos: 0
Respuesta: problema con tablas php mysql

mira tengo los campo check y los uso con javascript

<input type="checkbox" name="" value="" onclick="permiso_pag('alta', <?= $idUser; ?>, <?= $idMenu; ?>)" <?php if($alta == 1){ echo "checked='checked'";} ?>>

entonces hace esta funcion

function permiso_pag(permiso, idUser, idMenu){
$.ajax({
url: 'permisos.php',
type: 'POST',
data: "permiso="+permiso+"&idUser="+idUser+"&idMenu="+id Menu,
success: function(data){
alertify.success("Permiso Modificado!!!");
}
});
}

y por ultimo el archivo php

$q = mysql_query("SELECT *, id AS idUser FROM usuario WHERE id = '$idUser' ");
while($r = mysql_fetch_array($q)){
extract($r);
}

$q = mysql_query("SELECT *, id AS idMenu FROM menu WHERE id = '$idMenu' ");
while($r = mysql_fetch_array($q)){
extract($r);
}

$q = mysql_query("SELECT *, id AS idPermiso FROM permiso_usuario WHERE id_usuario = '$idUser' AND id_menu = '$idMenu' ");
$r = mysql_fetch_array($q);
extract($r);


if($permiso == 'alta'){
if(mysql_num_rows($q)<=0){//SI EL REGISTRO NO EXISYE
//echo 'registro no existe';
mysql_query("
INSERT INTO permiso_usuario (id_usuario, id_menu, alta)
VALUES ('$idUser', '$idMenu', 1)
");
}else{//SI EL REGISTRO EXISTE
if($alta == 0){
mysql_query("
UPDATE permiso_usuario
SET alta='1'
WHERE id = '$idPermiso'
");
}else if($alta == 1){
mysql_query("
UPDATE permiso_usuario
SET alta='0'
WHERE id = '$idPermiso'
");
}
}
}

y esta parte es donde se muestran los registros

<div class="panel_body">
<label class="permisos">permisos</label>
<table class="tabla_permisos" cellspacing="0" cellpadding="0" width="400px">
<tr>
<td width="25%">alta</td>
<td width="25%">editar</td>
<td width="25%">baja</td>
</tr>
</table>
<div class="clear10"></div>
<?php
$q = mysql_query("SELECT *, id AS idMenu FROM menu ORDER BY id ASC");
while($r = mysql_fetch_array($q)){
extract($r);
?>
<label class="permisos"><?= $titulo; ?></label>
<table cellpadding="5px" border="0" width="400px">
<tr>
<td width="25%" align="center">
<input type="checkbox" name="" value="" onclick="permiso_pag('alta', <?= $idUser; ?>, <?= $idMenu; ?>)" <?php if($alta == 1){ echo "checked='checked'";} ?>>
</td>
<td width="25%" align="center">
<input type="checkbox" name="" value="" onclick="permiso_pag('editar', <?= $idUser; ?>, <?= $idMenu; ?>)">
</td>
<td width="25%" align="center">
<input type="checkbox" name="" value="" onclick="permiso_pag('baja', <?= $idUser; ?>, <?= $idMenu; ?>)">
</td>
</tr>
</table>
<div class="clear10"></div>
<?php
$alta = 0;
}

?>
</div>

Etiquetas: html, mysql, registro, select, tabla, tablas
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 21:59.