nachdem MarkusR leider noch keinen Auftrag bekommen hat und mein Auftraggeber sich noch nicht sicher ist, ob er dies haben möchte dachte ich komm Ralf, das kann doch nicht sooo schwer sein versuche es doch mal.
Wenn du nicht weiterkommst dann hilft dir bestimmt auch die Community??!
Gesagt getan, mit der tollen Vorlage von MarkusR hier beim Artikelfilter
Habe ich folgenden Code zustande gebracht:
ACHTUNG dieser Code hat noch folgendes Probleme:
- 1. Die Ausgabe der richtigen Seitennavigation stimmt noch nicht, da das Limit noch nicht richtig ermittelt wird
- 2. ... (gelöst)
Aber erst mal zum Code und dann zu meinen Fragen an euch.
Öffne _admin/users.php
SUCHE
Code: Alles auswählen
// make sure we are not behind the last entry
if ($max_data<=$_SESSION['SID_pagers']['users']) {
$_SESSION['SID_pagers']['users'] = $max_data-1;
}
Code: Alles auswählen
// Start Userfilter Teil 1 *****************
switch ($_REQUEST['action']) {
case 'togglefilter':
$_SESSION['filter_users']['enabled'] = !$_SESSION['filter_users']['enabled'];
break;
case 'setfilter':
$_SESSION['SID_pagers'][$pager] = 0;
$_SESSION['filter_users']['phrase'] = $_POST['phrase'];
break;
}
if (!$_SESSION['filter_users']['enabled']) {
$_SESSION['filter_users']['phrase'] = '';
}
$join_phrase = '';
$q_phrase = '';
$limit_phrase = '';
if ($_SESSION['filter_users']['phrase']) {
$join_phrase .= "LEFT JOIN ".CPO_USERGROUPS." AS g ON u.usergroups_id = g.id ";
$q_phrase .= "AND (u.id LIKE '%".addslashes($_SESSION['filter_users']['phrase'])."%' "
."OR user LIKE '%".addslashes($_SESSION['filter_users']['phrase'])."%' "
."OR admin LIKE '%".addslashes($_SESSION['filter_users']['phrase'])."%' "
."OR name LIKE '%".addslashes($_SESSION['filter_users']['phrase'])."%' "
."OR email LIKE '%".addslashes($_SESSION['filter_users']['phrase'])."%' "
."OR g.usergroup LIKE '%".addslashes($_SESSION['filter_users']['phrase'])."%') ";
}
if ($_SESSION['filter_users']['phrase']=='') {
$limit_phrase .= "LIMIT ".$_SESSION['SID_pagers']['users'].", ".$anzahl."";
}
// Ende Userfilter Teil 1 *****************
Code: Alles auswählen
$db->query('SELECT id, user, admin, name, email, usergroups_id '
.'FROM '.CPO_USER.' '
.'WHERE id>=0 '
.'ORDER BY user '
.'LIMIT '.$_SESSION['SID_pagers']['users'].', '.$anzahl);
Code: Alles auswählen
// Start Userfilter Teil 2 *****************
$db->query('SELECT u.id, user, admin, name, email, usergroups_id '
.'FROM '.CPO_USER.' AS u '
.$join_phrase
.'WHERE u.id>=0 '
.$q_phrase
.'ORDER BY user '
.$limit_phrase);
// Ende Userfilter Teil 2 *****************
Code: Alles auswählen
printPageHeader(
__('Work on users'),
__('In this view you can choose a user for editing or delete it.'),
'users-workonusers.html#users-workonusers'
);
Code: Alles auswählen
// Start Userfilter Teil 3 *****************
if (!$_SESSION['filter_users']['enabled']) {
print('<table style="width: 100%;" class="colored filter"><thead>');
print('<tr>');
printf('<th><span><a href="%1$s">'
.'<img src="'.SKIN_URL.'sym_filteron.gif" width="13" height="13" style="vertical-align: text-bottom;" alt="%2$s" title="%2$s" ></a>'
.' <a href="%1$s">%2$s</a>'.help('').'</span></th>',
$_SERVER['PHP_SELF'].'?action=togglefilter',
htmlspecialchars(__('Enable filter')));
print('</tr></table>');
} else {
print('<table style="width: 100%;" class="colored"><thead>');
print('<tr>');
printf('<th colspan="3"><span><a href="%1$s">'
.'<img src="'.SKIN_URL.'sym_filteroff.gif" width="13" height="13" style="vertical-align: text-bottom;" alt="%2$s" title="%2$s" ></a>'
.' <a href="%1$s">%2$s</a>'.help('').'</span></th>',
$_SERVER['PHP_SELF'].'?action=togglefilter',
htmlspecialchars(__('Disable filter')));
print('</tr></thead><tbody><tr>');
print('<form method="post" action="'.$_SERVER["PHP_SELF"].' " name="newsentry">');
print('<td class="leftrow">');
print(__('Filter by phrase:').'</td><td>');
printf('<input type="text" name="%s" value="%s" class="inputwidth">'.help(''),
'phrase',
htmlspecialchars($_SESSION['filter_users']['phrase']));
print('</td></tr><td> </td><td>');
print('<input type="hidden" name="action" value="setfilter">');
print('<input type="submit" class="button" value="'.htmlspecialchars(__('Set filter parameters')).'">');
print('</td>');
print('</form>');
print('</tr></tbody></table>');
}
// Ende Userfilter Teil 3 *****************
1. Im Teil 1 habe ich ja folgenden Code
Code: Alles auswählen
$limit_phrase .= "LIMIT ".$_SESSION['SID_pagers']['users'].", ".$anzahl."";
OK ich habe gesehen vor meinem Code 1 wird in der Datei diese Variable neu belegt mit der Summe der GESAMTEN User die in der DB stehen ... wie kann ich das ändern??
2. bekomme ich im ersten Codeteil die Auskommentierten Zeilen so nicht wirklich hin??!! wenn ich das so mache, bekomme ich immer den Fehler:
OK irgendetwas ist unklar/ doppeldeutig aber wie heißt es richtig??Database error:
Invalid SQL: SELECT id, user, admin, name, email, usergroups_id FROM cpo405_user LEFT JOIN cpo405_usergroups u ON cpo405_user.usergroups_id = u.id WHERE id>=0 AND (id LIKE '%123%' OR user LIKE '%123%' OR admin LIKE '%123%' OR name LIKE '%123%' OR email LIKE '%123%' OR u.usergroup LIKE '%123%') ORDER BY user
Column: 'id' in field list is ambiguous (1052)
Tja wie gesagt, meine SQL Kenntnisse gehen gegen Null
EDIT: --> gelöst!!!
So dies war es mal von meiner Seite aus, wäre schön was von euch zu hören, evtl. ist dann in der nächsten Version dies ja enthalten?
@ MarkusR
Sorry das du keinen Auftrag von mir bekommen hast, aber ich dachte ich versuche mich mal selber dran ... es hat mich eben irgendwie der Ehrgeiz gepackt
cu Ralf