Programación Web y Scripting > PHP
INSERT desde php
cesand:
Hola gente...
les pido una ayuda para hacer un INSERT INTO desde php
en la tabla que necesito incertar es en esta-
estoy intentando incertar desde un formulario los datos.. el tema que nose como es es por ejemplo en el caso de la columna de la tabla id_autor tiene un valor numero ya qu nombre del autor esta en otra tablar (autores) lo que voy a ingresar en el formularia es texto como hago con esto? me pasa lo mismo que en la columna id_compania
el codigo que estoy usando para agregar este registro es este
--- Código: PHP ---<?php @ $sd=mysql_pconnect("localhost","root",""); // conecta a mysqlif (!$sd){echo "Error al conecta con mysql";exit;} mysql_select_db("discos"); // convierto en variables mas simples las del FORMULARIO$a=trim($_POST['autor']);$t=trim($_POST['titulo']);$c=trim($_POST['compania']); $query= "insert into discos values('".null."', '".$a."', '".$c."', '".$t."')";//echo $query;$result=(mysql_query($query); if ($result){echo mysql_affected_rows ()."Registro introducido en la base de datos";}echo "<br>";echo "<a href='nuevo_registro.php'>carga un autor nuevo</a>"; ?> <html><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><title>ADD registro</title></head> <body><FORM method="post" action="nuevo_registro.php"><table width="70%" border="3" cellspacing="1" cellpadding="1"> <tr> <td>Autor</td> <td> <input type="text" name="autor"></td> </tr> <tr> <td>Titulo del Disco</td> <td><input type="text" name="compania"></td> </tr> <tr> <td>Compania</td> <td><input type="text" name="titulo"></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" name="cargar" value="submit"> </td> </tr></table></FORM> </body></html>
sus ayudas desde ya mil gracias
DriverOp:
Te tocará buscar el id_autor y id_compania por separado, me temo. Aunque yo lo habría hecho distinto desde un principio. En vez de hacer que el visitante escriba el nombre de cada cosa (excepto el título_disco) le pondría dos <select> para que elija entre los ya existentes.
cesand:
gracias por la respuesta amigo...
exacto esa era la idea inicial hacer un combo o menu desplegable select pero no lo pude hacer no me salio por eso opte por hacerlo asi crei podia ser mas facil...
pero otra cosa por mas que hago un select en el INSERT (el SQL) que hice como tendria que hacer ese sql INSERT para un menu desplegable? igualmente todavia tengo la duda por que lo que quiero hacer no es una busqueda de los AUTORES ya existenntes en base de datos. lo que busco hacer es agregar nuevos autores a la DB.
QUE OTRA MANO ME PODES DAR...
gracias desde ya
Saludos.
locazopro:
si quieres hacer lo de los Select puedes hacer algo como esto:
--- Código: PHP --- <?php//Aqui codigo para la conexion a la db ...//...//... //La consulta a la DB$query = mysql_query(SELECT nombre,id FROM autores WHERE 1);?><select name="autores"><?phpwhile ($row = mysql_fetch_assoc($query)) {?> <option value="<?php echo $row['id'];?>"><?php echo $row['nombre'];?></option><?php}?></select>
suponiendo que en la tabla autores el campo que identifica se llama id y el nombre del autor es nombre.
No he probado el código pero debería funcionar, claro que tienes que adornarlo un poco pero por lo menos es la base.
Lo otro, no se si entendí bien, pero dices que quieres agregar nuevos autores a la base de datos, no entiendo cual es el problema en esa situación, si pudieras explicarlo mejor.
saludos!
DriverOp:
Al igual que locazopro no entiendo bien qué quieres hacer en realidad. En tu primer mensaje queda claro que lo que quieres es dar de alta un nuevo titulo_disco asociando a él, el id del autor y el id de la companía, ambos datos aportados por el visitante.
Ahora dices que quieres dar de alta nuevos autores. Son dos procesos separados y distintos. No puedo verlo de otra forma.
A menos que antes de hacer el INSERT a la tabla "discos" hagas dos SELECT para buscar si el autor y la compania que el usuario ha escrito existen en la base de datos, caso contrario dar de alta esos también, pero al hacerlo así terminarás, tarde o temprano con inconsistencia de datos. Imagina que el nombre del autor es Juan Perez, el visitante podría escribirlo como "Perez, Juan", "Peres, Juan", "Juan Peres", "J. Perez" etc..., para MySQL esos son nombres distintos aunque en realidad se refieran a la misma persona.
Navegación
[#] Página Siguiente
Ir a la versión completa