Author Topic: Thumbs von Suchergebnis auf eine andere Seite integrieren  (Read 12205 times)

0 Members and 1 Guest are viewing this topic.

Offline Abraxxas

  • Pre-Newbie
  • Posts: 8
    • View Profile
Thumbs von Suchergebnis auf eine andere Seite integrieren
« on: July 14, 2009, 09:04:12 AM »
Hallo zusammen,

habe das ganze Forum durchsucht, aber nichts passendes gefunden. Eine erste Anfrage brachte aber leider keine Resonanz. Leider reichen meine php-Kenntnisse nicht all zu weit um eine eigene Lösung zu finden.

Jetzt definiere ich meine Anfrage mal anders.

Folgendes Problem:
Ich habe auf meiner Seite www.pix-world.de unter anderm einen Infobereich über Mallorca eingebaut. Darin gibt es eine Liste mit Ortsnamen. Hier sollen mit der Zeit immer mehr Infos über Orte erscheinen. Das klappt wunderbar. Ich möchte die Suchroutine derart umbauen bzw. erweitern, das unter dem Beitrag (Info) eine Tabelle erscheint, in der die dazu gehörigen Thumbs aufgelistet werden. Gerne mit dem dazugehörigen Paging (muss aber nicht sein) Die Bilder sind mit den Ortsnamen als keywords versehen.

Der Vollständigkeitshalber möchte ich noch erwähnen, das die Suchroutine und die Darstellung der 'normalen' Suche erhalten bleiben soll.

Wer hat da einen Tipp für mich ? Ich hoffe, das mir jemand helfen kann.

Viele Grüße von Abraxxas

Rembrandt

  • Guest
Re: Thumbs von Suchergebnis auf eine andere Seite integrieren
« Reply #1 on: July 14, 2009, 09:29:45 AM »
Hi!
das unter dem Beitrag (Info) eine Tabelle erscheint, in der die dazu gehörigen Thumbs aufgelistet werden. Gerne mit dem dazugehörigen Paging (muss aber nicht sein) Die Bilder sind mit den Ortsnamen als keywords versehen.
ich befürchte das sich da auch nicht mehr melden werden.
wo ist der beitrag info?

mfg Andi

Offline Abraxxas

  • Pre-Newbie
  • Posts: 8
    • View Profile
Re: Thumbs von Suchergebnis auf eine andere Seite integrieren
« Reply #2 on: July 14, 2009, 09:45:29 AM »
@Rembrandt

Hallo,
oben ist ein Menü, dort auf 'Mallorca Info' klicken. Das Menü ändert sich. Dann auf 'Orte'. Eine Tabelle mit den Ortsnamen erscheint. Jetzt zum Beispiel auf 'Alcudia' klicken. Unter dem Beitrag steht ein Link, der die 'normale' Suche durchführt. Das funktioniert ja auch. Ich hätte nur gerne, das das Ergebnis der Suche direkt unter dem Beitrag erscheint.

Vielleicht drücke ich mich etwas zu umständlich aus. Praktisch eine Art Photoblog, nur das die Fotos direkt als Tabelle unter dem Beitrag erscheinen und nicht das die Suche erst über einen Link gestratet werden muß.

Gruß Abraxxas

Rembrandt

  • Guest
Re: Thumbs von Suchergebnis auf eine andere Seite integrieren
« Reply #3 on: July 14, 2009, 05:41:58 PM »
in der html datei wo der text von alcudia drinnen steht, schreibst du das hinnein.

<?php include("http://pix-world/search.php?search_keywords=alcudia")?>

mfg Andi

Offline Abraxxas

  • Pre-Newbie
  • Posts: 8
    • View Profile
Re: Thumbs von Suchergebnis auf eine andere Seite integrieren
« Reply #4 on: July 14, 2009, 07:19:44 PM »
@Rembrandt

