tdoescher
Goto Top

If Abfrage - Erst ausdruck dann anweisung?

Hallo, wie erreicht man in PHP eine solche If Abfrage, ich weiß das sowas bei schleifen in VisualBasic geht, irgendwie muss man in PHP sowas doch auch hinbekommen

Bsp.:
// Standard anweisung

$a = 1
$b = 2

if($a < $b ) {
	echo "ausgabe";  
	$a = 3;
}

// Meine ausgedachte

$a = 1
$b = 2

if {
	echo "keine ausgabe";  
	$a = 3;
} ($a < $b )

Content-Key: 153956

Url: https://administrator.de/contentid/153956

Printed on: April 19, 2024 at 05:04 o'clock

Member: der-ComputerSpezi
der-ComputerSpezi Oct 28, 2010 at 07:03:43 (UTC)
Goto Top
oben ist richtig...

also

$a = 1
$b = 2

if($a < $b ) {
echo "ausgabe";
$a = 3;
}

wobei man "<" einzeln verwendet aber bei "=" muss man es DOPPELT verwenden bzw. bei gleichem Datentyp sogar DREIFACH!...
Wäre nur 1x "=", wäre es kein vergleichs- sondern Zuweisungsoperator!
Member: tdoescher
tdoescher Oct 28, 2010 at 07:13:11 (UTC)
Goto Top
das weiß ich alles, aber ich will ja erreichen, das erst die anweisungen in der if abfrage abgearbeitet werden, und dann erst gecheckt werden soll ob er das überhaupt hätte machen müssen, bzw. dann erst die echo ausgaben aus der if abweisungen ausgibt
Member: user132
user132 Oct 28, 2010 at 07:14:09 (UTC)
Goto Top
Morgen,


Bis hier sieht alles richtig aus

if {
echo "keine ausgabe";
$a = 3;
} ($a < $b )

Das macht aber keinen Sinn..
Schau dir das einfach mal genauer an: http://www.w3schools.com/php/php_operators.asp
Member: der-ComputerSpezi
der-ComputerSpezi Oct 28, 2010 at 07:18:07 (UTC)
Goto Top
Hast du nen Praxisbeispiel? Ich kann mir gerade nicht genau vorstellen, was du brauchst!


vielleicht ist eine do-while-schleife für dich in dem Fall das richtige?!?

<?php
$i = 0;
do {
echo $i;
} while ($i > 0);
?>
Member: tdoescher
tdoescher Oct 28, 2010 at 07:31:48 (UTC)
Goto Top
wieso macht das kein sin?

mit der do while schleife würde wohl funktionieren, allerdings habe ich da ja leider keine richtige abfrage

Beispiel:

Das ist ein template aus einem CMS , das soll aber nicht immer ausgegeben werden, sondern nur wenn zum beispiel ein bestimmtest produkt drin ausgegeben wird. deshalb soll erst die ausgabe generiert werden, und dann gucken ist ob da halt das produkt drinne steht, sonst wird es nicht ausgegeben
<div class="box">  
  <div class="top"><img src="catalog/view/theme/default/image/latest.png" alt="" /><?php echo $heading_title; ?></div>  
  <div class="middle">  
    <?php if ($products) { ?>
    <table cellpadding="2" cellspacing="0" style="width: 100%;">  
      <?php foreach ($products as $product) { ?>
      <tr>
        <td valign="top" style="width:1px"><a href="<?php echo str_replace('&', '&amp;', $product['href']); ?>"><img src="<?php echo $product['image']; ?>" alt="<?php echo $product['name']; ?>" /></a></td>  
        <td valign="top"><a href="<?php echo str_replace('&', '&amp;', $product['href']); ?>"><?php echo $product['name']; ?></a>  
          <?php if ($display_price) { ?>
          <br />
          <?php if (!$product['special']) { ?>  
          <span style="font-size: 11px; color: #900;"><?php echo $product['price']; ?></span>  
          <?php } else { ?>
          <span style="font-size: 11px; color: #900; text-decoration: line-through;"><?php echo $product['price']; ?></span> <span style="font-size: 11px; color: #F00;"><?php echo $product['special']; ?></span>  
          <?php } ?>
          <a class="button_add_small" href="<?php echo $product['add']; ?>" title="<?php echo $button_add_to_cart; ?>" >&nbsp;</a>  
          <?php } ?>
          <?php if ($product['rating']) { ?>  
          <br />
          <img src="catalog/view/theme/default/image/stars_<?php echo $product['rating'] . '.png'; ?>" alt="<?php echo $product['stars']; ?>" />  
          <?php } ?></td>
      </tr>
      <?php } ?>
    </table>
    <?php } ?>
  </div>
  <div class="bottom">&nbsp;</div>  
</div>
Member: der-ComputerSpezi
der-ComputerSpezi Oct 28, 2010 at 07:39:52 (UTC)
Goto Top
ok, langsam verstehe ich es, ich habe auch schon eine Idee...

mal sehen ob ich das richtig aufgefasst habe:

1. Ein Template mit EINEM Produkt oder EINER PRODUKTLISTE?!?!? wird geladen
2. Du möchtest das Template untersuchen ob ein gewisses Produkt dabei ist bzw. ob es das richtige Produkt zum Anzeigen des Templates ist...
3. wenn es passt, wirds angezeit, wenn nicht, dann eben nicht...

soweit richtig?
Member: nxclass
nxclass Oct 28, 2010 at 08:11:10 (UTC)
Goto Top
... vielleicht solltest Du die Prüfung machen bevor Du überhaupt das Template lädst.
Member: tdoescher
tdoescher Oct 28, 2010 at 08:13:56 (UTC)
Goto Top
würde natürlich gehen, aber dann muss ich im CORE des CMS reumhühnern, das wäre aber nicht so doll fürs update
Member: nxclass
nxclass Oct 28, 2010 at 08:19:28 (UTC)
Goto Top
Verstehe - dann musst Du eben am Anfang des Template Scripts ein 2. mal (bzw. 0. mal) durch das Array brausen und den Artikel suchen.

Oder: Du speicherst die Ausgabe in eine Variable - welche Du dann ausgibst oder nicht - würde aber auch nicht schneller sein - denke ich.
Oder: Du findest eine Möglichkeit schon bei der Generierung des Arrays ein Bool Wert zu generieren,den Du abfragen kannst.
Member: tdoescher
tdoescher Oct 28, 2010 at 08:25:45 (UTC)
Goto Top
ja, ich bekomme es natürlich auch so hin, aber das wäre die eleganteste lösung, deshalb würde mich das interresieren, aber geht wohl irgendwie nicht.......schade schade