Foros del Web » Programando para Internet » PHP »

Duda con consulta sql

Estas en el tema de Duda con consulta sql en el foro de PHP en Foros del Web. Hola a todos, voy a explicar el problemilla que tengo con una consulta que estoy haciendo. Esta es la tabla con la que estoy trabajando ...
  #1 (permalink)  
Antiguo 24/01/2009, 12:11
 
Fecha de Ingreso: junio-2008
Mensajes: 27
Antigüedad: 15 años, 10 meses
Puntos: 0
Duda con consulta sql

Hola a todos, voy a explicar el problemilla que tengo con una consulta que estoy haciendo.

Esta es la tabla con la que estoy trabajando ahora mismo.

id_cita int(10) autoincrement
usuario varchar(20
matricula varchar(15)
telefono int(12)
nombre varchar(20)
descripcion varchar(75)
fecha date


Este es parte del código php que estoy usando

Código PHP:
 <?
    
if (!$_POST//Impedimos que se generen registros en blanco en la base de datos
    
{}
    else{
       
$nombre=$_POST[nombre]; //pasar las varialbes a sencillas
       
$matricula=$_POST[matricula];
       
$telefono=$_POST[telefono];
       
$descripcion=$_POST[descripcion];
       
$fecha=date("d-m-Y");
       
$consulta="INSERT INTO citas SET usuario='$usuario', nombre='$nombre', telefono='$telefono', matricula='$matricula', descripcion='$descripcion', fecha='$fecha' WHERE usuario and fecha NOT =";
       
$insertado=@mysql_query($consulta);
       if (!
$insertado//Comprobación de errores
            
echo "<center><h1>Se ha producido un error<h1></center><br>";
       else
       {
           echo 
"<center><b>Datos introducidos correctamente</b></center><br>";}
           
mysql_close(); //Cerramos la BD
       
}
?>
El fallo está en la línea:
$consulta="INSERT INTO citas SET usuario='$usuario', nombre='$nombre', telefono='$telefono', matricula='$matricula', descripcion='$descripcion', fecha='$fecha' WHERE usuario and fecha NOT =";

Lo que quiero es impedir que un usuario pueda pedir 2 citas en el mismo día pero no se la sintaxis que tengo que usar exactamente, he buscado en manuales y en el foro pero no doy con la solución.

PD: El usuario lo saco del usuario que está logueado en la página.

Saludos y gracias.

Última edición por Taxi23; 24/01/2009 a las 12:20
  #2 (permalink)  
Antiguo 24/01/2009, 20:01
Avatar de jfl_freak  
Fecha de Ingreso: enero-2009
Ubicación: Guatemala
Mensajes: 96
Antigüedad: 15 años, 3 meses
Puntos: 1
Respuesta: Duda con consulta sql

Que tal Taxi23 pues bueno algo que se me ocurre, talvéz no es la solución mas óptima, pero lo que podrías realizar es un select antes de realizar el insert, que sería algo así:

Código PHP:

$consulta
mysql_query("select * from citas where usuario = '$usuario' and fecha='$fecha'") or die(mysql_error());

$filas mysql_num_rows($consulta);

if (
$filas0) {
    echo 
'Ya Tiene una Cita en este día';
}
else{
$consulta="INSERT INTO citas SET usuario='$usuario', nombre='$nombre', telefono='$telefono', matricula='$matricula', descripcion='$descripcion', fecha='$fecha' ";

$insertado=@mysql_query($consulta);

Espero sea de ayuda.

Saludos
  #3 (permalink)  
Antiguo 25/01/2009, 06:34
 
Fecha de Ingreso: junio-2008
Mensajes: 27
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Duda con consulta sql

De lujo gracias crack.

Yo me estaba cegando en hacerlo todo en una sola consulta y de esta manera es más sencillo.
Es que a mi las BD se me atragantan xD.

Muchas gracias
  #4 (permalink)  
Antiguo 25/01/2009, 11:47
Avatar de Genetix  
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 2 meses
Puntos: 45
Respuesta: Duda con consulta sql

Hola
Que bueno que que se haya solucionado, pero eviten de poner código de programación
http://www.forosdelweb.com/f21/funci...-datos-413499/

Saludos!
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com
  #5 (permalink)  
Antiguo 25/01/2009, 18:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Duda con consulta sql

Tema trasladado a PHP.
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 09:05.