Seite 1 von 1

Post ID abfrage

Verfasst: 17.03.2007 11:54
von Asmodiel
Hi!
ich brauche eine Abfrage in der viewtopic.php in der ich aus der phpbb_posts die datensätze "post_dice_item_id" und "post_dice_effect" raushole und dann in der viewtopic wie die signatur anhänge...
kann mir jemand sagen, ob und wie man das machen kann?

Verfasst: 17.03.2007 11:57
von Jan500
geb mal deine viewtopic.php

Jan

Verfasst: 17.03.2007 12:09
von Asmodiel
es geht mir halt um eine abfrage, die dann wie die sig an den post angehängt wird.
in der db gibts die sachen, die zur post-id zugewiesen sind.
wäre es vllt möglich, dass wenn diese beiden datensätze leer sind dieses teil da nicht angehängt wird?

hier meine viewtopic.phps

Verfasst: 17.03.2007 12:13
von S2B
Es werden bereits alle Spalten aus der Tabelle abgefragt, also solltest du in der for-Schleife $postrow[$i]['post_dice_item_id'] bzw. $postrow[$i]['post_dice_effect'] verwenden können. :wink:

Verfasst: 17.03.2007 12:22
von Jan500
hi

finde
##==================================================================================================================
##===========================================SHOPMOD ENDE===========================================================
##==================================================================================================================
daunter einfügen
(!empty($postrow[$i]['post_dice_effect']))? $post_dice_effect = $postrow[$i]['post_dice_effect'] : $post_dice_effect= '';
(!empty($postrow[$i]['post_dice_item_id']))? $post_dice_item_id = $postrow[$i]['post_dice_item_id'] : $post_dice_item_id= '';
finde
$template->assign_block_vars('postrow', array(
daunter einfügen:
'DICE_EFFECT' => $post_dice_effect,
'DICE_ITEM_ID' => $post_dice_item_id,
dann in der tpl {postrow.DICE_EFFECT} bzw {postrow.DICE_ITEM_ID}
einfügen

Jan

Verfasst: 17.03.2007 13:54
von Asmodiel
Warum geht diese Funktion nicht?
also die eingangsvariablen sind richtig gesetzt...
nur die ausgangsvariablen, die eigentlich von dieser funktion erzeugt werden sollten kommen nicht auf!

Code: Alles auswählen

// Begin add - Dice MOD
// Begin add - Dice MOD
function dice_item_name($dice_item_id)
{
  if($dice_item_id == 1)
  {$dice_item_name = 'Beretta'; }
  if($dice_item_id == 2)
  {$dice_item_name = 'Glock'; }
  if($dice_item_id == 3)
  {$dice_item_name = 'Mp 5'; }
  if($dice_item_id == 4)
  {$dice_item_name = 'IDF Defender'; }
  if($dice_item_id == 5)
  {$dice_item_name = 'Kalashnikov AK 47';}
  if($dice_item_id == 6)
  {$dice_item_name = 'M249 Minimi'; }
  if($dice_item_id == 7)
  {$dice_item_name = 'S - Uzi'; }
  if($dice_item_id == 8)
  {$dice_item_name = 'Bazooka'; }
  if($dice_item_id == 9)
  {$dice_item_name = 'Drehscheibengewehr'; }
  if($dice_item_id == 10)
  {$dice_item_name = 'Katana'; }
  if($dice_item_id == 11)
  {$dice_item_name = 'Messer'; }
  if($dice_item_id == 12)
  {$dice_item_name = 'Baseballschläger'; }
  if($dice_item_id == 13)
  {$dice_item_name = 'Wurfmesser'; }
echo $dice_item_name;
}

function dice_effect($dice_effect)
{
  if($dice_effect == 1)
  {$d_effect = 'Ja'; }
  if($dice_effect == 0)
  {$d_effect = 'Nein'; }
echo $d_effect;
}
//End add - Dice MOD
ind der viewtopic ruf ich das dann so auf:
dice_effect($dice_effect)
dice_item_name($dice_item_id)
also in der php

und wenn ich in der php einfach die eingangsvariablen ($dice_item_id und $dice_effect) aufrufe, dann gehts.
es geht mir einfach nur darum, dass der das ergebnis (effect) von 1 nach JA und von 0 nach NEIN umwandelt und die item id in den jeweiligen item namen.
kann mir da bitte einer helfen?

Verfasst: 17.03.2007 17:34
von S2B
Zuerst mal ein Tipp vorneweg: Schau dir mal switch an. :wink:

Zu deiner eigentlichen Frage: deine aktuelle Funktion gibt den generierten String aus, aber nicht zurück. Verwende mal anstatt

Code: Alles auswählen

echo $dice_item_name;
das hier:

Code: Alles auswählen

return $dice_item_name;
Die Funktion rufst du dann so auf:

Code: Alles auswählen

$dice_item_name = dice_item_name($dice_item_id);
$dice_item_name enthält dann den Wert, den du haben möchtest.

Verfasst: 17.03.2007 18:35
von Asmodiel
ich hab das jetzt so hier gemacht und es läuft.

Code: Alles auswählen

//
    // Würfelergebnis ausgeben
    //
    $dice_effect = $postrow[$i]['post_dice_effect'];
    $dice_item_id = $postrow[$i]['post_dice_item_id'];
    echo '<style type=text/css>
    td.catLeft2 {
    background: #2C2C2C;
	border-left: solid 1px #404040;
	border-right: solid 1px #121212;
	border-top: solid 1px #3C3C3C;
	border-bottom: solid 1px #131313; }
    </style>';
    if(empty($dice_effect) && empty($dice_item_id))
     {$d_attach = '';
     }
     else {
//Itemname!!
  if($dice_item_id == 1)
  {$dice_item_name = 'Beretta'; }
  if($dice_item_id == 2)
  {$dice_item_name = 'Glock'; }
  if($dice_item_id == 3)
  {$dice_item_name = 'Mp 5'; }
  if($dice_item_id == 4)
  {$dice_item_name = 'IDF Defender'; }
  if($dice_item_id == 5)
  {$dice_item_name = 'Kalashnikov AK 47';}
  if($dice_item_id == 6)
  {$dice_item_name = 'M249 Minimi'; }
  if($dice_item_id == 7)
  {$dice_item_name = 'S - Uzi'; }
  if($dice_item_id == 8)
  {$dice_item_name = 'Bazooka'; }
  if($dice_item_id == 9)
  {$dice_item_name = 'Drehscheibengewehr'; }
  if($dice_item_id == 10)
  {$dice_item_name = 'Katana'; }
  if($dice_item_id == 11)
  {$dice_item_name = 'Messer'; }
  if($dice_item_id == 12)
  {$dice_item_name = 'Baseballschläger'; }
  if($dice_item_id == 13)
  {$dice_item_name = 'Wurfmesser'; }
// END itemname
//Getoffen?
  if($dice_effect == 1)
  {$d_effect = 'Ja'; }
  if($dice_effect == 0)
  {$d_effect = 'Nein'; }
//Tabelle
      $d_attach  = '<table border=1>';
      $d_attach .= '<tr>';
//Überschrift
      $d_attach .= '<th align=center colspan="2"> Würfelergebnis </th>';
      $d_attach .= '</tr>';
      $d_attach .= '<tr><td class="catLeft2" align="center" colspan="2">';
//Würfelbilder
      $d_attach .= '<img src="templates/AcidTechTiger/images/dice.png" align="center">';
      $d_attach .= '<img src="templates/AcidTechTiger/images/dice.png" align="center">';
      $d_attach .= '<img src="templates/AcidTechTiger/images/dice.png" align="center">';
      $d_attach .= '<img src="templates/AcidTechTiger/images/dice.png" align="center">';
      $d_attach .= '</tr>';
      $d_attach .= '<tr>';
      $d_attach .= '<td class="catLeft2">';
//Waffe
      $d_attach .= '<p align="left">Benutzte Waffe: '.$dice_item_name;
      $d_attach .= '</td>';
      $d_attach .= '<td class="catLeft2">';
//Ergebnis
      $d_attach .= '<p align="right">Getroffen : '.$d_effect.'</p>';
      $d_attach .= '</td>';
      $d_attach .= '</tr></table>';
                 }
und ich bin ehrlichgesagt zu faul, das sjetzt zu ändern ^^
obwohl... danke mit dem switch, ich schau mir das nochmal an ^^