Jump to content


Photo

Php buscador


  • Please log in to reply
8 replies to this topic

#1 Lucas

Lucas

    Newbie

  • Miembros
  • Pip
  • 5 posts

Posted 19 August 2013 - 12:38 PM

Buenas, vengo de cesarcancino.com tengo este problema que no se como solucionar mas bien no encuentro el error.
Vi este tutorial:
VideoTutorial 18 del Curso de PHP y MySQL

Y creo que esta todo en orden pero por alguna razon no me funciona el buscador.
Este es el codigo del buscador


delphi
  1. <div id="buscador">
  2. <form name="buscador" method="get" action="',$url,'/buscar.php">
  3. <input type="text" name="s" id="cuadrobuscar" placeholder="Buscador..." autocomplete="off">
  4. </form>
  5. </div>




Este es el de buscar.php


delphi
  1. <?php
  2. /* S E P A R A D O R - S E P A R A D O R - S E P A R A D O R */
  3. require_once ("class.php");
  4. require_once ("conexion.php");
  5. include ("meta-tags.php");
  6. include ("/tema/header.php");
  7.  
  8. /* S E P A R A D O R - S E P A R A D O R - S E P A R A D O R */
  9. $contador = "SELECT COUNT(*) AS cuantos FROM pelicula WHERE p_titulo like '%".$_GET["s"]."%'";
  10. $resultado = mysql_query($contador,$conectar);
  11. if ($total=mysql_fetch_array($resultado))
  12. {
  13. $cuenta = $total["cuantos"];
  14. }
  15.  
  16. /* S E P A R A D O R - S E P A R A D O R - S E P A R A D O R */
  17. if (isset($_GET["pos"]))
  18. {
  19. $paginas = $_GET["pos"];
  20. }
  21. else
  22. {
  23. $paginas = 0;
  24. }
  25.  
  26. $contador = "SELECT COUNT(*) as cuantos FROM pelicula WHERE p_titulo like '%".$_GET["s"]."%'";
  27. $resultado = mysql_query($contador,$conectar)or die(mysql_error());
  28.  
  29. /* S E P A R A D O R - S E P A R A D O R - S E P A R A D O R */
  30. while($final = mysql_fetch_array($resultado)){
  31. echo '
  32. <div class="boxpelis">
  33. <a href="',$url,'/p/',$final['p_link'],'"><img src="',$url,'/imagenes/',$final["p_id"],'.jpg" width="136" height="200" title="',$final['p_titulo'],'" id="imagencaratula"></a>
  34. </div>';
  35. }
  36.  
  37. /* S E P A R A D O R - S E P A R A D O R - S E P A R A D O R
  38. include ("/tema/footer.php"); */
  39. ?>



Este es el de conexion.php


delphi
  1. <?php
  2. /* S E P A R A D O R - S E P A R A D O R - S E P A R A D O R */
  3. $servidor = "localhost";
  4. $usuario = "test";
  5. $clave = "";
  6.  
  7. /* S E P A R A D O R - S E P A R A D O R - S E P A R A D O R */
  8. if ($clave == "") {
  9. $conectar = mysql_connect ($servidor,$usuario);
  10. } else {
  11. $conectar = mysql_connect ($servidor,$usuario,$clave);
  12. }
  13.  
  14. /* S E P A R A D O R - S E P A R A D O R - S E P A R A D O R */
  15. $bd = "scriptpropio";
  16. $selectdb = mysql_select_db ($bd,$conectar);
  17. ?>



Y este el de class.php


delphi
  1. <?php
  2. /* S E P A R A D O R - S E P A R A D O R - S E P A R A D O R */
  3. $url = "http://localhost";
  4. $titulo = "BiPelis";
  5. $slogan = "Cientos de películas online";
  6. $descripcion = "Mira películas por internet, gratis, sin limite de tiempo en español latino. Buena calidad de imagen y sonido. ";
  7. $keywords = "bipelis, peliculas gratis, peliculas online, peliculas por internet, peliculas argentinas, peliculas en español, peliculas audio latino, estrenos online";
  8.  
  9. /* S E P A R A D O R - S E P A R A D O R - S E P A R A D O R */
  10. $links = "Sitemap - Link 2 - Link 3 - Link 4 - Link 5 - Link 6 - Link 7 - Link 8 - Link 9 - Link 10 - Link 11 - Link 99";
  11. $copyright = "Sitio web creado, diseñado y administrado por Papacho y CesaRios";
  12. ?>



Alguien me indica el error? Es para una web de peliculas
Muchas gracias!
  • 0

#2 cbello

cbello

    Newbie

  • Miembros
  • Pip
  • 5 posts

Posted 19 August 2013 - 01:26 PM

