PHP - Paso de Variable con metodo $_GET usando Jquery

 
Vista:
Imágen de perfil de MarvinMorales
Val: 26
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

Paso de Variable con metodo $_GET usando Jquery

Publicado por MarvinMorales (21 intervenciones) el 19/10/2017 07:00:04
Hola, Buenas noches, estoy estudiando desarrollo web, y actualmente estoy estudiando PHP, estoy desarrollando un sitio web de noticias, he creado base de datos y un pequena pagina para administrar el contenido, todo funciona muy bien hasta ahora, pero lo que quiero hacer es lo siguiente:

Si un usuario hace click en un titulo, uso el siguiente codigo Jquery:

1
2
3
4
$('#Titulo1').click(function(){
	var titulo = $('#Titulo1').text();
	window.location.href = 'noticia.php?destacados='+ titulo;
});

Este toma el valor de la etiqueta "Titulo1" y lo envia a la pagina noticia.php pasando la variable por la URL.
En la pagina noticia.php, esta escrito un codigo PHP + HTML para que funcione como receptor de los registros de la Base de Datos en MySQL.

El codigo PHP en la pagina noticia.php funciona porque lo probe antes intentar pasar variables por URL, es el siguente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
	//Crear Variables para conexion Noticias Principales
	$host = "localhost";
	$user =	"kautivai_EditorDeNoticias";
	$pw = "***************************";
	$dataBase1 = "kautivai_DatosDeNoticias";
	$dataBase2 = "kautivai_Login";
 
	$varPagMain = $_GET['destacados']; //Variable que trae Titulo de index.php, usando jquery (main.js)
 
	$conexion = mysql_connect($host, $user, $pw) or die("Problemas al conectar con base de datos
        'kautivai_DatosDeNoticias'");
	mysql_select_db($dataBase1, $conexion) or die("Problemas al conectar con base de datos
        'kautivai_DatosDeNoticias'");
 
	$Noticias_query = "SELECT * FROM Noticia1 WHERE Titulo = $varPagMain";
 
	// Ejecutas las consulta 
	$result = mysql_query($Noticias_query)
	or die("Error al realizar consulta: ".mysql_error());
 
	while($final = mysql_fetch_array($result)){
?>

Con este codigo lo que trato de hacer es que PHP busque en la base de datos algun campo que posea la misma informacion que trae la variable "destacados" y extraiga todos los registros que tiene esa fila especifica de la tabla "Noticia1"

Debajo de este codigo hay codigo HTML + PHP que sirve para reemplazar o agregar el texto en las diferentes etiquetas, y creo que no es necesario ponerlo.

El punto es que al probar el codigo en un hosting real, con dominio propio, me sale el siguiente error en la pagina:

"Error al realizar consulta: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near................................."

No tengo ni idea que diablos es MariaDB ni por que me sale ese mensaje de error, la variable se esta pasando correctamente por la URL:

http://mywebsite.com/noticia.php?destacados=Nefasta%20pol%C3%ADtica%20forestal%20y%20la%20industria%20detr%C3%A1s%20de%20los%20bosques:%20lo%20que%20debes%20saber%20del%20fuego%20en%20Galicia

Alguien podria ayudarme a ver el error, o guiarme para lograr hacer lo que necesito?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Paso de Variable con metodo $_GET usando Jquery

Publicado por xve (6935 intervenciones) el 19/10/2017 10:40:34
Hola Marvin, mariaDB, es una derivada de MySQL, la cual vas a empezar a escuchar mucho, ya que se esta cambiado de MySQL a MariaDB por temas de licencia.
https://es.wikipedia.org/wiki/MariaDB

Sobre tu problema, no indicas en que linea te da el error, pero puede ser que sea en esta linea:
1
$Noticias_query = "SELECT * FROM Noticia1 WHERE Titulo = $varPagMain";
y tenga que ser así:
1
$Noticias_query = "SELECT * FROM Noticia1 WHERE Titulo = '$varPagMain'";


NOTA: Recuerda que las instrucciones mysql_.... en PHP7 ya no existen!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de MarvinMorales
Val: 26
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

Paso de Variable con metodo $_GET usando Jquery

Publicado por MarvinMorales (21 intervenciones) el 19/10/2017 21:32:17
Hola xve, muchisimas gracias por tu comentario y observacion, efectivamente el error habia sido las comillas en la variable '$varPagMain', ahora ya no se muestra el error, me redirecciona a la pagina noticia.php, pero me muestra la pagina en blanco.
He hecho una prueba mostrando un <?php echo "El titulo es: "+ $varPagMain; ?> y tampoco se muestra nada en la pagina, por lo que deduzco que la variable se esta quedando vacia y que el codigo Jquery no esta funcionando:


1
2
3
4
5
6
7
//Codigo pagina index.php
<h1 id="Titulo1">Un incendio consume un bosque entero en USA</h1>
 
$('#Titulo1').click(function(){       //click en el titulo
	var titulo = $('#Titulo1').text();        //El texto "Un incendio consume un bosque entero en USA" se guarda en la variable "titulo"
	window.location.href = 'noticia.php?destacados='+ titulo;    //La variable 'titulo' se envia por URL a la pagina noticia.php dentro de la variable "destacados"
});





Aunque si se esta enviando la variable, no se por que no se muestra nada en la pagina noticia.php, ya que la URL del navegador muestra:
http://mywebsite/noticia.php?destacados=Un%20incendio%20consume%20un%20bosque%20entero%20en%20USA

Reitero el codigo PHP en noticia.php para poderlo revisar y juntos poder encontrar una solucion:




//Codigo pagina noticia.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?php
	//Crear Variables para conexion Noticias Principales
	$host = "localhost";
	$user =	"kautivai_EditorDeNoticias";
	$pw = "**********************";
	$dataBase1 = "kautivai_DatosDeNoticias";
	$dataBase2 = "kautivai_Login";
	$varPagMain = $_GET['destacados'];      //Variable que trae Titulo de index.php, usando Jquery (main.js)
 
	$conexion = mysql_connect($host, $user, $pw) or die("Problemas al conectar con base de datos 'kautivai_DatosDeNoticias'");
	mysql_select_db($dataBase1, $conexion) or die("Problemas al conectar con base de datos 'kautivai_DatosDeNoticias'");
 
	$Noticias_query = "SELECT * FROM Noticia1 WHERE Titulo = '$varPagMain'";
 
	// Ejecutas las consulta 
	$result = mysql_query($Noticias_query)
	or die("Error al realizar consulta: ".mysql_error());
 
	while($final = mysql_fetch_array($result)){        //Apertura de while
?>
 
<?php echo "<h1>".$final['Titulo']."</h1>";
<?php echo "<h1>".$final['Subtitulo']."</h1>";
<?php echo "<h1>".$final['Texto']."</h1>";
 
<?php
}      //Cierre de while
?>




Como info adicional, dejame decirte que mi base de datos en MySQL se llama "kautivai_DatosDeNoticias",
y la tabla se llama "Noticia1", la tabla posee 9 campos pero solo te pongo un ejemplo de los mas necesarios que son "Titulo", "Subtitulo" y "Texto".. No es autoincrementable, todos son de tipo VARCHAR
y tienen campos de 200 caracteres.

La base de datos funciona bien, aunque cuando ingreso datos desde la pagina de administracion no reemplaza los datos en la tabla, sino que crea una nueva fila manteniendo los datos ingresados anteriormente y asi sucesivamente, no se si eso implicara algun tipo de error y si es q sera normal, Por eso es que trato de hacer que me extraiga los datos de la fila correspondiente, al buscar un titulo que sea igual al que se le dio CLICK.

Que crees que este pasando mi estimado amigo, disculpa mi ignorancia pero soy novato y estoy tratando de aprender.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar