Avatar billede AgentPHP Nybegynder
06. april 2011 - 12:02 Der er 9 kommentarer og
1 løsning

Hvis 0, så vis dette, og hvis 1, vis dette..

Hejsa Eksperter.
Sorry viste ikke helt hvad jeg skulle kalde dette spørgsmål.

Har denne kode, hvis pris er 0 viser det "UDSOLDT!" men vil gerne have hvis pris er 1 så viser den "Kontakt os for mere info"

Kode:

<td class="main" align="right"><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . (($product_info['products_price'] > 0) ? tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART) : 'UDSOLDT!'); ?></td>

Hvordan skal dette laves?

Mange gange tak på forhånd!

///
AgentPHP
Avatar billede kasbas91 Nybegynder
06. april 2011 - 12:15 #1
Hej det er et eksempel her på hvordan du kan gøre det:


<?php
    if($bla == 1){
        echo "Kontakt os for mere info";
    }else{
        echo "Udsolgt";
    }

    if($bla == 1){
        echo "Kontakt os for mere info";
    }else if($bla == 0){
        echo "Udsolgt";
    }
?>
<td class="main" align="right"><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . (($product_info['products_price'] == 1) ? tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART) : 'UDSOLDT!'); ?></td>


Så må du jo se om du kan bruge det til noget...
Avatar billede dmdisco Nybegynder
06. april 2011 - 13:12 #2
eller en alternativ syntax

print $bla == 1 ? "Kontakt os for mere info" : "Udsolgt";

eller hvis der skal være flere muligheder kan du også bruge en switch
Avatar billede dmdisco Nybegynder
06. april 2011 - 13:13 #3
ahh så lige at kasbas havde den med i bunden :)
Avatar billede tjens Nybegynder
06. april 2011 - 13:30 #4
Det bliver ofte for uoverskueligt hvis man har mere end 2 udfald og skal bruge mere end én ?: operator.

Jeg vil foreslå at du går over til switch:

<td class="main" align="right">
  <?php
    echo tep_draw_hidden_field('products_id', $product_info['products_id']) ;
    switch ($product_info['products_price']) {
      case 0:
        echo "Udsolgt"
        break;
      case 1:
        echo "Kontakt os for mere info";
        break;
      default:
      echo tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART);
    }
  ?>
</td>



Ternary operator kan dog godt "nestes" hvis man er lidt omhyggelig, som vist i dette indlæg: http://www.php.net/manual/en/language.operators.comparison.php#95952
Avatar billede kentora Nybegynder
06. april 2011 - 13:45 #5
Jeg, personligt, synes at if, elseif og else sætninger er det mest overskuelige. Men det er op til dig. :)
Avatar billede AgentPHP Nybegynder
06. april 2011 - 14:12 #6
Den tjens har lavet ser meget godt ud, men når jeg indsætter den kommer der denne fejl op ?

Parse error: parse error, expecting `','' or `';'' in C:\wamp\www\testosc\product_info.php on line 219

Køre med PHP 4.3.9 hvis det har nogle betydning..

( Jeg er på bar bund i denne opgave ) :)
Avatar billede discotk Nybegynder
06. april 2011 - 19:01 #7
Så burde den virke:

<td class="main" align="right">
  <?php
    echo tep_draw_hidden_field('products_id', $product_info['products_id']) ;
    switch ($product_info['products_price']) {
      case 0:
        echo "Udsolgt";
        break;
      case 1:
        echo "Kontakt os for mere info";
        break;
      default:
      echo tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART);
    }
  ?>
</td>
Avatar billede AgentPHP Nybegynder
07. april 2011 - 13:57 #8
Tak Discotk.
Dette virkede som jeg ønskede :)

Smid svar...
Avatar billede tjens Nybegynder
07. april 2011 - 14:39 #9
Hermed et svar
Avatar billede discotk Nybegynder
20. april 2011 - 21:22 #10
Tjans fortjener disse point
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester