Data niet echo'en als de databasewaarde leeg is

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Axel Neve

Axel Neve

07/05/2011 23:05:03
Quote Anchor link
Voor een programmerings-script heb ik de volgende code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
  $verbinding2
= mysql_connect('localhost','user','pass') or die("<b>Er is een fout opgetreden</b><br />Error: Kon geen verbinding maken met de database.");
  mysql_select_db("programmering") or die("<b>Er is een fout opgetreden</b><br />Error: Kon de goede database niet vinden.");

  $opdracht2 = "SELECT * FROM radio WHERE Dag='ma' ORDER BY Starttijd" ;
  $resultaat2 = mysql_query($opdracht2) or die("<b>Er is een fout opgetreden</b><br />Error: Zoekopdracht niet uitgevoerd.");
 
  echo "<table>\n";
  echo "<th>Maandag</th>\n";
  echo "<th></th>\n";
  echo "<th></th>\n";
  echo "<th></th>\n";

  while($row = mysql_fetch_array($resultaat2, MYSQL_ASSOC)) {
    echo "<tr style='line-height:16px'>\n";

    $starttijd = $row["Starttijd"];
    $starttijd2 = substr("$starttijd", 0, -3);
    $eindtijd = $row["Eindtijd"];
    $eindtijd2 = substr("$eindtijd", 0, -3);
    $programma = $row["Programma"];
    $presentatie = $row["Presentatie"];
    $presentatie2 = $row["Presentatie2"];
    $presentatie3 = $row["Presentatie3"];
    $ppagina = $row["PPagina"];
    $gemist1 = $row['Gemist1'];
    $gemist2 = $row['Gemist2'];
    $gemist3 = $row['Gemist3'];
    $gemist4 = $row['Gemist4'];
    
    echo "<td style='vertical-align:text-top'>" . $starttijd2 . " - " . $eindtijd2 . "</td>\n";
    echo "<td style='vertical-align:text-top'><a href='http://www.blosrtv.nl/" . $ppagina . "' target='_top'>" . $programma . "</a></td>\n";
    echo "<td>" . $presentatie . "\n";
    echo "<br />" . $presentatie2 . "\n";
    echo "<br />" . $presentatie3 . "</td>\n";
    echo "<td style='vertical-align:text-top'>
            <a href='http://www.blosradio.nl/mp3/"
. $gemist1 . ".mp3' target='_top'>Uur 1</a> |
            <a href='http://www.blosradio.nl/mp3/"
. $gemist2 . ".mp3' target='_top'>Uur 2</a> |
            <a href='http://www.blosradio.nl/mp3/"
. $gemist3 . ".mp3' target='_top'>Uur 3</a> |
            <a href='http://www.blosradio.nl/mp3/"
. $gemist4 . ".mp3' target='_top'>Uur 4</a>
          </td>\n"
;

echo "</tr>\n";
  }
// while
  echo "</table>\n";

  // Close connection
  mysql_close($link2);
?>


De programma's van de dag worden opgehaald, en alles wordt prima getoond.
Echter, duurt niet programma even lang, en heeft dus ook niet ieder programma de 4 gemist links nodig, maar die worden nu wel achter ieder item geplaatst.

In de database als volgt:
programma presentatie... Gemist1, Gemist2, Gemist3, Gemist4.
die 4 kolommen bevatten de links naar de mp3 files. Het kan dus zijn dat Gemist1 en Gemist 2 een waarde bevatten en Gemist3 en Gemist4 niet.

Nu zou ik dus graag, zoals in bovenstaand geval (gemist1 en 2 wel een waarde, en 3en4 niet) dat Uur 3 | Uur 4 niet getoond wordt, omdat die naar niets verwijst.

Hoe kan ik dat oplossen?

Alvast hartelijk bedankt!
 
PHP hulp

PHP hulp

02/03/2024 08:20:43
 
Christiaan de kleine

christiaan de kleine

07/05/2011 23:15:57
Quote Anchor link
empty()

weet niet zeker of dat werkt, maar lijkt me wel. want hiermee controleerd hij f er een waarde in de string zit.

dus een:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
if (!empty($gemist3)) {
     //toon uur 1, 2 en 3
} else {
     //toon uur 1 en 2
}

en datzelde boor gemist 4...

misschien is er een snellere manier mar dit zal werken
 
Jasper DS

Jasper DS

07/05/2011 23:18:50
Quote Anchor link
- gebruik geen or die maar een nette foutafhandeling
- je kan ook direct _fetch_assoc() gebruiken idp van _array()

dit lijkt op een verkeerd datamodel?
 
Axel Neve

Axel Neve

