Seite 3 von 4

Verfasst: 22.10.2006 12:05
von Stupid
ich hab hier die Boardsuche verwendet und hab nen ähnlichen Fall gefunden ....da wurde das so vorgeschlagen......nachdem ich das so gemacht habe, lief und läuft das ganze nun ohne Probleme

Verfasst: 22.10.2006 12:21
von Miriam
Dann poste den Link dazu hier und schreibe oben [erledigt] ran (also in der Thread-Überschrift)....

Dann können wir das abschliessen. :)

Verfasst: 22.10.2006 21:22
von Stupid
Brauche doch noch mal Hilfe :oops:

ich habe laut dieser Seite und dieser Seite das Snippet eingebaut, aber irgendwie nimmt der das nicht an

Auszug aus meiner includes/functions.php:

Code: Alles auswählen

// End add - Last visit MOD

function member_of($group_id, &$userdata) 
{ 
global $db; 
if ( !$userdata['session_logged_in'] ) 
{ 
return false; 
} 
if ( isset($userdata['user_member_of_' . $group_id]) ) 
{ 
return $userdata['user_member_of_' . $group_id]; 
} 
$sql = "SELECT count(*) AS num FROM " . USER_GROUP_TABLE . " 
WHERE user_id = '" . $userdata['user_id'] . "' AND user_pending = 0 AND group_id IN ( " . $group_id . " )"; 
if ( !($result = $db->sql_query($sql)) ) 
{ 
message_die(GENERAL_ERROR, 'Could not get group auth', '', __LINE__, __FILE__, $sql); 
} 
$row = $db->sql_fetchrow($result); 
if ( $row['num'] > 0 ) 
{ 
return $userdata['user_member_of_' . $group_id] = true; 
} 
return $userdata['user_member_of_' . $group_id] = false; 
} 
?>
Auszug aus meiner page_header:

Code: Alles auswählen

else
{
	$template->assign_block_vars('switch_user_logged_in', array());

	if ( !empty($userdata['user_popup_pm']) )
	{
		$template->assign_block_vars('switch_enable_pm_popup', array());
	}
	if ( $userdata['user_absence'] == TRUE )
	{
		$template->assign_block_vars('switch_absence', array());
	}
	if ( member_of('8,39', $userdata) ) 
    { 
        $template->assign_block_vars('switch_usergroup_8, 39', array()); 
    } 
}
und ein Auszug meiner kicklist.php:

Code: Alles auswählen

<body>
<!-- BEGIN switch_usergroup_8,39 -->
<form method="POST" action="kicklist.php" target="_self">
<table width="90%" cellspacing="1" cellpadding="4" border="0" align="center" class="forumline">   <tr>
     <td class="catBottom" colspan="2">Kickliste:</td>
   </tr>
   <tr>
      <td class="row1">Datum:</td>
      <td class="row2"><input type="text" maxlength="255" size="50" name="datum" class="input"></td>
   </tr>
   <tr>
      <td class="row1">Name:</td>
      <td class="row2"><input type="text" maxlenght="255" size="50" name="name" class="input"></td>
   </tr>
   <tr>
      <td class="row1" valign=top>Grund:</td>
      <td class="row2"><textarea name="grund" cols="47" rows="15" class="textarea"></textarea></td>
   </tr>
   <tr>
      <td class="catBottom" colspan="2" align="center"><input class="input" type="submit" name="submit" value="Eintragen!" />&nbsp;&nbsp;<input class="input" type="reset" value="Löschen" />
      </td>
   </tr>

</table>
</form>
<br>
<!-- END switch_usergroup_8,39 -->
<table width="90%" cellspacing="1" cellpadding="4" border="0" align="center" class="forumline">
   <tr>
      <td class="catBottom" width="15%">Datum</td>
      <td class="catBottom" width="35%">Name</td>
      <td class="catBottom" width="50%">Grund</td>
   </tr>
aber trotzdem ist es noch für alle sichtbar....auch für einen Gast

ich möchte, dass das der Teil, wo das Formular auf dieser Seite ist nur 2 bestimmten Gruppen angezeigt wird....die Tabelle soll jeder sehen, auch die Gäste...

Verfasst: 22.10.2006 21:53
von Miriam
Das geht nur, wenn Du Templates benutzt... machst Du aber nicht. Bei Dir ist alles komplett in die PHP Datei hineingecoded.

Versuche es so:

Code: Alles auswählen

if ( member_of('8,39', $userdata) )
    {
        <Hier kommt das ganze Eingabe-Forumlar hinein>
    }
<Hier folgt der Code zur Tabellenanzeige>

Verfasst: 22.10.2006 22:01
von Stupid
Miriam...manno...könnt dich knutschen....danke dir noch mal =) Danke Danke Danke

funktioniert!!! *rumfreu

eine Frage hab ich noch....muss ich etwas extra dazuschreiben, wenn er nach einer bestimmten Anzahl von Einträgen eine neue Seite anfangen soll, oder passiert das automatisch?

Verfasst: 22.10.2006 22:31
von Miriam
Wenn Du es mittlerweile hineinprogrammiert hast, geht es "automatisch"... ansonsten nicht. :)

Verfasst: 22.10.2006 22:33
von Stupid
ich hab jetzt nur noch das mit den Gruppen hinzugefügt...

hm....magst dabei auch noch mal helfen? *liebfrag

Verfasst: 22.10.2006 22:39
von Miriam
Hey, Du Nervensäge.... Was passt jetzt schon wieder nicht? :o

Verfasst: 22.10.2006 22:41
von Stupid
*lach* sorry fürs nerven...ehrlich...komm mir selbst schon blöd vor..... :oops:

ich meine das mit den Seitenzahlen...wie mach ich das, dass er nach, sagen wir mal 20 Einträgen, eine neue Seite anfängt?

.::EDIT::.
hab das gefunden:

Code: Alles auswählen

$start = ( !empty($_GET['start']) ) ? intval($_GET['start']) : 0; 
   $start = $start * 25;

$sql = "SELECT serie_id, season_id, folge_title, folge_desc, folge_img 
            FROM " . EPG_FOLGEN_TABLE . " 
            WHERE serie_id = ".$serie." AND season_id = ".$staffel." 
            ORDER BY folge_id 
            LIMIT $start, 25";

$sql = "SELECT * FROM ".EPG_FOLGEN_TABLE; 
$result = $db->sql_query($sql); 
$total = mysql_num_rows($result); 

$pagination = generate_pagination(append_sid("name_der_datei.$phpEx"), $total, 25, $start);
für mich umgeschrieben dann so?:

Code: Alles auswählen

$start = ( !empty($_GET['start']) ) ? intval($_GET['start']) : 0; 
   $start = $start * 25;

$sql = "SELECT datum, name, grund 
            FROM " . kicklist . " 
            ORDER BY datum 
            LIMIT $start, 25";

$sql = "SELECT * FROM ".kicklist; 
$result = $db->sql_query($sql); 
$total = mysql_num_rows($result); 

$pagination = generate_pagination(append_sid("kicklist.$phpEx"), $total, 25, $start);
ich vermute, dass das wenn über

Code: Alles auswählen

include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
muss, oder?

.::EDIT 2::.
mit diesem Code werden mir zumindest schon mal Seitenzahlen unten angezeigt:

Code: Alles auswählen

$start = ( !empty($_GET['start']) ) ? intval($_GET['start']) : 0; 
   $start = $start * 5; 

$sql = "SELECT * 
            FROM " .$table_prefix . "kicklist" . " 
            ORDER BY datum 
            LIMIT $start, 5"; 

$sql = "SELECT * FROM " .$table_prefix . "kicklist"; 
$result = $db->sql_query($sql); 
$total = mysql_num_rows($result); 
$i = 1; 
   $total = $total * 0.5; 
   $total = ceil($total); 
   while($i != $total) 
   { 
   $i++; 
   echo ', <a href="kicklist.php?start='.$i.'">'.$i.'</a> '; 
   }
nur die Einträge in der Tabelle wurden nicht auf 5 Einträge reduziert, damit die nächsten 5 Einträge auf der nächsten Seite angezeigt werden (wobei die 5 nur zum testen genommen wurde)....es stehen jetzt die Zahlen 2-8 (es gibt also angeblich schon 8 Seiten-> was nicht wahr ist) unter der Tabelle und egal welche Zahl ich davon klicke, es wird mir immer die selbe Seite angezeigt mit allen Einträgen und nicht nur 5 Einträge...was hab ich falsch gemacht? :(

Verfasst: 23.10.2006 18:01
von Miriam
Sag' mal: Nähst Du Deinen Sachen selbst oder kaufst Du die im Laden? :)

Ich habe ein neues Script eingepflegt... selber Link wie oben....
Also es ist mein Script (ohne Deine Anpassungen) mit Pagination.

Du machst Dir Gedanken, das finde ich gut, aber versuche nicht, das Rad neu zu erfinden... :)

P.S.: Die Paginations-Sachen habe ich kommentiert.