IF ElseIF in phpbb
IF ElseIF in phpbb
Wollte mal fragen wenn ich eine Abfrage starte:
Beispiel:
ICQ Abfrage ob eine Nummer enthalten ist
Wenn eine Nummer inthalten ist so solle er diese anzeigen
Ist diese aber nicht vorhanden solle dastehen: Nicht angegeben oder keine Angaben
Wie müsste ich das dann machen?
Beispiel:
ICQ Abfrage ob eine Nummer enthalten ist
Wenn eine Nummer inthalten ist so solle er diese anzeigen
Ist diese aber nicht vorhanden solle dastehen: Nicht angegeben oder keine Angaben
Wie müsste ich das dann machen?
- Leuchte
- Ehemaliges Teammitglied
- Beiträge: 9179
- Registriert: 26.05.2003 14:57
- Wohnort: Duisburg
- Kontaktdaten:
Zum Beispiel soIn der dazugehörigen Template-Datei dieses
Code: Alles auswählen
if(empty($userdata['user_icq']))
{
$template->assign_block_vars('user_hat_kein_icq', array());
}
else
{
$template->assign_block_vars('user_hat_icq', array());
}
Code: Alles auswählen
<!-- BEGIN user_hat_kein_icq -->
Du hast kein ICQ
<!-- END user_hat_kein_icq -->
<!-- BEGIN user_hat_icq -->
Sei stolz, du hast ICQ
<!-- END user_hat_icq -->
Versteh nicht richtig
Also muss ich in den teilen:
Oder wie?
Also muss ich in den teilen:
Code: Alles auswählen
if(empty($userdata['user_icq']))
{
$template->assign_block_vars('$icq', array());
}
else
{
$template->assign_block_vars('$icq_no', array());
}
- Leuchte
- Ehemaliges Teammitglied
- Beiträge: 9179
- Registriert: 26.05.2003 14:57
- Wohnort: Duisburg
- Kontaktdaten:
Um bei meinem Beispiel zu bleiben.
Ist die Bedingungwahr, wird der Blockangezeigt, ansonsten der andere.
Variablen haben dort nichts zu suchen.
Ist die Bedingung
Code: Alles auswählen
if(empty($userdata['user_icq']))
Code: Alles auswählen
<!-- BEGIN user_hat_kein_icq -->
Du hast kein ICQ
<!-- END user_hat_kein_icq -->
Variablen haben dort nichts zu suchen.
Und wie müsste es dann korrekt dargelegt werden damit
a) Die ICQ-Nummer wenn vorhanden angezeigt wird
b) Wenn nicht vorhanden, die Meldung "Keine Nummer angegeben"
?
Als beispiel hab ich das mal so:
a) Die ICQ-Nummer wenn vorhanden angezeigt wird
b) Wenn nicht vorhanden, die Meldung "Keine Nummer angegeben"
?
Als beispiel hab ich das mal so:
Code: Alles auswählen
$icq = $row['user_icq'];
$icq_no = "Keine Angaben";
if(empty($userdata['user_icq']))
{
$template->assign_block_vars('$icq_no', array());
}
else
{
$template->assign_block_vars('$icq', array());
}
Also damit jemand weiss was ich meine und vorhab:
Ich habe vor auf einer extra seite nur die ICQ und MSN auflisten zu lassen dazu noch die UserID und den Username
Das anzeigen der Usernamen und der Userid´s ist nicht das Problem nur häng ich da an dem Problem das wenn ICQ gefüllt ist soll er es ausgeben (Das selbe mit MSN) ist das nicht der Fall soll halt eben Nicht Angegeben da stehen (das selbe auch bei MSN)
Ich hoffe ihr wisst jetzt was ich vorhab!
Ich habe vor auf einer extra seite nur die ICQ und MSN auflisten zu lassen dazu noch die UserID und den Username
Das anzeigen der Usernamen und der Userid´s ist nicht das Problem nur häng ich da an dem Problem das wenn ICQ gefüllt ist soll er es ausgeben (Das selbe mit MSN) ist das nicht der Fall soll halt eben Nicht Angegeben da stehen (das selbe auch bei MSN)
Ich hoffe ihr wisst jetzt was ich vorhab!
Bitte merken:
Bei Bedarf wirst du den Namen der Variable $userdata anpassen müssen, wir wissen ja nicht wo du den Code einbauen willst.
Und das zugehörige Template:
Das bezog sich auf das 1. Argument von assign_block_vars. Alle Variablen die du an das Template übergeben willst, packst du in das array().Leuchte hat geschrieben:Variablen haben dort nichts zu suchen.
Code: Alles auswählen
if(empty($userdata['user_icq']))
{
$template->assign_block_vars('user_hat_kein_icq', array());
}
else
{
$template->assign_block_vars('user_hat_icq', array(
'ICQ_NUMMER' => $userdata["user_icq"]));
}
Und das zugehörige Template:
Code: Alles auswählen
<!-- BEGIN user_hat_kein_icq -->
Du hast kein ICQ
<!-- END user_hat_kein_icq -->
<!-- BEGIN user_hat_icq -->
{user_hat_icq.ICQ_NUMMER}
<!-- END user_hat_icq -->
Hmm.... irgendwie bekomme ich es nicht gebacken
Hier die php:
hier die TPL:
Also irgendwie komm ich nicht klar
Hier die php:
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$userdata = session_pagestart($user_ip, PAGE_INDEX);
init_userprefs($userdata);
$page_title = 'ICQ/MSN Liste';
include($phpbb_root_path . 'includes/page_header.'.$phpEx);
$template->set_filenames(array(
'body' => 'icq_msn.tpl')
);
//* ICQ/MSN ANFANG *//
$icqmsn = "SELECT username, user_id, user_icq, user_msnm FROM " . USERS_TABLE . " WHERE user_id > 1 ORDER by user_id ASC";
if( !($result = $db->sql_query($icqmsn)) )
{
message_die(GENERAL_ERROR, 'Could not query users', '', __LINE__, __FILE__, $sql);
}
if ( $row = $db->sql_fetchrow($result) )
{
$i = 1;
do
{
$username = $row['username'];
$userid = $row['user_id'];
$posts = $row['user_posts'];
$icq_no = $row['<b><font color=\"red\">Nicht Angegeben</font></b>'];
$msn_no = $row['<b><font color=\"red\">Nicht Angegeben</font></b>'];
$icq = $row['user_icq'];
$msn = $row['user_msnm'];
if(empty($row['user_icq']))
{
$template->assign_block_vars('icq_no', array('ICQ_NO' => $row['<b><font color=\"red\">Nicht Angegeben</font></b>']));
}
else
{
$template->assign_block_vars('icq', array('ICQ' => $row['user_icq']));
}
$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
$template->assign_block_vars('posterrow', array(
'ROW_COLOR' => '#' . $row_color,
'ROW_CLASS' => $row_class,
'USERNAME' => $username,
'USERID' => $userid,
'ICQ_NO' => $icq_no,
'ICQ' => $icq,
'MSN_NO' => $msn_no,
'MSN' => $msn,
'U_VIEWPROFILE' => append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . "=$userid"))
);
$i++;
}
while ( $row = $db->sql_fetchrow($result) );
$db->sql_freeresult($result);
}
//* ICQ/MSN ENDE *//
$template->pparse('body');
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
?>
Code: Alles auswählen
<table class="forumline" align="center" width="80%" cellspacing="0" cellpadding="0" border="0">
<tr>
<td class="catHead" align="center"><b><a href="icq_msn.php" class="nav">ICQ/MSN - Liste</a></b></span></td>
</tr>
</table><br />
<table width="80%" align="center" cellpadding="3" cellspacing="1" border="0" class="forumline">
<tr>
<th class="thTop" align="center" colspan="4">ICQ/MSN - Liste der D-W-S "Deutsche Waffen Schmiede"</th>
</tr>
<tr>
<th class="thTop" align="center"><b>UserID:</b></th>
<th class="thTop" align="center"><b>Username:</b></th>
<th class="thTop" align="center"><b>ICQ:</b></th>
<th class="thTop" align="center"><b>MSN:</b></th>
</tr>
<!-- BEGIN posterrow -->
<tr>
<td class="{posterrow.ROW_CLASS}" align="center"><span class="gen">{posterrow.USERID}</span></td>
<td class="{posterrow.ROW_CLASS}" align="center"><span class="gen"><a href="{posterrow.U_VIEWPROFILE}" title="Zum Profil von {posterrow.USERNAME}"><b>{posterrow.USERNAME}</b></a></span></td>
<!-- BEGIN icq_no -->
<td class="{posterrow.ROW_CLASS}" align="center"><span class="gen">{posterrow.ICQ_NO}</span></td>
<!-- END icq_no -->
<!-- BEGIN icq -->
<td class="{posterrow.ROW_CLASS}" align="center"><span class="gen">{icq.ICQ}</span></td>
<!-- END icq -->
<td class="{posterrow.ROW_CLASS}" align="center"><span class="gen">{posterrow.MSN}</span></td>
</tr>
<!-- END posterrow -->
</table><br />
<table class="forumline" align="center" width="80%" cellspacing="0" cellpadding="0" border="0">
<tr>
<th class="thTop" align="center"><b>ICQ/MSN - Liste Alpha v1 © 2006 by D-W-S</b></th>
</tr>
</table><br />
Gut gemeinter Rat:
Lerne PHP, dann lerne wie man die Template-Klasse einsetzt.
Da ist sowohl unnötiger Code drin, wie auch Code wo ich mich frage ob du überhaupt Basis-PHP Kenntnisse hast, wie etwa:
Von diesem komischen if/while-do Konstrukt einmal abgesehen.
Das ist wirklich nicht böse gemeint, aber mal eben sagen wo der Fehler liegt, ist da kaum möglich, weil die ganze Datei von Fehlern und unsinnigem Code nur so wimmelt.
Lerne PHP, dann lerne wie man die Template-Klasse einsetzt.
Da ist sowohl unnötiger Code drin, wie auch Code wo ich mich frage ob du überhaupt Basis-PHP Kenntnisse hast, wie etwa:
Code: Alles auswählen
$icq_no = $row['<b><font color=\"red\">Nicht Angegeben</font></b>'];
Das ist wirklich nicht böse gemeint, aber mal eben sagen wo der Fehler liegt, ist da kaum möglich, weil die ganze Datei von Fehlern und unsinnigem Code nur so wimmelt.