Foros del Web » Programando para Internet » PHP »

se puede insertar con condiciones

Estas en el tema de se puede insertar con condiciones en el foro de PHP en Foros del Web. Quisiera saber si se puede insertar nuevos campos a la base de datos cuando cumpla ciertas condiciones el codigo que hice fue el siguiente: $letras="insert ...
  #1 (permalink)  
Antiguo 05/11/2003, 13:43
 
Fecha de Ingreso: noviembre-2003
Mensajes: 157
Antigüedad: 20 años, 5 meses
Puntos: 0
se puede insertar con condiciones

Quisiera saber si se puede insertar nuevos campos a la base de datos cuando cumpla ciertas condiciones el codigo que hice fue el siguiente:
$letras="insert into pagos($cuota,$monto) values ('$fecha','$total') where numero_alumno='$numero' and semestre='$semestre' and ano='$ano'";

hice este codigo y no me dio resultado.
  #2 (permalink)  
Antiguo 05/11/2003, 14:33
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

INSERT = Crear un nuevo registro

UPDATE = Modificar campos de uno o varios registros ya existentes.

Y ahora vas al manual de tu base de datos (si es MySQL, en www.mysql.com) y buscas la sintaxis del UPDATE.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 05/11/2003, 22:01
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
No recuerdo bien... pero creo que no existe la semtencia sql con insert y where en la misma línea. (que creo que es lo que preguntas). Más bien creo que se puede hacer una consulta tipo INSERT ... SELECT.... WHERE. Busca en el manual de mysql. Ahí encontrarás lo que buscas.

Saludos

<EDITADO>acá te dejo los links al manual:
http://www.mysql.com/doc/en/INSERT.html
http://www.mysql.com/doc/en/INSERT_SELECT.html </EDITADO>

Última edición por jpinedo; 05/11/2003 a las 22:04
  #4 (permalink)  
Antiguo 05/11/2003, 22:09
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Bueno... el post anterior es por lo que entiendo del título de tu post.
Si lo que quieres es añadir un nuevo CAMPO, la sintaxis que debes utilizar es ALTER.

Saludos
  #5 (permalink)  
Antiguo 05/11/2003, 22:17
 
Fecha de Ingreso: octubre-2003
Ubicación: Concepción
Mensajes: 84
Antigüedad: 20 años, 6 meses
Puntos: 0
Hola, no se si mi ayuda te pueda servir de algo. Jpinedo tiene razon, parece que no puedes utilizar WHERE en los INSERTS de MySQL. Si se pudiera entonces los campos "numero_alumno", "semestre" y "ano" deberían pertenecer a la tabla "pagos", por lo que veo en tu insert la tabla pagos tiene dos columnas. En forma alternativa si lo que quieres es saber cuando hacer un INSERT u otro segun condiciones de tus variables puedes utilizar una cláusula IF. Algo asi:

Código PHP:
IF ((numero_alumno=='$numero') && (semestre=='$semestre') && ( ano=='$ano'))
{
$letras="insert into pagos($cuota,$monto)  values '$fecha','$total')";
$result=mysql_query($letras);


Última edición por heraldex; 05/11/2003 a las 22:21
  #6 (permalink)  
Antiguo 05/11/2003, 22:19
 
Fecha de Ingreso: octubre-2003
Ubicación: Concepción
Mensajes: 84
Antigüedad: 20 años, 6 meses
Puntos: 0
Aunque creo q si lo que quieres es modificar campos (y no agregar nuevos registros) entonces lo puedes hacer con UPDATE (aqui si puedes utilizar la cláusula WHERE). Creo q esto ya lo habían dicho antes, pero no está demás.

Saludos
  #7 (permalink)  
Antiguo 06/11/2003, 01:24
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 7 meses
Puntos: 41
Si los campos llamados $cuota y $monto ya existen en tu BD, lo que tienes que utilizar es UPDATE. Algo así:

UPDATE pagos SET $cuota=$fecha $monto=$total WHERE numero_alumno=$numero and semestre=$semestre and ano=$ano

No sé si está del todo correcta.. pero cualquier duda.. al manual pues.

Saludos

Última edición por jpinedo; 06/11/2003 a las 01:26
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 13:23.