SPiNMedlem sedan mars 20005 832 inlägg
Hej!
Jag håller på att göra ett sökscript för min sajt, men det går inte som jag vill...
Jag försöker använda följande script:
<?
$searchFile = "searchq.txt";
$sFile = file($searchFile);
$openSearch = fopen($searchFile, 'r');
$counter = 0;
$maxlines = count($sFile) - 1;
For($counter=1; $counter<$maxlines; $counter++)
{
$lineCount = $counter - 1;
$myLine = $sFile[$lineCount];
$arrLines = split(", ", $myLine);
$theSize = sizeof($arrLines) - 1;
$description = $arrLines[$theSize];
$results = 0;
For($countLine; $countLine<$theSize; $countLine++)
{
If($arrLines[$countLine] == $searchq)
{
$results = $results++;
echo "<a href=\"$arrLines[0]\">$arrLines[0]</a> - $description<br>";
}
Else
{
$results = $results;
}
}
}
fclose($openSearch);
?>
Men scriptet söker inte igenom hela min textfil, utan skriver bara ut första raden om man har ett sökord som matchar ett ord för just den sidan!
Annars lämnar den sidan helt blank...
Beror det på att man inte kan ha en FOR-sats i en annan? :q
Tacksam för svar!
------------------
SPiN, bjorne.w@telia.com
nicclasMedlem sedan feb. 20001 061 inlägg
Nej det beror inte på att du har en For i en annan :)
Tror att felet är på din
For($counter=1; $counter<$maxlines; $counter++)
rad.
Prova med
For($counter=1; $counter<=$maxlines+1; $counter++)
så kanske det fungerar bättre?!
/nicclas - http://www.nyhetsrubriker.com
SPiNMedlem sedan mars 20005 832 inlägg
Nope... ger ingenting.
Det verkar som att scriptet bara läser den översta raden i .txt-filen, och sen struntar i resten av scriptet.
Jobbit :l
[redigerat]Åhhhhh vad simpelt det va! Fyfan :)
Min andra For-sats såg ut så här:
For($countLine; $countLine<$theSize; $countLine++)
när den ska se ut så här, med $countLine=0; :
For($countLine=0; $countLine<$theSize; $countLine++)
Simpelt :e
[/redigerat]
------------------
SPiN, bjorne.w@telia.com
[Redigerat av SPiN den 25 okt 2000]
SPiNMedlem sedan mars 20005 832 inlägg
Nytt problem!
Varför vill inte variabeln $results ökas med ett för varje träff?
Min kod ser nu ut så här:
<?
$searchFile = "searchq.txt";
$sFile = file($searchFile);
$openSearch = fopen($searchFile, 'r');
$maxlines = count($sFile);
$results = 0;
For($counter=0; $counter<$maxlines+1; $counter++)
{
$lineCount = $counter;
$myLine = $sFile[$lineCount];
$arrLines = split(", ", $myLine);
$theSize = sizeof($arrLines) - 1;
$description = $arrLines[$theSize];
For($countLine=0; $countLine<$theSize; $countLine++)
{
If($arrLines[$countLine] == $searchq)
{
$results = $results++;
echo "<a href=\"$arrLines[0]\" target=\"blank\">$arrLines[0]</a> - $description<br>";
}
}
}
If($results == 0) { echo "Din sökning gav inga träffar."; }
fclose($openSearch);
?>
Hoppas nån vet hur jag ska lösa det... blir snart tokig :)
------------------
SPiN, bjorne.w@telia.com
nicclasMedlem sedan feb. 20001 061 inlägg
Ändra raden till bara $result++; eller till $result=++$result; så blir det nog bra.
/nicclas
[Redigerat av nicclas den 26 okt 2000]