Gå til innhold

søkemotor og paging: LØST


Anbefalte innlegg

Har ett søke skript som jeg vil sette inn paging på (er helt fersk på paging og brukte en tutorial for å finne ut hva som trengs), men saken nå er at det virker ikke :D ... eller det virker på side 1, men jeg har visst noen feil i koden. rette antall sider vises som linker på side 1, men når jeg går skal gå på neste/forrige side så får jeg bare opp hvert søketreff med denne feilmeldingen + at feil antall sider vises:

 

Warning: eregi_replace(): REG_EMPTY in ...

 

jeg satt opp 2 identiske queryer får å få rett antall rader, men bruker kun limit på queryen som brukes i søkemotoren.

 

Håper noen kan komme med noen gode råd, for nå har jeg ca. 165 linjer med rot i en fil :blush:

Endret av LateFot
Lenke til kommentar
Videoannonse
Annonse

hmm du sier noe der .... :hmm:

 

her er koden:

 

<?php
if (!($_POST['searchString'])) {
echo 'Skriv inn søkeord';
}else{
 
if ($_POST['searchString'] === '' | $_POST['searchString'] === ' ') {
 echo 'Du må skrive inn ett søkeord';

}
}

// ta bort spaces fra slutten på stringen
$trim_end = $_POST['searchString'];
$end_trimmed = rtrim($trim_end, " ");
// ta bort spaces fra begynnelsen på stringen
$trim_beg = $end_trimmed;
$beg_trimmed = ltrim($trim_beg, " ");
// $searchString ferdig trimmed
$searchString = $beg_trimmed;

// connect info på min maskin
mysql_connect('localhost', 'root', '');
mysql_select_db('search');

$limit = 10;

$query_rsPages = "SELECT * FROM min_tabell WHERE min_rad like '%$searchString%' ORDER BY order_by_raden DESC";

$rsPages = mysql_query($query_rsPages) or die(mysql_error());
$RowsFound = mysql_num_rows ($rsPages);

$fromRow = ($_GET['page'] * $limit);
$total_pages = ceil ($RowsFound / $limit);

if ($_GET['page']) {

$query_rsSearch "SELECT * FROM min_tabell WHERE min_rad like '%$searchString%' ORDER BY order_by_raden DESC LIMIT $fromRow, $limit";

$rsSearch = mysql_query($query_rsSearch) or die(mysql_error());

?>
 	<!-- Erstattes av søkesvar i ny side -->
 	<h2 class="sokeresultat"><span class="hidden">Søkeresultat for <?php echo $_POST['searchString']; ?></span></h2>
 	
 	<div class="bedriftWrap">
<?php
# loop for alle treff
while ($row_rsSearch = mysql_fetch_array($rsSearch)) {

?>  	
 	<table class="mainTable" width="470" border="0" cellpadding="0" cellspacing="0">
   <tr class="top">
   	<td valign="bottom" class="search"><?php echo '<a href="min_fil.php?url_rad_1='.$row_rsSearch['rad_1'].'">'.eregi_replace($searchString, "<strong>$searchString</strong>",$row_rsSearch['rad_2']).'</a>'; ?></td>
   	<td align="right" valign="middle">rad_3: <?php echo eregi_replace($searchString, "<strong>$searchString</strong>",$row_rsSearch['rad_3']); ?></td>
   </tr>
   <tr class="text">
     <td colspan="2" class="text"><?php echo eregi_replace($searchString, "<strong>$searchString</strong>", substr($row_rsSearch['rad_4'], 0, 100)); ?>...</td>
      </tr>
   <tr class="bottom">
   	<td><strong>rad_5:</strong> <?php echo eregi_replace($searchString, "<strong>$searchString</strong>",$row_rsSearch['rad_5']); ?></td>
   	<td align="right"><strong>rad_6:</strong> <?php echo eregi_replace($searchString, "<strong>$searchString</strong>",$row_rsSearch['rad_6']); ?></td>
   </tr>
   <tr class="hr">
   	<td colspan="2"></td>
   </tr>
 	</table>
<?php
}

if ($_GET['page'] > 1) {
 $prev = $_GET['page'] - 1;
 echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$prev\"><< Forrige</a> ";
 }

for ($i = 1; $i <= $total_pages; $i++) {
 if ($_GET['page'] == $i) {
 	echo "$i ";
 }else{
 	echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$i\">$i</a> ";
 }
}

if ($page < $total_pages) {
 $next = $_GET['page'] + 1;
 echo "<a href=\"".$_SERVER['PHP_SELF']."?page=$next\">Neste >></a> ";
 }
}

?>

 

det jeg endte opp med var vel noe sånt som dette, nå er det endel feil i denne koden, siden jeg ble frustrert og begynte med cut'n'paste for å prøve å sjonglere ting på plass kl 5 på morningen. har gitt radene i databasen nye navn her, så om alt ikke stemmer med dem er det nok derfor.

Endret av LateFot
Lenke til kommentar

Vel har testet endel nå på scriptet, og det ser ut som jeg ikke får sendt søkeordet videre til neste side, så jeg gjør en spørring med en tom variabel i den koden jeg har nå. er det noen som har en god ide på hvordan jeg kan få brukt søkeordet i spørringen på neste side?

Lenke til kommentar

Takker for svar :)

 

japp hele problemet løste seg ved å bruke $_REQUEST på søkeordet.. helt ufattelig at det egenltig var såppass enkelt, her har jeg stått å stanga hodet i veggen i noen dager, også poppet jo løsningen opp i DW hver gang jeg brukte super globals :blush: neinei .. på tide å finne frem php boka igjen og flytte inn på php.net siden :D

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...