Foros del Web » Programando para Internet » PHP »

problema para insertar datos a mysql

Estas en el tema de problema para insertar datos a mysql en el foro de PHP en Foros del Web. hola a todos y a todas veran tengo un problema bastante grande y me gustaria que alguien me ayudara se trata de hacer un filtrado ...
  #1 (permalink)  
Antiguo 29/10/2011, 16:11
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 13 años, 3 meses
Puntos: 21
Pregunta problema para insertar datos a mysql

hola a todos y a todas veran tengo un problema bastante grande y me gustaria que alguien me ayudara

se trata de hacer un filtrado a la base de datos con nombre, genero y año

se podria hacer de esta manera pero no lo consigo que cada uno sea independiente

SELECT * from peliculas WHERE nombre = 'Nombre de Pelicula' OR genero = 'Accion' AND año = 2009;

el sitio es www.videocacao.es
porfavor hechen me una mano
  #2 (permalink)  
Antiguo 29/10/2011, 16:20
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 9 meses
Puntos: 89
Respuesta: problema para insertar datos a mysql

Lo que res hacer por PHP o MySQL como este es el foro de PHP contesto por PHP:

Código PHP:
if( isset( $_POST['nombre_pelicula']) )
{
 
$SQL "SELECT * FROM peliculas WHERE nombre='".$_POST['nombre_pelicula']."'";
}
elseifif( isset( $_POST['genero']) )
 
$SQL "SELECT * FROM peliculas WHERE genero='".$_POST['genero']."'";
}else{
 
$SQL "SELECT * FROM peliculas WHERE 1=1";
}

if( isset( 
$_POST['año']) )
{
 
$SQL .= " AND año='".$_POST['año']."'";
}

 
$QUERY mysql_query$SQL )or die( mysql_error() );

while( 
$d mysql_fetch_assoc$QUERY ) )
{

Chekealo lo escribi recien.
__________________
Mono programando!
twitter.com/eguimariano
  #3 (permalink)  
Antiguo 29/10/2011, 16:20
Avatar de Sourcegeek
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: $mex['B.C.'];
Mensajes: 1.816
Antigüedad: 15 años, 6 meses
Puntos: 322
Respuesta: problema para insertar datos a mysql

Ésto es de SQL, no de PHP.
Igual, puede que te funcione así:
Código SQL:
Ver original
  1. SELECT * FROM peliculas WHERE (nombre = 'Nombre de Pelicula' OR genero = 'Accion') AND año = 2009
__________________
Buscas desarrollador web? Sourcegeek. Diseño web, Maquetación y Programación
¡Escribe bien! Esto es un foro, no un Facebook para que escribas con los pies
  #4 (permalink)  
Antiguo 29/10/2011, 17:04
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 13 años, 3 meses
Puntos: 21
Pregunta Respuesta: problema para insertar datos a mysql

entonces hago un formulario en la pagina

Código PHP:
<form method="post" action="#">
<
label>pelicula</label>
<
input type="text" name="pelicula" id="pelicula" />
<
label>genero</label>
<
input type="text" name="genero" id="genero" />
<
label>año</label>
<
input type="text" name="año" id="año" />
<
label></label>
<
input type="submit" name="enviar" id="enviar" value="enviar" />
</
form
y luego hago otra de resultados no? que recoga las variavles post o get y que me los muestren

Código PHP:
if( isset( $_POST['pelicula']) )
{
 
$SQL "SELECT * FROM peliculas WHERE nombre='".$_POST['pelicula']."'";
}
elseifif( isset( $_POST['genero']) )
 
$SQL "SELECT * FROM peliculas WHERE genero='".$_POST['genero']."'";
}else{
 
$SQL "SELECT * FROM peliculas WHERE 1=1";
}

if( isset( 
$_POST['año']) )
{
 
$SQL .= " AND año='".$_POST['año']."'";
}

 
$QUERY mysql_query$SQL )or die( mysql_error() );

