Foros del Web » Programando para Internet » PHP »

Problema con una consulta a la base de datos

Estas en el tema de Problema con una consulta a la base de datos en el foro de PHP en Foros del Web. Hola buenas, tengo un ligero problema, hago una consulta a la base de datos, en la que quiero sacar las tareas del empleado q selecciono, ...
  #1 (permalink)  
Antiguo 19/05/2006, 02:59
 
Fecha de Ingreso: abril-2005
Mensajes: 53
Antigüedad: 19 años
Puntos: 0
Problema con una consulta a la base de datos

Hola buenas, tengo un ligero problema, hago una consulta a la base de datos, en la que quiero sacar las tareas del empleado q selecciono, pero seleccione el empleado que seleccione siempre obtengo la tarea del mismo empleado, aqui os dejo el codigo, haber si podeis averiguar lo q pasa, gracias.

show_emp1.php
<?php
include ('book_sc_fns.php');

session_start();

$nombre = $_GET['nombre'];

$tareas = get_tarea_empleado($nombre);

do_html_header($tareas);

display_tarea_empleado($tareas);
//definimos un enlace para el boton continue
$target = 'emp1.php';




if(isset($_SESSION['admin_user']))
{
display_button($target, 'continue', 'Continue Shopping');
display_button('admin.php', 'admin-menu', 'Admin Menu');
display_button("edit_agenda_form1.php?nombre=$nomb re",
'edit-item', 'Modifica Empleado');
}
else
display_button('index.php', 'continue-shopping', 'Continue Shopping');

do_html_footer();
?>

function get_tarea_empleado($nombre)
{
if (!$nombre || $nombre=='')
return false;

$conn = db_connect();
$query ="select a.* from agenda as a, servicios as s where s.nombre=a.nombre";
$result =@$conn->query($query);
if (!$result)
return false;
$result = @$result->fetch_assoc();
return $result;

}

function display_tarea_empleado($tareas)
{

if (is_array($tareas))
{
echo '<table><tr>';

if (@file_exists('images/'.($tareas['nombre']).'.jpg'))
{
$size = GetImageSize('images/'.$tareas['nombre'].'.jpg');
if($size[0]>0 && $size[1]>0)
echo '<td><img src=\'images/'.$tareas['nombre'].'.jpg\' border=0 '.$size[3].'></td>';
}
echo '<td><ul>';
echo '<li><b>Código:</b> ';
echo $tareas['id_a'];
echo '<li><b>Nombre:</b> ';
echo $tareas['nombre'];
echo '<li><b>Día:</b> ';
echo $tareas['dia'];
echo '</li><li><b>Hora:</b> ';
echo $tareas['hora'];
echo '</li><li><b>Razón:</b> ';
echo $tareas['razon'];
echo '</li></ul></td></tr></table>';
}
else
echo 'No se pueden ver los datos de esta tarea.';
echo '<hr />';
}

edit_agenda_form1.php

<?php

// include function files for this application
require_once('book_sc_fns.php');
session_start();

do_html_header('Edita los datos de la agenda');
if (check_admin_user())
{
if ($tareas = get_tarea_empleado($HTTP_GET_VARS['nombre']))
{
display_tarea_empleado($tareas);
}
else
echo 'No se pudieron recargar los datos.<br />';
do_html_url('admin.php', 'Vuelve al menú del administrador');
}
else
echo 'No estás autorizado a entrar en este área.';

do_html_footer();

?>

Gracias, si hace falta más informacion me lo decis
  #2 (permalink)  
Antiguo 19/05/2006, 03:23
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 2 meses
Puntos: 10
Muy buenas,
cuando pongas codigo utiliza las etiquetas de [PHP] o [HTML] asi lo podremos ver mucho mas claro.
No he visto muho pero asi simple vista he visto q cojes la tarea del empleado segun su nombre, mi pregunta es, si 2 personas se llaman igual como las diferencias?
utiliza siempre un id de empleado y un id de tarea, asi te sera mucho mas facil relacionarlos.

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
  #3 (permalink)  
Antiguo 19/05/2006, 03:25
 
Fecha de Ingreso: abril-2005
Mensajes: 53
Antigüedad: 19 años
Puntos: 0
tienes razon, pero uso nombres por manias, lo siento, pero como lo administro yo, si se da el caso de q dos empleados se llamen igual les pondre el mote y se acabo, jejeje
es todo codigo php, lo q pasa es q tb os he puesto las funciones q uso.
  #4 (permalink)  
Antiguo 19/05/2006, 03:28
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 2 meses
Puntos: 10
una cosa mas, cuando hagas la consulta quita '@' porque eso evita q te devuelva algun error y kizas el error este alli.
__________________
"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
  #5 (permalink)  
Antiguo 19/05/2006, 03:37
 
Fecha de Ingreso: abril-2005
Mensajes: 53
Antigüedad: 19 años
Puntos: 0
ya lo solucione gracias
  #6 (permalink)  
Antiguo 19/05/2006, 03:41
 
Fecha de Ingreso: enero-2005
Ubicación: Barcelona
Mensajes: 1.473
Antigüedad: 19 años, 2 meses
Puntos: 10
q era? ahora no me dejes con la intriga... jajaja!

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
  #7 (permalink)  
Antiguo 19/05/2006, 03:52
 
Fecha de Ingreso: abril-2005
Mensajes: 53
Antigüedad: 19 años
Puntos: 0
era la consulta, de la funcion get_empleado_tarea()
estaba asi:
function get_tarea_empleado($nombre)
{
if (!$nombre || $nombre=='')
return false;

$conn = db_connect();
$query ="select a.* from agenda as a, servicios as s where s.nombre=a.nombre";
$result =@$conn->query($query);
if (!$result)
return false;
$result = @$result->fetch_assoc();
return $result;

}

y tenia q ser asi

function get_tarea_empleado($nombre)
{
if (!$nombre || $nombre=='')
return false;

$conn = db_connect();
$query ="select a.* from agenda as a, servicios as s where s.nombre='$nombre' and a.nombre='$nombre'";
$result =@$conn->query($query);
if (!$result)
return false;
$result = @$result->fetch_assoc();
return $result;

}
una tonteria, como casi siempre, gracias de todas formas por tu interes
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 05:55.