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-ID: 153956

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

Ausgedruckt am: 25.11.2024 um 14:11 Uhr

der-ComputerSpezi
der-ComputerSpezi 28.10.2010 um 09:03:43 Uhr
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!
tdoescher
tdoescher 28.10.2010 um 09:13:11 Uhr
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
user132
user132 28.10.2010 um 09:14:09 Uhr
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
der-ComputerSpezi
der-ComputerSpezi 28.10.2010 um 09:18:07 Uhr
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);
?>
tdoescher
tdoescher 28.10.2010 um 09:31:48 Uhr
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>
der-ComputerSpezi
der-ComputerSpezi 28.10.2010 um 09:39:52 Uhr
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?
nxclass
nxclass 28.10.2010 um 10:11:10 Uhr
Goto Top
... vielleicht solltest Du die Prüfung machen bevor Du überhaupt das Template lädst.
tdoescher
tdoescher 28.10.2010 um 10:13:56 Uhr
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
nxclass
nxclass 28.10.2010 um 10:19:28 Uhr
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.
tdoescher
tdoescher 28.10.2010 um 10:25:45 Uhr
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