if/else to display an image

Discussion in 'PHP' started by sitefever, May 27, 2007.

Thread Status:
Not open for further replies.
  1. #1
    In my sql database, I have a number stored, between 1 and 10.

    On the page I am working on, the number in the database is displayed on the screen.

    I would like to display a different image depending on whatever number is in the database.

    ie.- if 1, display 1.jpg, if 2, display 2.jpg and so on (instead of just displaying the actual number.

    Would some sort of if/else statement be used for this? If so, how should it be written? Thank you!
     
    sitefever, May 27, 2007 IP
  2. coderbari

    coderbari Well-Known Member

    Messages:
    3,168
    Likes Received:
    193
    Best Answers:
    0
    Trophy Points:
    135
    #2
    
    if($number==1)
      echo "<img src=\"the source here\">";
    
    else if($number==2)
     echo "<img src=\"the source here\">";
    
    else if($number==3)
     echo "<img src=\"the source here\">";
    
    else if($number==4)
     echo "<img src=\"the source here\">";
    
    else if($number==5)
     echo "<img src=\"the source here\">";
    
    
    
    PHP:
    in this way
     
    coderbari, May 27, 2007 IP
  3. gibex

    gibex Active Member

    Messages:
    1,060
    Likes Received:
    21
    Best Answers:
    0
    Trophy Points:
    95
    #3
    better a switch - case :)
     
    gibex, May 27, 2007 IP
  4. redtrim

    redtrim Peon

    Messages:
    4
    Likes Received:
    0
    Best Answers:
    0
    Trophy Points:
    0
    #4
    much simpler would be:

    
    if($number >= 1 && $number <= 10){
        echo "<img src=\"$number.jpg\">";
    }
    
    PHP:
     
    redtrim, May 27, 2007 IP
  5. manilodisan

    manilodisan Peon

    Messages:
    224
    Likes Received:
    3
    Best Answers:
    0
    Trophy Points:
    0
    #5
    Code is poetry. redtrim got it better than 100 lines of coderbari :p
     
    manilodisan, May 27, 2007 IP
  6. sitefever

    sitefever Banned

    Messages:
    782
    Likes Received:
    26
    Best Answers:
    0
    Trophy Points:
    0
    #6
    Looks great guys, thank you so much for your help.
     
    sitefever, May 27, 2007 IP
  7. NoamBarz

    NoamBarz Active Member

    Messages:
    242
    Likes Received:
    5
    Best Answers:
    0
    Trophy Points:
    58
    #7
    I would have an array of image paths and then have number indicate what the index is.

    $image[0] = ...
    $image[1] = ...
    .
    .
    .
    $image[10] = ...

    echo "<img src=\"" . $image[$number] . "\">";
     
    NoamBarz, May 28, 2007 IP
  8. samusexu

    samusexu Well-Known Member

    Messages:
    138
    Likes Received:
    4
    Best Answers:
    0
    Trophy Points:
    108
    #8
    sitefever, there is no need for an if statement or case statement. To answer exactly to you example you could do like this, if $number would be your variable holding the number from the DB

     echo '<img src="'.$number.'display.jpg">';
    PHP:
     
    samusexu, May 28, 2007 IP
  9. krakjoe

    krakjoe Well-Known Member

    Messages:
    1,795
    Likes Received:
    141
    Best Answers:
    0
    Trophy Points:
    135
    #9
    
    printf( '<img src="%d.jpg" />', file_exists( sprintf( '%d.jpg', $number ) ) ? $number : 'not_found' );
    
    PHP:
    make a not_found.jpg or something that is relevant to whatever you're doing.
     
    krakjoe, May 29, 2007 IP
  10. coderlinks

    coderlinks Peon

    Messages:
    282
    Likes Received:
    19
    Best Answers:
    0
    Trophy Points:
    0
    #10
    Instead of using sprintf, you can use the intval function.

    ~
    Thomas
     
    coderlinks, May 29, 2007 IP
  11. krakjoe

    krakjoe Well-Known Member

    Messages:
    1,795
    Likes Received:
    141
    Best Answers:
    0
    Trophy Points:
    135
    #11
    I'm not evaluating the number, there is no point if they are all in a database and you know what the results are, I just prefer to use sprintf and printf over
    echo "this" . $sort . " of " . $business ;
    PHP:
    it just reads easier and you're less likely to make errors when writing code
     
    krakjoe, May 29, 2007 IP
Thread Status:
Not open for further replies.