Avatar billede gulvflaesk Nybegynder
03. januar 2012 - 14:22 Der er 4 kommentarer og
1 løsning

Jeg kan ikke få implementeret paging i min søgning?

Hej allesammen,

Jeg har lovet at hjælpe en kammerat med et mindre bilsite (Wordpress) som har en søgning, som jeg godt kunne tænke mig at få paging på med 20 biler ad gangen. Jeg har fundet denne guide; http://blog.sachinkraj.com/how-to-create-and-implement-paging-with-php-mysql/ men jeg kan simpelthen ikke få det til at virke.

Nu får i lige hele koden:

DBQueries.php:

function queryFilmType(){
    global $type1Values2Keys;
    $retVal = "";
    if($_SERVER['REQUEST_METHOD'] == "POST" && $_POST['eventType'] != "none"){
        $retVal = 
    "SELECT SQL_CALC_FOUND_ROWS DISTINCT wp_posts.* FROM wp_posts,
    (SELECT  * from wp_postmeta JOIN (SELECT wp2.post_id as inner_post_id, wp2.meta_key as inner_meta_key,
                                            wp2.meta_value as inner_meta_value  from wp_postmeta AS wp2 where
                                            (wp2.meta_key = 'plates' AND wp2.meta_value='Ja')) as platedCars ON
                                            (wp_postmeta.post_id= platedCars.inner_post_id) where
                                            ((wp_postmeta.meta_key = '".$type1Values2Keys[$_POST['eventType']]."' AND wp_postmeta.meta_value=1)

AND
                                            (wp_postmeta.post_id =  platedCars.inner_post_id))) as legalCars ". numPas() ."
    ". dateEntered() ."  where wp_posts.ID = legalCars.post_id ". matchReadyCars() ." AND wp_posts.post_type = 'post' AND wp_posts.post_status = 'publish' " .areaCode();   
    }else{
    $retVal = 
        "SELECT SQL_CALC_FOUND_ROWS DISTINCT wp_posts.* FROM wp_posts,
            (SELECT  * from wp_postmeta JOIN (SELECT wp2.post_id as inner_post_id, wp2.meta_key as inner_meta_key,
            wp2.meta_value as inner_meta_value  from wp_postmeta AS wp2 where
            (wp2.meta_key = 'plates' AND wp2.meta_value='Ja')) as platedCars ON
            (wp_postmeta.post_id= platedCars.inner_post_id) where
            ((wp_postmeta.meta_key = 'event_filming' AND wp_postmeta.meta_value=1) OR
            (wp_postmeta.meta_key = 'event_commercials' AND wp_postmeta.meta_value=".setSearchParam('event_filming').") OR
            (wp_postmeta.meta_key = 'event_tvRecording' AND wp_postmeta.meta_value=".setSearchParam('event_tvRecording').") OR
            (wp_postmeta.meta_key = 'event_fotoshoot' AND wp_postmeta.meta_value=".setSearchParam('event_fotoshoot').") OR
            (wp_postmeta.meta_key = 'event_eventDrive' AND wp_postmeta.meta_value=".setSearchParam('event_eventDrive').") OR
            (wp_postmeta.meta_key = 'event_fair-exhibition' AND wp_postmeta.meta_value=".setSearchParam('event_fair-exhibition').") OR
            (wp_postmeta.meta_key = 'event_storeDisplay' AND wp_postmeta.meta_value=".setSearchParam('event_storeDisplay').") OR
            (wp_postmeta.meta_key = 'event_carMagazineRapport' AND wp_postmeta.meta_value=".setSearchParam('event_carMagazineRapport').") OR 
            (wp_postmeta.meta_key = 'event_other' AND wp_postmeta.meta_value=".setSearchParam('event_other').") AND
            (wp_postmeta.post_id =  platedCars.inner_post_id))) as legalCars where
            wp_posts.ID = legalCars.post_id AND wp_posts.post_type = 'post' AND wp_posts.post_status = 'publish'";
    }
   
return $retVal;

}


Page.php:

require_once(ABSPATH. 'DBQueries.php');
global $wpdb;
$pageposts = $wpdb->get_results(queryFilmType(), OBJECT);
?>

<?php if ($pageposts): ?>
  <?php global $post; ?>
  <?php foreach ($pageposts as $post): ?>
    <?php setup_postdata($post); ?>
   
    <div class="search_results_details">
    <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title_attribute(); ?>">
   
   
    <?php $image_url = gallery_first_image();
if($image_url)
{
?>
   
        <img src="<?php bloginfo('template_directory'); ?>/timthumb.php?src=<?php echo $image_url; ?>&w=200&h=135&q=100" alt="<?php the_title();?>" />
   
<?php
}
  ?>   
   
    <h3><?php the_title(); ?></h3>
   
    <p><b><?php
echo(get_post_meta($post->ID, 'description', true));
?></b></p>
    </a>
    </div>
       
<?php endforeach; ?>
<?php endif; ?>


Kan det overhovedet lade sig gøre at lave en paging på søgningen som den er kodet nu?

Håber i kan hjælpe...
Avatar billede olebole Juniormester
03. januar 2012 - 15:35 #1
<ole>

Hvad betyder "virker ikke"? Hvad sker - og hvad sker ikke?

/mvh
</bole>
Avatar billede gulvflaesk Nybegynder
03. januar 2012 - 15:42 #2
Jeg får simpelthen 15 php-fejl og siden loader ikke videre...
Avatar billede olebole Juniormester
03. januar 2012 - 15:47 #3
Mon ikke, det ville være hensigtsmæssigt at kopiere fejlene og vise os dem?
Avatar billede gulvflaesk Nybegynder
03. januar 2012 - 15:59 #4
Jo selvfølgelig, men havde netop lige slettet det hele og gået tilbage til søgningen uden paging som virker.

Jeg prøver at implementere pagingen igen, også skriver jeg fejlene herinde :-)
Avatar billede gulvflaesk Nybegynder
03. juni 2012 - 17:39 #5
Er der nogen som vil have point inden lukketid?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester