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

base de datos problema

Estas en el tema de base de datos problema en el foro de Mysql en Foros del Web. Tengo una BBDD de una biblioteca donde están almacenados los libros, autores,editoriales,socios,prestamos... Los prestamos los creo de esta manera: <?php $link=mysql_connect("localhost","genius","genius") ; mysql_select_db("proyecto",$link); $isbn=$_REQUEST[isbn]; $ejemplar=$_REQUEST[ejemplar]; ...
  #1 (permalink)  
Antiguo 12/03/2012, 10:19
 
Fecha de Ingreso: marzo-2012
Mensajes: 16
Antigüedad: 12 años, 1 mes
Puntos: 0
base de datos problema

Tengo una BBDD de una biblioteca donde están almacenados los libros, autores,editoriales,socios,prestamos...
Los prestamos los creo de esta manera:

<?php
$link=mysql_connect("localhost","genius","genius") ;
mysql_select_db("proyecto",$link);
$isbn=$_REQUEST[isbn];
$ejemplar=$_REQUEST[ejemplar];
$dni=$_REQUEST[dni];
$inicial=$_REQUEST[inicial];
$final=$_REQUEST[fin];



$resultado=mysql_query("SELECT * FROM ejemplares,socios WHERE ejemplares.isbn='$isbn' AND ejemplares.ejemplar='$ejemplar'",$link) or die(mysql_error());

if(mysql_num_rows($resultado)==0){
echo "<script language='javascript'>alert('El ejemplar del libro no se encuentra en la biblioteca');location.href='realizar_prestamo.php' ;</script>";
}

else{
$resultado4=mysql_query("SELECT * FROM socios WHERE dni='$dni'",$link) or die(mysql_error());
if(mysql_num_rows($resultado4)==0){

echo "<script language='javascript'>alert('El socio no existe');location.href='realizar_prestamo.php';</script>";
}

$resultado2=mysql_query("SELECT * FROM ejemplares,socios WHERE ejemplares.isbn='$isbn' AND ejemplares.ejemplar='$ejemplar' AND socios.dni='$dni'",$link) or die(mysql_error());
if(mysql_num_rows($resultado2)!=0){

$resultado3=mysql_query("SELECT * FROM prestamos WHERE isbn='$isbn' AND ejemplar='$ejemplar' AND dni='$dni'",$link) or die(mysql_error());
if(mysql_num_rows($resultado3)!=0){
echo "<script language='javascript'>alert('El ejemplar del libro ya ha sido prestado a otro socio');location.href='realizar_prestamo.php';</script>";

}
else{
$agregarubicacion="INSERT INTO prestamos(isbn,ejemplar,dni,fecha_inicio,fecha_fin al)
VALUES('$isbn','$ejemplar','$dni','$inicio','$fin' )";
mysql_query($agregarubicacion,$link) or die(mysql_error());
}
}


echo "<script language='javascript'>alert('Préstamo agregado correctamente');location.href='realizar_prestamo.p hp';</script>";
}
?>


esccribo el isbn, el ejemplar y al socio al que le quiero prestar, asi como la fecha de inicio y final del prestamo
ahora lo que quiero es realizar una especie de informa semestral en el que se detalle los libros mas prestados y los que mas tiempo han estado prestados.
Por mucho que pienso no se como ponerme a hacerlo. no se si habria que unir consultas con php usando contadores, no se como meterle mano, alguna ayuda por favor?
gracias
  #2 (permalink)  
Antiguo 12/03/2012, 11:39
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: base de datos problema

Hola sergiolpm:

En primero lugar, una observación, este es un foro de MySQL, muchas veces hemos insistido en que NO SE DEBE POSTEAR CODIGO DE NINGÚN LENGUAJE DE PROGRAMACIÓN, para eso existen los foros propios de los lenguajes, en tu caso, al usar PHP deberías publicar tu código en el siguiente foro:

http://www.forosdelweb.com/f18/

Ahora bien, con respecto a tu problema, dejas el tema muy abierto, y en realidad no especificas ninguna duda en concreto, lo cual es un problema. Además no nos das muchos detalles sobre tu modelo de BD y por lo tanto es muy difícil tratar de ayudarte.

En cuanto al tipo de consultas que quieres obtener, debes utilizar FUNCIONES DE AGRUPACION como COUNT, y MAX, para obtener los libros que más veces se han prestado o más tiempo han permanecido en préstamo, pero estas consultas varían de acuerdo al modelo de datos que tengas. Creo que es conveniente en primer lugar que investigues algo acerca de estas funciones (y algunas más como MIN, AVG, VAR, etc) así como el uso de las cláusulas GROUP BY y HAVING. Una vez que tengas un panorama general de cómo se usan, entonces tratar de obtener los datos que quieres, y si tienes problemas entonces acudir nuevamente al foro.

Recuerda, trata de plantear tu problema como una duda específica, por ejemplo, ¿Cómo puedo obtener cuál es el libro más prestado en un semestre?, incluye la estructura de las tablas en donde almacenas tus datos y de ser posible algunos datos de ejemplo. Postea también alguna de las consultas que haz intentado hacer y dinos los problemas que tienes, sean errores sintácticos o lógicos es decir cuando la consulta no marca error pero no hace lo que quieres, y nuevamente remarcar, NO INCLUYAS CÓDIGO PHP, enfócate sólo en cuestiones de MySQL.

Saludos
Leo.
  #3 (permalink)  
Antiguo 12/03/2012, 12:51
 
Fecha de Ingreso: marzo-2012
Mensajes: 16
Antigüedad: 12 años, 1 mes
Puntos: 0
Respuesta: base de datos problema

Vale, gracias, al ser una mezcla de php y mysql no sabia en cual de los dos entrar,estoy investigando todo lo que me dices, muchas gracias, si existe alguna duda concreta, la comentare

Etiquetas: php, query, select, sql
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 17:37.