PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Soll nix anzeigen tuht es aber doch ?? (IF abfrage)



dadie
15.11.2004, 19:17
Hi ,

Also ich habe Folgenden Code


echo "<center>";
while ( $gb3 = mysql_fetch_assoc ( $gb2 ) ) :




echo"
<table width='440' border='0' cellpadding='3' cellspacing='1' bgcolor='#000000' >
<tr>
<td bgcolor='#1E5A79' valign='top' colspan='2' >

<table width='100%' border='0' cellpadding='0' cellspacing='0'>
<tr>
<td valign='top' ><b>" . $gb3['name'] . "</b></td>

<td valign='top' align='right' >" . $gb3['datum'] . "</td>
</tr>
</table>
</td>
</tr>
<tr>
<td bgcolor='#1E5A79' valign='top' align='center' height='54'>";



if ( '$gb3["email"]' == "" ) { }else{

echo " <a href='mailto:" . $gb3['email'] . "'><img border='0' src='./gb/mail.gif'></a>"; } echo "<br>";

if ( '$gb3["hp"]' == "" or '$gb3["hp"]' == "http://" ) { }else{

echo " <a href='" . $gb3['hp'] . "'><img border='0' src='./gb/home.png'></a> "; } echo "<br>";

if ( '$gb3["icq"]' == "" ) { }else{

echo "<a href='http://wwp.mirabilis.com/scripts/search.dll?to=" . $gb3['icq'] . "' title='" . $gb3['name'] . " in ICQ adden'>
<img border='0' src='http://wwp.icq.com/scripts/online.dll?icq=" . $gb3['icq'] . "&img=5'></a> "; } echo "<br>";


if ( '$gb3["aim"]' == "" ) { }else{

echo "<a href='aim:goim?screenname=" . $gb3['aim'] . "&message=Hello+Are+you+there?'><img border='0' src='./gb/aim.png' ></a>"; } echo "<br>";

echo "
</td>
<td bgcolor='#2F8BB9' valign='top' width='90%'>
" . $gb3['text'] . "
</td>
</tr>
</table><br><br>";



endwhile;
echo "</center>";


So wenn jetzt z.b. $gb3["hp"] leer ist soll NIX angezeigt werden aber er zeigt Trotzdem was an (seht selber hier (http://the-time.ath.cx/nuke/index.php?com=gb) )

Kann mir mal wer sagen WARUM ?

MFG

Dadie

wrtlprnft
15.11.2004, 20:12
geht es um diese Zeilen?
if ( '$gb3["hp"]' != "" and '$gb3["hp"]' != "http://" )
{
}
else
{
echo " <a href='" . $gb3['hp'] . "'><img border='0' src='./gb/home.png'></a> ";
}Er macht das, was du ihm sagst. Wenn $gb3['hp'] nicht leer ist, dann zeigt er nix an, ansonsten einen leeren Link.
Versuch doch das:
if ( '$gb3["hp"]' != "" and '$gb3["hp"]' != "http://" )
{
echo " <a href='" . $gb3['hp'] . "'><img border='0' src='./gb/home.png'></a> ";
}Analog die anderen.

dadie
15.11.2004, 20:17
THX auch wenn cih das nett so Kappiere Warum den ich ahbe ja gecoded

Wenn die Variable HP leer oder nur http:// ist mach das {} ansonsten mach das else{
echo " .... }

Naja egal THX

Latency
15.11.2004, 20:21
THX auch wenn cih das nett so Kappiere Warum den ich ahbe ja gecoded

Wenn die Variable HP leer oder nur http:// ist mach das {} ansonsten mach das else{
echo " .... }

Naja egal THXUmgekehrt, wenn HP nicht leer ist macht er den If-Zweig, ist sie Leer macht er den Else-Zweig.

dadie
15.11.2004, 20:43
Umgekehrt, wenn HP nicht leer ist macht er den If-Zweig, ist sie Leer macht er den Else-Zweig.

Naja Gut zu wissen :D THX wobei ich schwören könnte Naja wenn man 2 Wochen kein PHP macht ist das wohl das resultat "unwissen und dummheit"

Lucleonhart
15.11.2004, 22:30
!= heißt ungleich. Also wenn die variable NICHT (ungleich) leer oder http:// ist dann {}.
== heißt wenns das so ist. ^^

-CC-
15.11.2004, 23:28
if ( '$gb3["hp"]' == "" )

Wenn du Das $gb3['hp'] in einfache Anführungszeichen einschließt, wird es als String behandelt - also die Variable wird gar nicht abgefragt. Und da '$gb3["hp"]' nunmal ungleich '' ist, wird immer der else-Teil ausgeführt.

Richtig müsste es heißen:


if ($gb3['hp'] == '')

Noch ein Tipp: Warum machst du nicht gleich folgendes:


if ($gb3['hp'] != '')
{
echo '...';
}
Damit sparst du dir den else-Block.


Gruß,
CC

wrtlprnft
16.11.2004, 07:08
Sory, das habe ich vorhin total übersehen...