Comunidad de diseño web y desarrollo en internet online

Ingresar datos a varias tablas con condiciones

Citar            
MensajeEscrito el 10 Ago 2008 10:37 pm
Amigos estoy haciendo mis practicas con Php .. please tengo otro problema :

Tengo 3 tablas mysql (Edicion, Temas, Contenido)lo cuales quiero que se les ingresen datos por medio de un formulario. Dicho formulario tiene 3 campos "edicion", "tema" e "informacion" Este form normal me ingresa los datos a las tablas .... ahora mi problema es k estas tablas ya vienen con datos incorporados .. lo k necesito es k al ingresar el campo "tema" k compare con la tabla temas si ya existe ese tema k no me ingrese nada pero si en la otras ... y si no encuentra conhincidencia ose el tema ingresado no existe k lo agregue y k igual me agregue las demas tablas ... espero me puedan ayudar Slaudos, aqui les dejo el codigo k estuve haciendo ... funciona pero no me compara los temas e igual se agrega repetida ....

<?php
if(isset($_POST['edc']) && !empty($_POST['edc']) && isset($_POST['tema']) && !empty($_POST['tema']) && isset($_POST['info']) && !empty($_POST['info']))
{
$tm="'".$_POST['tema']."'";
$tem=mysql_query("Select * FROM temas where nombre=$tm");
if($tem==$tm)
{
mysql_query("INSERT INTO contenidos (edicion,temas,contenido) VALUES ('{$_POST['edc']}','{$_POST['tema']}','{$_POST['info']}')",$link);
mysql_query("INSERT INTO ediciones (edicion) VALUES ('{$_POST['edc']}')",$link);

}else
{
mysql_query("INSERT INTO contenidos (edicion,temas,contenido) VALUES ('{$_POST['edc']}','{$_POST['tema']}','{$_POST['info']}')",$link);

mysql_query("INSERT INTO ediciones (edicion) VALUES ('{$_POST['edc']}')",$link);

mysql_query("INSERT INTO temas (nombre) VALUES ('{$_POST['tema']}')",$link);
}
//$my_error = mysql_error($get);

if(!empty($my_error))
{echo "Sucedi&oacute; un error al insertar los datos, $my_error";}
else
{echo "<span class='Estilo15'>Los datos han sido ingresados satisfactoriamente,<br>gracias.</span>";}

}
else
{echo "<span class='Estilo15'>No ha introducido todos los datos requeridos,<br>por favor vuelva a intentarlo<br><br><a href='insertar.php'>Regresar</a></span>";
}
?>

Por iviydinet

45 de clabLevel



Genero:Masculino  

msie7
Citar            
MensajeEscrito el 17 Ago 2008 08:30 pm
El problema lo tienes en la comparacion que tienes aca:

Código PHP :

$tm = "'".$_POST['tema']."'";
$tem = mysql_query("Select * FROM temas where nombre=$tm");
if( $tem == $tm )  


En la primera linea, no hay motivo por el cual debas de utilizar "'" y concatenar la variable $_POST['tema']; de hecho podrias hacer la comparacion directamente con la variable POST.

En la consulta que haces a la BDD seleccionas toda la fila, por lo que te devuelve un arreglo, asi que la comparacion que haces nunca va a poder ser adecuada, ya que comparas un texto (varchar) con un array.

Por lo que mi recomendacion seria seria la siguiente:

Código PHP :

$tem = mysql_query("Select nombre FROM temas where nombre=$tm");
if( $tem == $_POST['tema'] )


Por cierto escribir con la K no es bueno U_U

Por Hg

33 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Ago 2008 08:36 pm

Hg escribió:


Código PHP :

$tem = mysql_query("Select nombre FROM temas where nombre=$tm");
if( $tem == $_POST['tema'] )



corrigiendo el SQL, de la consulta.....

Código PHP :

$tem = mysql_query("Select nombre FROM temas where nombre ='". $_POST['tema']."'" );
if( $tem == $_POST['tema'] )

Por Hg

33 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.