while( 
$d mysql_fetch_assoc$QUERY ) )
{
$d['pelicula'];
$d['genero'];
$d['año'];

asi seria correcto no?

una pagina index.php con formulario y otro de proceso datos.php
  #5 (permalink)  
Antiguo 29/10/2011, 17:25
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 13 años, 3 meses
Puntos: 21
Respuesta: problema para insertar datos a mysql

tengo un problema de sintaxis
Código HTML:
Parse error: syntax error, unexpected T_IF, expecting '(' in [B]en la linea 7[/B] donde esta else if
Código PHP:
<?php 
require_once("../configuracion.php");

if(isset(
$_GET['pelicula'])){
$sql "SELECT * FROM Peliculas WHERE Nombre='".$_GET['pelicula']."'";

elseif if(isset(
$_GET['genero'])){
$sql "SELECT * FROM Peliculas WHERE Genero='".$_GET['genero']."'";
}else{
$sql "SELECT * FROM Peliculas WHERE 1=1";
}
if(isset(
$_GET['año'])){
$sql .= " AND año='".$_GET['año']."'";
}
$query mysql_query($sql) or die(mysql_error());
?>

<?php while($datos mysql_fetch_assoc($query)) { ?>
<?php 
echo $datos['pelicula']; ?>
<?php 
echo $datos['genero']; ?>
<?php 
echo $datos['año']; ?>
<?php 
?>
  #6 (permalink)  
Antiguo 29/10/2011, 17:29
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 9 meses
Puntos: 89
Respuesta: problema para insertar datos a mysql

Cita:
Iniciado por ahaugas Ver Mensaje
tengo un problema de sintaxis
Código HTML:
Parse error: syntax error, unexpected T_IF, expecting '(' in [B]en la linea 7[/B] donde esta else if
Código PHP:
<?php 
require_once("../configuracion.php");

if(isset(
$_GET['pelicula'])){
$sql "SELECT * FROM Peliculas WHERE Nombre='".$_GET['pelicula']."'";

elseif if(isset(
$_GET['genero'])){
$sql "SELECT * FROM Peliculas WHERE Genero='".$_GET['genero']."'";
}else{
$sql "SELECT * FROM Peliculas WHERE 1=1";
}
if(isset(
$_GET['año'])){
$sql .= " AND año='".$_GET['año']."'";
}
$query mysql_query($sql) or die(mysql_error());
?>

<?php while($datos mysql_fetch_assoc($query)) { ?>
<?php 
echo $datos['pelicula']; ?>
<?php 
echo $datos['genero']; ?>
<?php 
echo $datos['año']; ?>
<?php 
?>
Si lees tu codigo en la linea 7 dice:
Código PHP:
elseif if(isset($_GET['genero'])){ 
elseif if
__________________
Mono programando!
twitter.com/eguimariano
  #7 (permalink)  
Antiguo 29/10/2011, 17:41
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 13 años, 3 meses
Puntos: 21
Respuesta: problema para insertar datos a mysql

vale eso esta solucionado, pero no me muestran los nombres de peliculas solo saca todos las categorias de todas las peliculas

pero no los nombres

gracias a todos por las respuestas y la ayuda
  #8 (permalink)  
Antiguo 29/10/2011, 18:23
Avatar de ahaugas  
Fecha de Ingreso: agosto-2011
Ubicación: Madrid
Mensajes: 249
Antigüedad: 13 años, 3 meses
Puntos: 21
Respuesta: problema para insertar datos a mysql

tengo un problema a la hora de filtrar los datos, solo me los filtra por nombre, pero me gustaria filtrarlo solo por nombre o categoria o año si eliges categoria que te muestren los datos de la categoria seleccionado, cada campo de filtro vaya independientemente no se si me explico

Código PHP:
<?php 
// METODO A USAR: http://www.misitio.com/datos.php?pelicula=Virtuosity&genero=ciencia-ficcion&año=2011&enviar=enviar
require_once("../configuracion.php");
error_reporting(0);

if(isset(
$_GET['pelicula'])){
        
$sql "SELECT * FROM Peliculas WHERE Nombre='".$_GET['pelicula']."'";
    } 
else if(isset(
$_GET['genero'])){
        
$sql "SELECT * FROM Peliculas WHERE Genero='".$_GET['genero']."'";
    } else {
        
$sql "SELECT * FROM Peliculas WHERE 1=1";
    }
if(isset(
$_GET['año'])){
        
$sql .= " AND año='".$_GET['año']."'";
    }
$query mysql_query($sql) or die(mysql_error());
?>
<p>
<?php while($datos mysql_fetch_assoc($query)) { ?>
<?php 
echo $datos['Nombre']; ?>
<br />
<?php echo $datos['Genero']; ?>
<br />
<?php echo $datos['Video_Link']; ?>
</p>
<?php ?>
lo que si hace bien es si lo llamas independientemente por ej:
http://www.misitio.com/datos.php?pelicula=Virtuosity
http://www.misitio.com/datos.php?genero=ciencia-ficcion
http://www.misitio.com/datos.php?año=2011

ni los tres a la vez ni dos solo busca pelicula
  #9 (permalink)  
Antiguo 30/10/2011, 09:15
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 9 meses
Puntos: 89
Respuesta: problema para insertar datos a mysql

1º si ves la estructura de el ELSEIF notaras que si tiene seteado el nombre de la pelicula no utiliza el genero...
( En un biblioteca si buscas un libro, preguntas a la bibliotecaria y te indica, caso contrario vagas por los pasillo buscando algo que te interese).
2º Segun la extructura si pones

http://www.misitio.com/datos.php?gen...ccion&año=2011

va a buscar por genero y año.
.---------------------------------------------

Código PHP:
<?php while($datos mysql_fetch_assoc($query)) { ?> 
<?php echo $datos['Nombre']; ?> 
<br /> 
<?php echo $datos['Genero']; ?> 
<br /> 
<?php echo $datos['Video_Link']; ?> 
</p> 
<?php ?>
Un poco mas legible

Código PHP:
<?php
echo "<p>";
 while(
$datos mysql_fetch_assoc($query)) { 
echo 
$datos['Nombre']."<br /> \n";
echo 
$datos['Genero']."<br /> \n";
echo 
$datos['Video_Link']. "<br />\n ";
 }
echo 
"</p";
 
?>
__________________
Mono programando!
twitter.com/eguimariano

Etiquetas: php+formularios, 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 22:05.