Hola amigo, veo que en tu buscador, en el form action tienes una variable $url me imagino que allí debes estar guardando el nombre de alguna carpeta o direcotrio, recuerda que debes separar el código HTML del PHP, por tanto debiera quedar así:

<form name="name" method="get" action="<?php echo $url; ?>/buscar.php">

Lo otro en tu archivo buscar.php, tienes este código :

while($final = mysql_fetch_array($resultado)){
echo '
<div class="boxpelis">
<a href="',$url,'/p/',$final['p_link'],'"><img src="',$url,'/imagenes/',$final["p_id"],'.jpg" width="136" height="200" title="',$final['p_titulo'],'" id="imagencaratula"></a>
</div>';
}

En la parte de tu echo debes ponerlo así :

echo '
<div class="boxpelis">
<a href="'.$url.'/p/'.$final['p_link'].'"><img src="'.$url.'/imagenes/'.$final["p_id"].'.jpg" width="136" height="200" title="'.$final['p_titulo'].'" id="imagencaratula"></a>
</div>';

PD: recuerda que para imprimir varias variavles, strings o cadenas en una misma línea de código PHP, debes usuar puntos (..), para concatenar, espero te sirvan estas indicaciones amigo y puedas solucionar tu problema saludos :)
  • 0

#3 Lucas

Lucas

    Newbie

  • Miembros
  • Pip
  • 5 posts

Posted 19 August 2013 - 01:35 PM

Buenas, ante todo gracias por intentar ayudarme pero el codigo (al menos en lo que señalaste) esta bien no se la diferencia entre puntos ('.$url.') y comas (',$url,') pero al parecer funcionan de manera similar. El problema esta en otro lado aunque no logro encontrarlo.
Las base de datos funciona correctamente la verdad no entiendo mucho del codigo del buscador solo trate de imitar lo que hace el tutorial. Lo vi unas 2 veces pero no encuentro el error.

Saludos!
  • 0

#4 cbello

cbello

    Newbie

  • Miembros
  • Pip
  • 5 posts

Posted 19 August 2013 - 02:00 PM

Lucas cual es el error que te arroja?
  • 0

#5 cbello

cbello

    Newbie

  • Miembros
  • Pip
  • 5 posts

Posted 19 August 2013 - 02:10 PM

Talves tu error esta en que no estas haciendo el submit no veo ningun button en tu cpdigo html, debajo de tu input coloca lo siguiente:

<input type="button" value="Buscar" title="Buscar" onclick="document.buscador.submit();" >
  • 0

#6 Lucas

Lucas

    Newbie

  • Miembros
  • Pip
  • 5 posts

Posted 19 August 2013 - 02:14 PM

En realidad no es un error, solo que muestra 1 sola imagen osea caratula de peliculas y no muestra la ruta correcta ni la imagen ni el titulo.
Al examinar el codigo me aparece esto:
<img src="http://localhost/imagenes/&lt;br /&gt;
&lt;b&gt;Notice&lt;/b&gt;:  Undefined index: p_id in &lt;b&gt;C:\xampp\htdocs\buscar.php&lt;/b&gt; on line &lt;b&gt;33&lt;/b&gt;&lt;br /&gt;
.jpg" width="136" height="200" title="&lt;br /&gt;
&lt;b&gt;Notice&lt;/b&gt;:  Undefined index: p_titulo in &lt;b&gt;C:\xampp\htdocs\buscar.php&lt;/b&gt; on line &lt;b&gt;33&lt;/b&gt;&lt;br /&gt;
" id="imagencaratula">

PD:Lo del boton (creo) que no tiene nada que ver enseguida lo pruebo
Lo probe y es lo mismo, por cierto en type tiene que ir submit
  • 0

#7 cbello

cbello

    Newbie

  • Miembros
  • Pip
  • 5 posts

Posted 19 August 2013 - 02:20 PM

Amigo otra cosa en tu segunda consulta MYSQL en el archivo buscar.php debes poner:

$contador = "SELECT *  FROM pelicula WHERE p_titulo like '%".$_GET["s"]."%' or otro_campo like '%".$_GET["valor"]."%' ";

PD: usa el operador logico or solo si vas a validar otro campo en la tabla pelicula  de tu base de datos
  • 0

#8 Lucas

Lucas

    Newbie

  • Miembros
  • Pip
  • 5 posts

Posted 19 August 2013 - 02:25 PM

Diossssss que estupido no me habia dado cuenta de eso muchas muchas gracias...

Creo que esta resuelto gracias!
Aunque no estoy seguro del todo
  • 0

#9 cbello

cbello

    Newbie

  • Miembros
  • Pip
  • 5 posts

Posted 19 August 2013 - 02:30 PM

Denada amigo mientras se pueda ayudar, hay que hacerlo que estes bien saludos :)
  • 0




IP.Board spam blocked by CleanTalk.