php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2009

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.02.2009, 18:46  
Neuer Benutzer
 
Registriert seit: 25.02.2009
Beiträge: 8
Alkazzar befindet sich auf einem aufstrebenden Ast
Standard online-useranzeigebox Filterfunktion

soo ich habe ein problem mit einer online-useranzeigebox einer dating-seite.

und zwar sieht das ganze so aus :

oben gibts halt filterauswahl(nur männer frauen etc.) die soweit auch funktioniert, doch wenn ich jetzt auf einen anderen link der seite klicke ist die filterfunktion wieder weg und es werden wieder männer frauen usw. zusammen angezeigt. wie bekomm ich es hin das die filterfunktion bestehen bleibt auch wenn ich auf eine unterseite gehe..

hier das script:

PHP-Code:
<?php

if ( !defined'SMARTY_DIR' ) ) {
    include_once( 
'init.php' );
}
// rewrite this page later
if ( isset( $_GET['results_per_page'] ) && $_GET['results_per_page'] ) {
    
$psize $_GET['results_per_page'];
    
$config['search_results_per_page'] = $_GET['results_per_page'] ;
    
$_SESSION['ResultsPerPage'] = $_GET['results_per_page'];
} elseif ( 
$_SESSION['ResultsPerPage'] != '' ) {
    
$psize $_SESSION['ResultsPerPage'];
    
$config['search_results_per_page'] = $_SESSION['ResultsPerPage'] ;
} else {
    
$psize $config['search_results_per_page'];
    
$_SESSION['ResultsPerPage'] = $config['search_results_per_page'];
}
$t->assign 'psize',  $psize );
// rewrite later

$filter    = (isset($_GET['ou'])) ? htmlspecialchars(strip_tags($_GET['ou'])) : "";
switch (
$filter) {
case 
"f":
    
$sql_add " AND u.gender='F' ";
    break;
case 
"m":
    
$sql_add " AND u.gender='M' ";
    break;
case 
"p":
    
$sql_add " AND u.gender='C' ";
    break;
default:
    
$sql_add "";
    break;
}

$sql "SELECT u.*, floor(period_diff(extract(year_month from NOW()),extract(year_month from birth_date))/12) as age FROM ! u, ! ou WHERE u.allow_viewonline=? AND u.status in (?,?) AND u.id = ou.userid $sql_add";
//if( isset( $_SESSION['UserId'] ) && $_SESSION['UserId'] != '' ){
//    $sql .= ' and u.id<>' . $_SESSION['UserId'];
//}

$cpage $_GET['page'];
if( 
$cpage == '' ) {
    
$cpage 1;
}

$rs            $db->query$sql, array( USER_TABLEONLINE_USERS_TABLE'1'$lang['status_enum']['active'], 'Active') );
$rcount    $rs->numRows();

if( 
$rcount ) {
    
$t->assign'totalrecs'$rcount );
    
$pages ceil$rcount $psize );
    
$start = ( $cpage ) * $psize;
    
$t->assign 'start'$start );
    if( 
$pages ) {
        if ( 
$cpage ) {
            
$prev $cpage 1;
            
$t->assign'prev'$prev );
        }
        
$t->assign 'cpage'$cpage );
        
$t->assign 'pages'$pages );

        if ( 
$cpage $pages ) {
            
$next $cpage 1;
            
$t->assign 'next'$next );
        }
    }
    
$sql .= " order by age ASC limit $start, $psize";
}

$data $db->getAll$sql, array( USER_TABLEONLINE_USERS_TABLE'1'$lang['status_enum']['active'], 'Active' ) );
$list = array();

foreach (
$data as $row) {
    
$countryname    $db->getOne('select name from ! where code = ?', array(COUNTRIES_TABLE$row['country'] ) );
    
$statename        $db->getOne('select name from ! where code = ? and countrycode = ?', array(STATES_TABLE$row['state_province'], $row['country'] ) );
    
$row['countryname']    = $countryname;
    
$row['statename']        = ($statename != '') ? $statename $row['state_province'];
    
$list[] = $row;
}

if ( 
sizeof$data ) == ) {
    
$t->assign 'error'"1" );
} else {
    
hasRight('');
    
$t->assign'data'$list );
}

$t->assign'lang'$lang );
$t->assign('rendered_page'$t->fetch('aktivuser_box.tpl') );
$t->display'aktivuser_box.tpl' );
exit;
?>
Alkazzar ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.02.2009, 18:48  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.248
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Mit Sessions. Btw. rein optisch hätte ich das jetzt nicht als Filterkriterium wahrgenommen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 25.02.2009, 18:51  
Neuer Benutzer
 
