Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: tecasoft en 31 Diciembre 2012, 16:15 pm



Título: no me carga el listado
Publicado por: tecasoft en 31 Diciembre 2012, 16:15 pm
me carga solo el 1ş los demas no me los carga de la base de datos en el archivo buscador.php:

buscador.php

Código:
<?php

include("../conexionbd.php");

$conexion=mysqli_connect($host,$usu,$pusu) or die ("Error mysqli_connect: ". mysqli_connect_error());

mysqli_select_db($conexion,$bd) or die ("Error mysqli_select_db.");

$correcto=0;
$result=mysqli_query($conexion,"select palabras from REC_buscador") or die ("Error mysqli_query.");

?>
<html>
<head>

<script type="text/javascript" src="http://localhost/recad/js/jquery-1.8.3.js"></script>
<script type="text/javascript" src="http://localhost/recad/js/jquery-ui-1.9.2.custom.js"></script>
<link type="text/css" rel="stylesheet" href="http://localhost/recad/css/smoothness/jquery-ui-1.9.2.custom.css">

</head>
<body>

<form action="buscado.php" method="post">
<input type='text' id='tags' name='buscador'>
<input type="submit" value="Buscar">
</form>

<script type='text/javascript'>
var availableTags = [

<?php

if($fila1=mysqli_fetch_array($result))
{

echo "\"" . $fila1['palabras'] . "\",";
echo "\"asdf\"";

}

mysqli_close($conexion);
?>

];
$('#tags').autocomplete({
source: availableTags
});

</script>

</body>
</html>

buscado.php

Código:
<?php

$buscador=$_POST['buscador'];


if (strlen($buscador)<1 || strlen($buscador)>100)
{
      echo  "Escriba algo entre 1 y 100 caracteres.<br>";     
      return false;
   }

//es mejor hacer una lista blanca con caracteres permitidos que una negra, lo que no este aquí simplemente se ignora
   $validos = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789- _@#";
   for ($i=0; $i<strlen($buscador); $i++){
      if (strpos($validos, substr($buscador,$i,1))===false){
         echo  " Contiene caracteres no permitidos<br>";
                                    return false; 
      }
   }

include("../conexionbd.php");

$conexion=mysqli_connect($host,$usu,$pusu) or die ("Error mysqli_connect: ". mysqli_connect_error());

mysqli_select_db($conexion,$bd) or die ("Error mysqli_select_db.");

$correcto=0;
$result=mysqli_query($conexion,"select links from REC_buscador where palabras='$buscador'") or die ("Error mysqli_query.");


if($fila1=mysqli_fetch_array($result))
{
$fila1['links'];
$correcto=1;


}

if($correcto==1)
{
header("Location: " . $fila1['links']);

}

if($correcto==0)
{
echo "No existe lo que buscas.";
}

mysqli_close($conexion);
?>

Código:
CREATE TABLE REC_buscador(
cod_buscador INTEGER NOT NULL AUTO_INCREMENT,
palabras VARCHAR(100) NOT NULL,
links VARCHAR(250) NOT NULL,
CONSTRAINT PKUSU PRIMARY KEY (cod_buscador)
) ENGINE=InnoDB;


Título: Re: no me carga el listado
Publicado por: Shell Root en 2 Enero 2013, 04:41 am
Reviza la consulta, supongo que estarás buscando la palabra reservada LIKE


Título: Re: no me carga el listado
Publicado por: tecasoft en 3 Enero 2013, 20:39 pm
pero lo que quiero es esa consulta, es decir, la que tengo ya puesta en buscador.php para que me cargue todos los datos del campo palabras, entiendes lo que quiero decirż?


Título: Re: no me carga el listado
Publicado por: tecasoft en 4 Enero 2013, 22:25 pm
era muy tonto el error envede

if($fila1=mysqli_fetch_array($result))

era:

while($fila1=mysqli_fetch_array($result))