PDA

Bekijk Volledige Versie : een zoek script met vorige en volgende er onder



Sander
01/04/03, 18:05
Hoi,

Ik heb geprobeerd om een zoek script te maken. Dat op zich is wel aardig
gelukt met heel veel pijn en moeite. Wat ik nu wil ik graag dat als ik meer
als tien items vindt dat er dan iets komt te staan als vorige 1 | 2 | 3
volgende. Ik heb alleen helemaal geen idee hoe ik dit kan maken.

Iemand die mij hier mee op weg kan helpen ?

Groeten Sander

Rene Pijlman
01/04/03, 18:50
Sander:
>Ik heb geprobeerd om een zoek script te maken. Dat op zich is wel aardig
>gelukt met heel veel pijn en moeite. Wat ik nu wil ik graag dat als ik meer
>als tien items vindt dat er dan iets komt te staan als vorige 1 | 2 | 3
>volgende. Ik heb alleen helemaal geen idee hoe ik dit kan maken.

Ik begrijp niet helemaal wat hier zo moeilijk aan is, maar
misschien dat dat duidelijker wordt als je iets vertelt over de
programmeertaal, het zoekalgoritme (database query?) etc.

--
René Pijlman

Wat wil jij leren? http://www.leren.nl

Sander
01/04/03, 18:50
> Ik begrijp niet helemaal wat hier zo moeilijk aan is, maar
> misschien dat dat duidelijker wordt als je iets vertelt over de
> programmeertaal, het zoekalgoritme (database query?) etc.
>

Ik zal voor de duidelijkheid even het script mee posten dan is het ieder
geval duidelijk wat ik gebruik.

Ik neem aan dat er werd begrepen wat ik bedoelde met "vorige 1 | 2 | 3
volgende"

Ik heb geen idee hoe moet zorgen dat het script weet hoeveel pagina`s er
gebruikt gaan worden.

<?php

require("../includes/config.php");
$db = mysql_connect($dbhost, $dbname, $dbpasswd);
mysql_select_db($dbname, $db);
$sql = 'SELECT news_main FROM nieuws WHERE ';
$trefwoorden = explode(' ', $trefwoord, 5);
$first = true;
foreach ($trefwoorden AS $tw)


if ($first == false)
$sql .= 'AND ';
$first = false;
$sql .= "(`news_main` LIKE '%$tw%') ";
}
$sql .= 'ORDER BY `news_main` ASC LIMIT 0, 25';
$res = mysql_query($sql);
$num = mysql_num_rows($res);
if
pty($num)){
$num = "geen";
}

?>

<b>Zoek resultaat</b>
<br><br>

<b><?php echo"Er zijn $num zoekresultaten gevonden.";?></b>
<br><br>
<?
while($row = mysql_fetch_object($res)){

$woord = $row->news_main ;
$query = "SELECT * FROM nieuws WHERE news_main='$woord'";
$resultaat = mysql_query($query);
$data = mysql_fetch_array($resultaat);

if (strlen($data['news_main']) > 175){
$data['news_main'] = substr($data['news_main'], 0, 160) ;
}

echo $data['news_datetime']; ?> <br>
<hr>
<? echo "<A href=javascript:void(window.open('news.php?news_ID =" . $data['news_ID'] . "','','width=430,height=500,toolbar=no,statusbar=no ,scrolbar=yes'))><b>" . $data['news_kop'] . "</b><br></a>";
$text = str_replace("<br />", "", $data); // regel einde verwijderen
echo $text['news_main'] ?>...<br>
<br><br>
<?
// verbinding sluiten
}
mysql_close ();
?>



Groeten Sander

Rene Pijlman
01/04/03, 19:05
Sander:
>Ik heb geen idee hoe moet zorgen dat het script weet hoeveel pagina`s
>er gebruikt gaan worden.

Daarvoor zou je met mysql_num_rows() het aantal rijen kunnen
bepalen...

> $num = mysql_num_rows($res);

Hé, dat doe je ook.

.... en dat delen door het aantal rijen per pagina.

Dit is eerlijkgezegd niet de grootste uitdaging die ik de
laatste tijd ben tegengekomen :-)

--
René Pijlman

Wat wil jij leren? http://www.leren.nl

Sander
01/04/03, 19:20
> ... en dat delen door het aantal rijen per pagina.

Ik zat geloof ik wat te moeilijk te denken.

> Dit is eerlijkgezegd niet de grootste uitdaging die ik de
> laatste tijd ben tegengekomen :-)

Maar dat komt waarschijnlijk omdat jij handiger bent dan ik....

RegistreerNUjouw.NL
02/04/03, 16:35
> Iemand die mij hier mee op weg kan helpen ?

Je doet eerst een count:

select count(8) from tbData WHERE Active=true;

Daarna deel je het aantal in het aantal per page, bv 10 (indien er decimalen
zijn extra pagina nodig) en dan doe je met SQL:

select * from tbData WHERE Active=true LIMIT ".($page*10).",10 oid

Jouw vorige en volgende links zijn $page-1 en $page+1 en indien $page-1 < 0
dan geen vorige knop en indien $page+1 groter is dan wat je eigenlijk nodig
hebt geen volgende knop, zie het forum op www.turngalerie.nl waarin dat is
toegepast !

Mvgr,

Onno