Erstmal vielen Dank für die Zeit, die Du Dir genommen hast.
Das Ergebnis sieht fast so aus, wie ich es auch schon mal hatte. Mit dieser o.g. Zeile wird die komplette Seite eingeblendet.
Da sollte eigentlich aber nur die Tabelle der Thumbs an sich stehen.

Ich hatte schon mal versucht, mir eine zweite search.php zu stricken, die dann wieder auf eine andere html Seite steuert. Klappt aber nicht.

Vielleicht fällt Dir dafür auch noch was ein.

Gruß Hans

Rembrandt

  • Guest
Re: Thumbs von Suchergebnis auf eine andere Seite integrieren
« Reply #5 on: July 15, 2009, 08:38:00 AM »
Hi!

so einmal gehts noch:

erstell eine neue datei search_ex.php  und kopiere sie in deinen root ordner,mit diesen inhalt:

<?php
/**************************************************************************
 *                                                                        *
 *    4images - A Web Based Image Gallery Management System               *
 *    ----------------------------------------------------------------    *
 *                                                                        *
 *             File: search_ex.php                                 *
 *        Copyright: (C) 2002 Jan Sorgalla                                *
 *            Email: jan@4homepages.de                                    *
 *              Web: http://www.4homepages.de                             *
 *    Scriptversion: 1.7.6                                                                      *
 *    File Version: 1.1 (by Rembrandt www.vienna-pictures.com) *
 *    Never released without support from: Nicky (http://www.nicky.net)   *
 *                                                                        *
 **************************************************************************
 *                                                                                                                              *
 *    Dieses Script ist KEINE Freeware. Bitte lesen Sie die Lizenz-                                         *
 *    bedingungen (Lizenz.txt) für weitere Informationen.                                                  *
 *    ---------------------------------------------------------------                                                           *
 *    This script is NOT freeware! Please read the Copyright Notice       *
 *    (Licence.txt) for further information.                              *
 *                                                                        *
 *************************************************************************/

$main_template 'search';

define('GET_CACHES'1);
define('ROOT_PATH''./');
include(
ROOT_PATH.'global.php');
require(
ROOT_PATH.'includes/sessions.php');
$user_access get_permission();
include(
ROOT_PATH.'includes/search_utils.php');
//error_reporting(E_ALL);
$org_search_keywords $search_keywords;
$org_search_user $search_user;

if (isset(
$HTTP_GET_VARS['search_terms']) || isset($HTTP_POST_VARS['search_terms'])) {
  
$search_terms = isset($HTTP_POST_VARS['search_terms']) ? $HTTP_POST_VARS['search_terms'] : $HTTP_GET_VARS['search_terms'];
  
$search_terms $search_terms == "all" 0;
}
else {
  
$search_terms 0;
}

if (isset(
$HTTP_GET_VARS['search_fields']) || isset($HTTP_POST_VARS['search_fields'])) {
  
$search_fields = isset($HTTP_POST_VARS['search_fields']) ? trim($HTTP_POST_VARS['search_fields']) : trim($HTTP_GET_VARS['search_fields']);
}
else {
  
$search_fields "all";
}

$search_cat $cat_id;

$search_id = array();

