Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    motore di ricerca interno

    salve, ho trovato tra gli script di freephp un bel motore di ricerca che sono riuscito a modificare secondo le mie esigenze, è tutto ok, funziona benissimo, l' unica cosa che non riesco a mettere è il numero delle pagine trovate, cioè vorrei che mi comparisse: pagine trovate: 6

    ecco il codice
    codice:
    <?Php
    	error_reporting(0);
    	$timex=time();
    	$timey=0;
    	$bgchange="FFFFFC";
    	$fchek=0;
    	$command[0]="0";
    	$dirtest="false";
    
    if($where=="mosse"){
    	$linkdir="mosse/";
    	chdir('./mosse');
    	$handle=opendir('.');
    } else {
    	$dirtest="true";
    	$linkdir="";
    	$handle=opendir('.');
    }
    
    while (($file = readdir($handle))!==false){
    	if (eregi("[a-zA-Z0-p_-]*.html",$file) or eregi("[a-zA-Z0-p_-]*.htm",$file)or eregi("[a-zA-Z0-p_-]*.php",$file)or eregi("[a-zA-Z0-p_-]*.txt",$file)){
    		$fchek=$fchek+1;
    		$sizer=filesize($file);
    		$sizer=($sizer/1000);
    		$sizer=round($sizer,1);
    		$file=trim($file);
    		$file=chop($file);
    		$filed=file($file);
    		$fileold=$file;
    		$count = count($filed);
    		$i = $count;
    		$zt = 0;
    		$clt=0;
    		$found=0;
    		$stringer=0;
    			for($j=$zt;$j<$i;$j++){
    				$string=$filed[$j];
    				$stringer=$filed[$j];
    				$num = "regPLACE hold";
    				$string=strtolower($string);
    				$stringer=strtolower($stringer);
    				$whatdoreplace=strtolower($whatdoreplace);
    				$string = ereg_replace($whatdoreplace, $num, $string);
    					if($string!=$stringer){
    					$found=$found+1;
    					$abby=$found;
    					$show[$found]=$stringer;
    					}
    			}
    		$dircount=count($file);
    		echo "<FONT SIZE=-1>";
    		if($found>0){
    			$command[0]=($command[0]+10);
    			if(eregi("[a-zA-Z0-p_-]*.txt",$file)){
    				$fileold=$file;
    				$file="index.php";
    				if($dirtest=="true"){
    				$file=$fileold;
    			}
    
    		}
    $maius= strtoupper ($file);
    $maiusold= strtoupper ($fileold);
    		if($file=="index.html"){
    			$bgchange="FFFFFF";
    			echo "
    <A HREF=\"$linkdir$file\" target=_new>";
       $ext = end(explode('.', $maius));
       $filename = basename($maius, ".$ext");
     echo $filename  .'
    ';
    echo"</A>
    $data ";
    			} else {
    				echo "
    <A HREF=\"$linkdir$file\">";
       $extold = end(explode('.', $maiusold));
       $filenameold = basename($maiusold, ".$extold");
     echo $filenameold  .'
    ';
    echo "</A>";
    				}
    			$file=$fileold;
    			for($new=1;$new<=$found;$new++){
    				$show[$new]=strip_tags($show[$new]);
    				$show[$new] = ereg_replace($whatdoreplace,"$whatdoreplace",$show[$new]);
    				echo "";
    				print "..$show[$new]..";
    			}
    			echo "
    ";
    		}
    
    		}
    }
    
    if($command[0]==0){
    	echo "
    La sua ricerca non ha rilevato nessuna pagina. 
    Controllare se avete inserito degli spazi di troppo";
    }
    
    ?>
    Sper che qualcuno riesca ad aiutarmi

  2. #2
    Basta semplicemente dividere il numero di occorrenze trovate per il numero di occorrenze che vuoi mostrare per pagina.

    Per esempio se sono state trovate occorrenze= 132 e tu vuoi mostrare occorrenze_per_pag = 10 allora dovrai fare:

    num_pags = occorrenze / occorrenze_per_pag

    Semplice no?

    Solo dovresti applicare anche la funzione ceil che arrotonda sempre per eccesso. Ciao!

  3. #3
    scusa non ho capito bene...potresti mettere il codice che dovrei mettere per favore? non li voglio dividere, voglio solo far sapere quante pagine sono state trovate

  4. #4
    nessuno sa come aiutarmi?!

  5. #5
    Il codice te lo fai da solo. Ti ho spiegato il procedimento: fare il codice è uno scherzo visto che sono semplicissime operazioni. In più ti ho anche indicato che funzione devi usare per arrotondare il tutto! Che vuoi di più!!! Mettici un po' di buona volontà!

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    1,476

    Re: motore di ricerca interno

    Originariamente inviato da luapaul
    salve, ho trovato tra gli script di freephp un bel motore di ricerca che sono riuscito a modificare secondo le mie esigenze, è tutto ok, funziona benissimo, l' unica cosa che non riesco a mettere è il numero delle pagine trovate, cioè vorrei che mi comparisse: pagine trovate: 6

    ecco il codice
    codice:
    <?Php
    	error_reporting(0);
    	$timex=time();
    	$timey=0;
    	$bgchange="FFFFFC";
    	$fchek=0;
    	$command[0]="0";
    	$dirtest="false";
    
    if($where=="mosse"){
    	$linkdir="mosse/";
    	chdir('./mosse');
    	$handle=opendir('.');
    } else {
    	$dirtest="true";
    	$linkdir="";
    	$handle=opendir('.');
    }
    
    while (($file = readdir($handle))!==false){
    	if (eregi("[a-zA-Z0-p_-]*.html",$file) or eregi("[a-zA-Z0-p_-]*.htm",$file)or eregi("[a-zA-Z0-p_-]*.php",$file)or eregi("[a-zA-Z0-p_-]*.txt",$file)){
    		$fchek=$fchek+1;
    		$sizer=filesize($file);
    		$sizer=($sizer/1000);
    		$sizer=round($sizer,1);
    		$file=trim($file);
    		$file=chop($file);
    		$filed=file($file);
    		$fileold=$file;
    		$count = count($filed);
    		$i = $count;
    		$zt = 0;
    		$clt=0;
    		$found=0;
    		$stringer=0;
    			for($j=$zt;$j<$i;$j++){
    				$string=$filed[$j];
    				$stringer=$filed[$j];
    				$num = "regPLACE hold";
    				$string=strtolower($string);
    				$stringer=strtolower($stringer);
    				$whatdoreplace=strtolower($whatdoreplace);
    				$string = ereg_replace($whatdoreplace, $num, $string);
    					if($string!=$stringer){
    					$found=$found+1;
    					$abby=$found;
    					$show[$found]=$stringer;
    					}
    			}
    		$dircount=count($file);
    		echo "<FONT SIZE=-1>";
    		if($found>0){
    			$command[0]=($command[0]+10);
    			if(eregi("[a-zA-Z0-p_-]*.txt",$file)){
    				$fileold=$file;
    				$file="index.php";
    				if($dirtest=="true"){
    				$file=$fileold;
    			}
    
    		}
    $maius= strtoupper ($file);
    $maiusold= strtoupper ($fileold);
    		if($file=="index.html"){
    			$bgchange="FFFFFF";
    			echo "
    <A HREF=\"$linkdir$file\" target=_new>";
       $ext = end(explode('.', $maius));
       $filename = basename($maius, ".$ext");
     echo $filename  .'
    ';
    echo"</A>
    $data ";
    			} else {
    				echo "
    <A HREF=\"$linkdir$file\">";
       $extold = end(explode('.', $maiusold));
       $filenameold = basename($maiusold, ".$extold");
     echo $filenameold  .'
    ';
    echo "</A>";
    				}
    			$file=$fileold;
    			for($new=1;$new<=$found;$new++){
    				$show[$new]=strip_tags($show[$new]);
    				$show[$new] = ereg_replace($whatdoreplace,"$whatdoreplace",$show[$new]);
    				echo "";
    				print "..$show[$new]..";
    			}
    			echo "
    ";
    		}
    
    		}
    }
    
    if($command[0]==0){
    	echo "
    La sua ricerca non ha rilevato nessuna pagina. 
    Controllare se avete inserito degli spazi di troppo";
    }
    
    ?>
    Sper che qualcuno riesca ad aiutarmi

    ciao,

    scusa se uppo questa diuscussione... ma credo che il tuo script faccia al caso mio...

    saresti gentile da spiegarmi come interagire con lo script di sopra?

    come devo costruire la pagina che interagisce con lo script?
    è possibile restringere la ricerca solo ad una cartella?

    grazie


    dies

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.