07/05/2011 23:38:57
Quote Anchor link
Ik heb het nu als volgt maar krijg een lege pagina te zien:
wat doe ik fout?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
     echo "<td style='vertical-align:text-top'>
               if(!empty($gemist1))
               {
               echo "
<a href='http://www.blosradio.nl/mp3/" . $gemist1 . ".mp3' target='_top'>Uur 1</a>";
            }
            elseif(!empty($gemist2))
               {
               echo "
<a href='http://www.blosradio.nl/mp3/" . $gemist1 . ".mp3' target='_top'>Uur 1</a> | <a href='http://www.blosradio.nl/mp3/" . $gemist2 . ".mp3' target='_top'>Uur 2</a>";
            }
            elseif(!empty($gemist3))
               {
               echo "
<a href='http://www.blosradio.nl/mp3/" . $gemist1 . ".mp3' target='_top'>Uur 1</a> | <a href='http://www.blosradio.nl/mp3/" . $gemist2 . ".mp3' target='_top'>Uur 2</a> | <a href='http://www.blosradio.nl/mp3/" . $gemist3 . ".mp3' target='_top'>Uur 3</a>";
            }
            elseif(!empty($gemist4))
               {
               echo "
<a href='http://www.blosradio.nl/mp3/" . $gemist1 . ".mp3' target='_top'>Uur 1</a> | <a href='http://www.blosradio.nl/mp3/" . $gemist2 . ".mp3' target='_top'>Uur 2</a> | <a href='http://www.blosradio.nl/mp3/" . $gemist3 . ".mp3' target='_top'>Uur 3</a> | <a href='http://www.blosradio.nl/mp3/" . $gemist4 . ".mp3' target='_top'>Uur 4</a>";
            }
            else
            {
            echo "";
            }
           </td>\n"
;
?>
Gewijzigd op 07/05/2011 23:41:10 door Axel Neve
 
Ozzie PHP

Ozzie PHP

07/05/2011 23:44:11
Quote Anchor link
Axel Neve op 07/05/2011 23:38:57:
Ik heb het nu als volgt maar krijg een lege pagina te zien:
wat doe ik fout?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
     echo "<td style='vertical-align:text-top'>
               if(!empty($gemist1))
               {
               echo "
<a href='http://www.blosradio.nl/mp3/" . $gemist1 . ".mp3' target='_top'>Uur 1</a>";
            }
            elseif(!empty($gemist2))
               {
               echo "
<a href='http://www.blosradio.nl/mp3/" . $gemist1 . ".mp3' target='_top'>Uur 1</a> | <a href='http://www.blosradio.nl/mp3/" . $gemist2 . ".mp3' target='_top'>Uur 2</a>";
            }
            elseif(!empty($gemist3))
               {
               echo "
<a href='http://www.blosradio.nl/mp3/" . $gemist1 . ".mp3' target='_top'>Uur 1</a> | <a href='http://www.blosradio.nl/mp3/" . $gemist2 . ".mp3' target='_top'>Uur 2</a> | <a href='http://www.blosradio.nl/mp3/" . $gemist3 . ".mp3' target='_top'>Uur 3</a>";
            }
            elseif(!empty($gemist4))
               {
               echo "
<a href='http://www.blosradio.nl/mp3/" . $gemist1 . ".mp3' target='_top'>Uur 1</a> | <a href='http://www.blosradio.nl/mp3/" . $gemist2 . ".mp3' target='_top'>Uur 2</a> | <a href='http://www.blosradio.nl/mp3/" . $gemist3 . ".mp3' target='_top'>Uur 3</a> | <a href='http://www.blosradio.nl/mp3/" . $gemist4 . ".mp3' target='_top'>Uur 4</a>";
            }
            else
            {
            echo "";
            }
           </td>\n"
;
?>




Hahaha... je bent php code aan het echo'en... lol :-)
Die if statements moet je dus niet echo'en.
Gewijzigd op 07/05/2011 23:45:13 door Ozzie PHP
 
- SanThe -

- SanThe -

07/05/2011 23:49:26
Quote Anchor link
De echo op regel 2 is niet afgesloten.
 
Axel Neve

Axel Neve

08/05/2011 00:17:18
Quote Anchor link
Klopt, kleinigheidje(A) Aangepast en er staat weer tekst op het beeld :)
Alleen geeft hij nu Uur 1 niet weer als er niks is, wat zo hoort,
maar als een programma langer duurt, geeft het script ook alleen maar Uur 1 aan..
 
Roel -

Roel -

08/05/2011 00:43:05
Quote Anchor link
Er loopt weer een programmeerwonder rond.
We verwijzen je graag allemaal door naar een aantal beginnershandleidingen.
 
Write Down

Write Down

08/05/2011 00:44:55
Quote Anchor link
Roel van de Water op 08/05/2011 00:43:05:
Er loopt weer een programmeerwonder rond.
We verwijzen je graag allemaal door naar een aantal beginnershandleidingen.

+1 Droogjes
 
Kees Schepers

kees Schepers

08/05/2011 09:37:46
Quote Anchor link
Roel van de Water op 08/05/2011 00:43:05:
Er loopt weer een programmeerwonder rond.
We verwijzen je graag allemaal door naar een aantal beginnershandleidingen.


En jij bent zeker zo niet begonnen? ;)
 
Tobias Tobias

Tobias Tobias

08/05/2011 10:42:36
Quote Anchor link
gebruik else ipv elseif. Je wilt per kolom kijken of er wat in staat.

@Roel: Hij probeert tenminste, er zijn er zat met de vraag: Hoe maak ik een complete website...
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.