if (
$search_user != "" && $show_result == 1) {
  
$search_user str_replace('*''%'trim($search_user));
  
$sql "SELECT ".get_user_table_field("""user_id")."
          FROM "
.USERS_TABLE."
          WHERE "
.get_user_table_field("""user_name")." LIKE '$search_user'";
  
$result $site_db->query($sql);
  
$search_id['user_ids'] = "";
  if (
$result) {
    while (
$row $site_db->fetch_array($result)) {
      
$search_id['user_ids'] .= (($search_id['user_ids'] != "") ? ", " "").$row[$user_table_fields['user_id']];
    }
    
$site_db->free_result($result);
  }
}

if (
$search_keywords != "" && $show_result == 1) {
  
$split_words prepare_searchwords($search_keywordstrue);

  
$match_field_sql = ($search_fields != "all" && isset($search_match_fields[$search_fields])) ? "AND m.".$search_match_fields[$search_fields]." = 1" "";
  
$search_word_cache = array();
  for (
$i 0$i sizeof($split_words); $i++) {
    if (
$split_words[$i] == "and" || $split_words[$i] == "und" || $split_words[$i] == "or" || $split_words[$i] == "oder" || $split_words[$i] == "not") {
      
$search_word_cache[$i] = ($search_terms) ? "and" $split_words[$i];
    }
    else {
      
$sql "SELECT m.image_id
              FROM ("
.WORDLIST_TABLE." w, ".WORDMATCH_TABLE." m)
              WHERE w.word_text LIKE '"
.addslashes(str_replace("*""%"$split_words[$i]))."'
              AND m.word_id = w.word_id
              
$match_field_sql";
      
$result $site_db->query($sql);
      
$search_word_cache[$i] = array();
      while (
$row $site_db->fetch_array($result)) {
        
$search_word_cache[$i][$row['image_id']] = 1;
      }
      
$site_db->free_result();
    }
  }

  
$is_first_word 1;
  
$operator "or";
  
$image_id_list = array();
  for (
$i 0$i sizeof($search_word_cache); $i++) {
    if (
$search_word_cache[$i] == "and" || $search_word_cache[$i] == "und" || $search_word_cache[$i] == "or" || $search_word_cache[$i] == "oder" || $search_word_cache[$i] == "not") {
      if (!
$is_first_word) {
        
$operator $search_word_cache[$i];
      }
    }
    elseif (
is_array($search_word_cache[$i])) {
      if (
$search_terms) {
        
$operator "and";
      }
      foreach (
$search_word_cache[$i] as $key => $val) {
        if (
$is_first_word || $operator == "or" || $operator == "oder") {
          
$image_id_list[$key] = 1;
        }
        elseif (
$operator == "not") {
          unset(
$image_id_list[$key]);
        }
      }
      if ((
$operator == "and" || $operator == "und") && !$is_first_word) {
        foreach (
$image_id_list as $key => $val) {
          if (!isset(
$search_word_cache[$i][$key])) {
            unset(
$image_id_list[$key]);
          }
        }
      }
    }
    
$is_first_word 0;
  }

  
$search_id['image_ids'] = "";
  foreach (
$image_id_list as $key => $val) {
    
$search_id['image_ids'] .= (($search_id['image_ids'] != "") ? ", " "").$key;
  }
  unset(
$image_id_list);
}

if (
$search_new_images && $show_result == 1) {
  
$search_id['search_new_images'] = 1;
}

if (
$search_cat && $show_result == 1) {
  
$search_id['search_cat'] = $search_cat;
}

if (!empty(
$search_id)) {
  
$site_sess->set_session_var("search_id"serialize($search_id));
}

include(
ROOT_PATH.'includes/page_header.php');

$num_rows_all 0;
if (
$show_result == 1) {
  if (empty(
$search_id)) {
    if (!empty(
$session_info['search_id'])) {
      
$search_id unserialize($session_info['search_id']);
    } else {
      
$search_id unserialize($site_sess->get_session_var("search_id"));
    }
  }

  
$sql_where_query "";

  if (!empty(
$search_id['image_ids'])) {
    
$sql_where_query .= "AND i.image_id IN (".$search_id['image_ids'].") ";
  }

  if (!empty(
$search_id['user_ids'])) {
    
$sql_where_query .= "AND i.user_id IN (".$search_id['user_ids'].") ";
  }

  if (!empty(
$search_id['search_new_images']) && $search_id['search_new_images'] == 1) {
    
$new_cutoff time() - 60 60 24 $config['new_cutoff'];
    
$sql_where_query .= "AND i.image_date >= $new_cutoff ";
  }

  if (!empty(
$search_id['search_cat']) && $search_id['search_cat'] != 0) {
    
$cat_id_sql 0;
    if (
check_permission("auth_viewcat"$search_id['search_cat'])) {
      
$sub_cat_ids get_subcat_ids($search_id['search_cat'], $search_id['search_cat'], $cat_parent_cache);
      
$cat_id_sql .= ", ".$search_id['search_cat'];
      if (!empty(
$sub_cat_ids[$search_id['search_cat']])) {
        foreach (
$sub_cat_ids[$search_id['search_cat']] as $val) {
          if (
check_permission("auth_viewcat"$val)) {
            
$cat_id_sql .= ", ".$val;
          }
        }
      }
    }
    
$cat_id_sql $cat_id_sql !== "AND i.cat_id IN ($cat_id_sql)" "";
  }
  else {
    
$cat_id_sql get_auth_cat_sql("auth_viewcat""NOTIN");
    
$cat_id_sql $cat_id_sql !== "AND i.cat_id NOT IN (".$cat_id_sql.")" "";
  }

  if (!empty(
$sql_where_query)) {
    
$sql "SELECT COUNT(*) AS num_rows_all
            FROM "
.IMAGES_TABLE." i
            WHERE i.image_active = 1 
$sql_where_query
            
$cat_id_sql";
    
$row $site_db->query_firstrow($sql);
    
$num_rows_all $row['num_rows_all'];
  }
}

if (!
$num_rows_all && $show_result == 1)  {
  
$msg preg_replace("/".$site_template->start."search_keywords".$site_template->end."/"$search_keywords$lang['search_no_results']);
}

//-----------------------------------------------------
//--- Show Search Results -----------------------------
//-----------------------------------------------------
if ($num_rows_all && $show_result == 1)  {
  
$link_arg $site_sess->url(ROOT_PATH."search_ex.php?show_result=1");

  include(
ROOT_PATH.'includes/paging.php');
  
$getpaging = new Paging($page$perpage$num_rows_all$link_arg);
  
$offset $getpaging->get_offset();
  
$site_template->register_vars(array(
    
"paging" => $getpaging->get_paging(),
    
"paging_stats" => $getpaging->get_paging_stats()
  ));

  
$imgtable_width ceil((intval($config['image_table_width'])) / $config['image_cells']);
  if ((
substr($config['image_table_width'], -1)) == "%") {
    
$imgtable_width .= "%";
  }

  
$additional_sql "";
  if (!empty(
$additional_image_fields)) {
    foreach (
$additional_image_fields as $key => $val) {
      
$additional_sql .= ", i.".$key;
    }
  }

  
$sql "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_description, i.image_keywords, i.image_date, i.image_active, i.image_media_file, i.image_thumb_file, i.image_download_url, i.image_allow_comments, i.image_comments, i.image_downloads, i.image_votes, i.image_rating, i.image_hits".$additional_sql.", c.cat_name".get_user_table_field(", u.""user_name")."
          FROM ("
.IMAGES_TABLE." i,  ".CATEGORIES_TABLE." c)
          LEFT JOIN "
.USERS_TABLE." u ON (".get_user_table_field("u.""user_id")." = i.user_id)
          WHERE i.image_active = 1
          
$sql_where_query
          AND c.cat_id = i.cat_id 
$cat_id_sql
          ORDER BY "
.$config['image_order']." ".$config['image_sort'].", image_id ".$config['image_sort']."
          LIMIT 
$offset$perpage";
  
$result $site_db->query($sql);

  
$thumbnails "<table width=\"".$config['image_table_width']."\" border=\"0\" cellpadding=\"".$config['image_table_cellpadding']."\" cellspacing=\"".$config['image_table_cellspacing']."\">\n";

  
$count 0;
  
$bgcounter 0;
  while (
$image_row $site_db->fetch_array($result)) {
    if (
$count == 0) {
      
$row_bg_number = ($bgcounter++ % == 0) ? 2;
      
$thumbnails .= "<tr class=\"imagerow".$row_bg_number."\">\n";
    }
    
$thumbnails .= "<td style=\"width:".$imgtable_width."; vertical-align:top;\">\n";
    
show_image($image_row"search_ex");
    
$thumbnails .= $site_template->parse_template("thumbnail_bit");
    
$thumbnails .= "\n</td>\n";
    
$count++;
    if (
$count == $config['image_cells']) {
      
$thumbnails .= "</tr>\n";
      
$count 0;
    }
  } 
// end while
  
if ($count 0)  {
    
$leftover = ($config['image_cells'] - $count);
    if (
$leftover >= 1) {
      for (
$i 0$i $leftover$i++) {
        
$thumbnails .= "<td style=\"width:".$imgtable_width."\">\n&nbsp;\n</td>\n";
      }
      
$thumbnails .= "</tr>\n";
    }
  }
  
$thumbnails .= "</table>\n";
  
$content $thumbnails;
  unset(
$thumbnails);
// end if
else {
  
$site_template->register_vars(array(
    
"search_keywords" => format_text(stripslashes($org_search_keywords), 2),
    
"search_user" => format_text(stripslashes($org_search_user), 2),
    
"lang_search_by_keyword" => $lang['search_by_keyword'],
    
"lang_search_by_username" => $lang['search_by_username'],
    
"lang_new_images_only" => $lang['new_images_only'],
    
"lang_search_terms" => $lang['search_terms'],
    
"lang_or" => $lang['or'],
    
"lang_and" => $lang['and'],
    
"lang_category" => $lang['category'],
    
"lang_search_fields" => $lang['search_fields'],
    
"lang_all_fields" => $lang['all_fields'],
    
"lang_name_only" => $lang['name_only'],
    
"lang_description_only" => $lang['description_only'],
    
"lang_keywords_only" => $lang['keywords_only'],
    
"category_dropdown" => get_category_dropdown($cat_id)
  ));

  if (!empty(
$additional_image_fields)) {
    
$additional_field_array = array();
    foreach (
$additional_image_fields as $key => $val) {
      if (isset(
$lang[$key.'_only'])) {
        
$additional_field_array['lang_'.$key.'_only'] = $lang[$key.'_only'];
      }
    }
    if (!empty(
$additional_field_array)) {
      
$site_template->register_vars($additional_field_array);
    }
  }
  
$content $site_template->parse_template("search_ex");
}

//-----------------------------------------------------
//--- Clickstream -------------------------------------
//-----------------------------------------------------
$clickstream "<span class=\"clickstream\"><a href=\"".$site_sess->url(ROOT_PATH."index.php")."\" class=\"clickstream\">".$lang['home']."</a>".$config['category_separator'].$lang['search']."</span>";

//-----------------------------------------------------
//--- Print Out ---------------------------------------
//-----------------------------------------------------
$site_template->register_vars(array(
  
"content" => $content,
  
"msg" => $msg,
  
"clickstream" => $clickstream,
  
"lang_search" => $lang['search']
));
$site_template->print_template($site_template->parse_template(search_ex));
?>


erstell eine neue datei search_ex.html und kopiere sie in dein templates verzeichnis:

  
{if msg}<div>{msg}</div><br><br>{endif msg}
{
content}
      <
p>{paging}&nbsp;</p>


mit dieser zeile unter deinem text sollte das dann funktionieren

<?php include("http://pix-world/search_ex.php?search_keywords=alcudia")?>


mfg Andi
« Last Edit: August 29, 2009, 02:29:03 PM by Rembrandt »

Offline Abraxxas

  • Pre-Newbie
  • Posts: 8
    • View Profile
Re: Thumbs von Suchergebnis auf eine andere Seite integrieren
« Reply #6 on: July 15, 2009, 06:26:54 PM »
@Rembrandt

Suuuuper !!!
Genau so !!

Vielen vielen Dank

Viele Grüße und einen schönen Abend

Hans