Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/06/2009, 23:38
RTA
 
Fecha de Ingreso: junio-2009
Mensajes: 2
Antigüedad: 14 años, 11 meses
Puntos: 0
Problema con buscador interno PHP

Hola, soy nuevo en PHP y les cuento mi problema.

Implementé un buscador interno que encontré para descargar y al hacerle unas modificaciones logré que funcionara correctamente en mi página web.

El buscador solo lee los datos desde un archivo de texto .dat y funciona perfecto, con solo una salvedad que no logro solucionar.

Y es que cuando en el buscador pongo una palabra que se que no existe en el archivo donde busca (erhgf, por ejemplo), no me muestra el mensaje programado de "No hay resultados para la palabra: xx" y peor aun me dice "1 resultado para : erhgf", aunque no me muestra ningun resultado.

El punto es que quiero que me muestre de forma correcta el mensaje de que no hay resultados cuando efectivamente no los hayan.

Pueden probarlo en 3w.karaokemovil.cl/search.html (poner las w)

el codigo completo es el siguiente:


Código PHP:
</head>
<?
extract
($HTTP_GET_VARS);
extract($HTTP_POST_VARS);
//$results_per_page - how many results you want to be displayed per page?
$results_per_page=12;
if(
$action == "search" && "list") {
$user file("site.dat");
$lis 0;
if(
strlen($keyword) <= 2){
    print 
"<p><BR><BR><BR><b>La palabra de búsqueda debe tener al menos 3 caracteres</b><br>";
}
else{
    for(
$x=0;$x<sizeof($user);$x++) {
        
$temp explode(";",$user[$x]);
        
$opp[$x] = "$temp[0]";
        
$such stristr($opp[$x],$keyword);
        if(
$such) { 
            
$list[$lis] = $opp[$x];
            
$lis++;
                }
    }
        
    if(
sizeof($list) != "0") {
        
//sort($keyword);
        
echo "<font face=arial size=2><p><b>",sizeof($list),"</b> resultado(s) encontrado(s) para: <strong>$keyword</strong><BR></p></font>";
$fa fopen ("tempurl.txt""w");
fwrite ($fa"");
fclose ($fa);

for(
$y=0;$y<sizeof($list);$y++) {
$temp explode(";",$list[$y]);
$fa fopen ("tempurl.txt""a++");
fwrite ($fa$temp[0]);
fclose ($fa);
}
?>
<?
    
if (is_file("tempurl.txt"))
    {
    
$fp=file("tempurl.txt");
    
$s=sizeof($fp);
if (
$page=='' or !$page) { $page=1; }
$end=$results_per_page*$page;
$start=$end-$results_per_page;

if (
$start<>'0') {
    
$new_page=$page-1;
    
$prev="<a href='?action=list&page=$new_page'><--Anterior</a>";
}
else {
    
$prev="";
}

if (
$end<$s) {
    
$new_page1=$page+1;
    
$next="<a href='?action=list&page=$new_page1'>Siguiente--></a>";
}
else {
    
$next="";
}

for (
$i=$start$i<$end$i++)
    {
    
$p=explode(';'$fp[$i]);
echo 
"<dl><dd><font face=arial size=2><b>$p[0]</a></b><BR>$p[1]<BR><FONT SIZE=\"2\" COLOR=\"#00000\">$p[2]</FONT></dL>";
}
        }
    
$pages=$s/$results_per_page;
$pages1=round($pages2);
$pexplode("."$pages1);
$pcount=count($p);
$ext=$p[$pcount-2];
if (
$ext!=0) {
    
$num=$p[0]+1;
}

else {
    
$num=$p[0];
}
echo 
"<table width='100%'><tr><td align='left'>$prev</td><td align='center'>";
echo 
"Página:";
    
for (
$i=1$i<=$num$i++) {
    if (
$i==$page) {
echo 
"<B>&nbsp;$i&nbsp;</B> ";

    }
    else {
echo 
"<a href='?action=list&page=$i'>[$i]</a>";
}
}
echo 
"</td><td align='right'>$next</td></table>";

}

else{
    echo 
"<p><b>No hay resultados para la palabra: <strong>$keyword.</strong></b><br>";
    }
    }

}

if(
$action == "submit") {
$fp fopen ("site.dat""a+");
fwrite ($fp$title);
fwrite ($fp";");
fwrite ($fp$description);
fwrite ($fp";");
fwrite ($fp$link);
fwrite ($fp";");
fwrite ($fp$keywords);
fwrite ($fp";");
fwrite ($fp"\n");
fclose ($fp);
print 
"<pre><font face=arial size=3>Site has been added successfully<br><br>";
    }
if(
$action == "add") {
echo 
" <center><font face=arial>Submit a site:</center><br></font><form name=\"add\" method=\"post\" action=\"?action=submit\">";
echo 
"<font face=arial size=2>Tltle:<FONT COLOR=\"#FF0066\">*</FONT><BR> <input type=text name=title size=30><br>The title of your site.</font><br><br>";
echo 
"<font face=arial size=2>Description:<FONT COLOR=\"#FF0066\">*</FONT> <BR><input type=text name=description size=50><br>Description of your site.</font><br><br>";
echo 
"<font face=arial size=2>Url:<FONT COLOR=\"#FF0066\">*</FONT><BR><input type=text name=link value=htp:// size=30><br>Link of your site.</font><br><br>";
echo 
"<font face=arial size=2>Keywords:<FONT COLOR=\"#FF0066\">*</FONT><BR><input type=text name=keywords size=30><br>Seperate keywords by spaces</font><br><br><input type=submit value=Submit><BR><BR><FONT COLOR=\"#FF0066\">*</FONT>&nbsp;=&nbsp;Required</form>";
}
?>
<?php
if($action == "list" && "search") {
?>
<?

        
if (is_file("tempurl.txt"))
    {
    
$fp=file("tempurl.txt");
    
$s=sizeof($fp);

if (
$page=='' or !$page) { $page=1; }
$end=$results_per_page*$page;
$start=$end-$results_per_page;

if (
$start<>'0') {
    
$new_page=$page-1;
    
$prev="<a href='?action=list&page=$new_page'><--Anterior</a>";
}
else {
    
$prev="";
}

if (
$end<$s) {
    
$new_page1=$page+1;
    
$next="<a href='?action=list&page=$new_page1'>Siguiente--></a>";
}
else {
    
$next="";
}
echo 
"<font face=arial size=2><p><b>","</b> Mostrando resultados <strong>$keyword</strong><BR></p></font>";
for (
$i=$start$i<$end$i++)
    {
        
$p=explode(';'$fp[$i]);
echo 
"<dl><dd><font face=arial size=2><b>$p[0]</a></b><BR>$p[1]<BR><FONT SIZE=\"2\" COLOR=\"#00000\">$p[2]</FONT></dL>";
}
        }
    
$pages=$s/$results_per_page;
$pages1=round($pages2);
$p=explode('.'$pages1);
$pcount=count($p);
$ext=$p[$pcount-2];
if (
$ext!=0) {
    
$num=$p[0]+1;
}

else {
    
$num=$p[0];
}
echo 
"<table width='100%'><tr><td align='left'>$prev</td><td align='center'>";
echo 
"Página:";
for (
$i=1$i<=$num$i++) {
if (
$i==$page) {
echo 
"<B>&nbsp;$i&nbsp;</B>";
}
    else {
echo 
"<a href='?action=list&page=$i'>[$i]</a>";
}
}
echo 
"</td><td align='right'>$next</td></table>";

}
?>
</center>
</body>
</html></center>
 <body>
 <LEFT>
 <form action="?action=search&list&page=1" method="post" name="searchform">
   <p>&nbsp;   </p>
   <p>
     <input type="text" name="keyword" size="30" maxlength="100">
     <input type="submit" value="Buscar">
     <BR>
     <font size=2><BR>
       <a href='?action=add'></a></font><BR>
     </p>
 </form></CENTER>
 </body>
    </html>
Si alguien me ayuda seré un eterno agradecido

Última edición por RTA; 02/06/2009 a las 11:58