Registriert seit: 25.02.2009
Beiträge: 8
Alkazzar befindet sich auf einem aufstrebenden Ast
Standard

mhh naja stimmt schon filter ist da vieleicht nicht der ganz richtige ausdruck..
kannst du mir da ein bespiel für zeigen? wie man sowas umsetzt?
Alkazzar ist offline  
Alt 25.02.2009, 18:55  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.248
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Du nutzt doch schon Sessions. Schreib halt den GET Parameter mit rein und nimm die Prüfung des betr. Sessionkeys mit in die Filterprüfung mit rein.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 25.02.2009, 18:58  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

Wenn du das dauerhaft speicher möchtest, also über Sitzungen hinaus, kannst du solche Informationen auch in Cookies ablegen.
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline  
Alt 25.02.2009, 19:00  
Neuer Benutzer
 
Registriert seit: 25.02.2009
Beiträge: 8
Alkazzar befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von tomtaz Beitrag anzeigen
Wenn du das dauerhaft speicher möchtest, also über Sitzungen hinaus, kannst du solche Informationen auch in Cookies ablegen.
das wäre mir eigentlich am liebsten.. nur steh ich gerade irgendwie total auf dem schlauch, und nichts funktioniert so wie ich das vorstelle
Alkazzar ist offline  
Alt 25.02.2009, 19:03  
Erfahrener Benutzer
 
Benutzerbild von tomtaz
 
Registriert seit: 17.06.2008
Beiträge: 1.762
PHP-Kenntnisse:
Fortgeschritten
tomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig netttomtaz ist einfach richtig nett
tomtaz eine Nachricht über ICQ schicken tomtaz eine Nachricht über Skype™ schicken
Standard

Alles was du dazu brauchst ist die funktion setcookie und das $_COOKIE-Array.

Natürlich sind diese Informationen nur so lange vorhanden, bis der User die Cookies löscht.
__________________
Mfg Tomtaz
"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."
tomtaz ist offline  
Alt 25.02.2009, 19:10  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.248
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Dann solltest Du den aktiven Filter aber zwingend optisch kennzeichnen.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
Alt 25.02.2009, 20:01  
Neuer Benutzer
 
Registriert seit: 25.02.2009
Beiträge: 8
Alkazzar befindet sich auf einem aufstrebenden Ast
Standard

mir wurde jetzt gesagt ich soll es per "Fallback" machen:

PHP-Code:
<a href="index.php?<?php echo SID?>">
geht aber auch nicht.. cookies sollte ich wegen browserunterstüzungen nicht nehmen?!?!?...
Alkazzar ist offline  
Alt 25.02.2009, 20:05  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 34.248
PHP-Kenntnisse:
Fortgeschritten
nikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz seinnikosch kann auf vieles stolz sein
Standard

Ähh? Ganz falsche Baustelle.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist gerade online  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Online Entwickler PHP (m/w) - Festanstellung - München BTDNewmedia Beitragsarchiv 0 07.11.2008 11:44
User Online nie gleich 0 DiamondDog PHP Tipps 2008 4 22.08.2008 10:06
[BERLIN - FREIBERUFLICH] Online Developer mmelster Beitragsarchiv 0 12.08.2008 13:57
ermitteln wer online ist Funky_ PHP Tipps 2006 4 10.08.2006 12:13
Online Funktion .. xuriorene PHP Tipps 2006 3 20.04.2006 20:15
Partner für neuartige online Projekte gesucht iSi Trash 0 25.03.2006 21:22
Online -/ Offline-Status eines Benutzers anzeigen nicobischof PHP Tipps 2006 2 19.01.2006 14:31
Online Statistik PHP Tipps 2006 1 08.01.2006 13:21
Apache arbeitet nur Online PHP Tipps 2007 14 14.12.2005 11:08
Datenbank wird online nicht ausgelesen PHP Tipps 2005 7 27.05.2005 13:20
Online Script PHP Tipps 2005 6 22.05.2005 01:31
Suche Script zum anzeigen wer gerade Online ist Beitragsarchiv 7 02.03.2005 20:24
[Erledigt] Chat für 2 - Brauche Anzeige ob Gegenpart online ist PHP Tipps 2004 7 05.10.2004 22:51
User online? Creativ PHP Tipps 2004 1 17.08.2004 22:34
User online Simon9990 PHP Tipps 2004 8 17.06.2004 00:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
filterfunktion, sql select extract filter, $rcount = $rs->numrows();

Alle Zeitangaben in WEZ +1. Es ist jetzt 15:40 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum