Wenn eintrag abgegeben dann ausegeben sonst nichts ausgeben!?

Rambo51

Erfahrenes Mitglied
Hallo liebes Forum,

ich möchte eine IF-Abfrage machen ob z.b. eine Homepage in die MySQL Tabelle eingetragen worden ist. Wenn eine Homapage eingetragen ist, dann soll die ausgegeben werden, und wenn nichts in eingegeben wurde, dann halt nichts ausgeben.

Wäre das mit diesem PHP-Code machbar?
PHP:
if(empty("$hp")){ 
    echo'';               /// also dann keine ausgabe.
  }else{ 
    echo'$hp';            /// dann die hp ausgeben!

Wenn das dann so richtig ist, wie kann ich das dann in den code einfügen?
PHP:
<?php 
$result = mysql_query("select * from $table ORDER BY datum DESC LIMIT 0, 8"); 

  if ($num = mysql_num_rows($result)) { 
    for($i=0;$i < $num; $i++) { 
      $titel = mysql_result($result,$i,"titel"); 
      $autor = mysql_result($result,$i,"autor"); 
	  $hp = mysql_result($result,$i,"hp"); 
	  $email = mysql_result($result,$i,"email"); 
	  $icq = mysql_result($result,$i,"icq"); 
      $datum = mysql_result($result,$i,"datum"); 
      $text = mysql_result($result,$i,"text"); 
      $neuertext = bbcodes($text); 

echo " 
      <table align=\"center\" bgcolor=\"000000\" width=\"562\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\">
  <!--DWLayoutTable-->
  <tr>
    <td width=\"169\" height=\"28\" class=newsunten><strong>$autor</strong></td>
    <td width=\"428\" valign=\"top\"><table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
        <!--DWLayoutTable-->
        <tr>
          <td width=\"426\" height=\"28\" class=newsunten><strong>$titel</strong></td>
        </tr>
    </table></td>
  </tr>
  <tr>
    <td class=newsunten rowspan=\"2\" valign=\"top\">geschrieben am:
    <p class=Stil1>$datum</p></td>
    <td height=\"153\" valign=\"top\" class=newstext>$neuertext</td>
  <br>
  </tr>
  <tr>
    <td class=newsunten height=\"19\" valign=\"top\">hdh</td>
  </tr>
</table>
<br> 
"; 
    } 
  } else echo "<div align=\"center\">No Messages</div>"; 
?>

Da wo hdh steht soll dann die IF-Abfrage hin! Aber wie soll ich das machen?

Danke schonmal im Vorraus!

Gruss Rambo51
 
PHP:
<?php

	$query = "
		SELECT
		        `title`,
		        `autor`,
		        `hp`,
		        `email`,
		        `icq`,
		        `datum`,
		        `text`
		  FROM
		        `".$table."`
		  ORDER BY
		        `datum` DESC
		  LIMIT
		        8
		";
	$result = mysql_query($query);

	while( $row = mysql_fetch_array($result, MYSQL_ASSOC) ) {
		// die einzelnen Attribute der Tabelle sind über $row['Attributbezeichner'] verfügbar
	}

	if( mysql_num_rows($result) <= 0 ) {
		echo '<div align="center">No Messages</div>';
	}

?>
 
Die empty()-Funktion erwartet als ersten Parameter eine Variable und keine Zeichenkette. Entferne einfach die umgebenen Anführungszeichen, dann sollte es funktionierne.
 
Ok habe das jetzt so gelöst:
PHP:
<?php 
$result = mysql_query("select * from $table ORDER BY datum DESC LIMIT 0, 8"); 

  if ($num = mysql_num_rows($result)) { 
    for($i=0;$i < $num; $i++) { 
      $titel = mysql_result($result,$i,"titel"); 
      $autor = mysql_result($result,$i,"autor"); 
	  $hp = mysql_result($result,$i,"hp"); 
	  $email = mysql_result($result,$i,"email"); 
	  $icq = mysql_result($result,$i,"icq"); 
      $datum = mysql_result($result,$i,"datum"); 
      $text = mysql_result($result,$i,"text"); 
      $neuertext = bbcodes($text); 

echo " 
      <table align=\"center\" bgcolor=\"000000\" width=\"562\" border=\"0\" cellpadding=\"0\" cellspacing=\"1\">
  <!--DWLayoutTable-->
  <tr>
    <td width=\"169\" height=\"28\" class=newsunten><strong>$autor</strong></td>
    <td width=\"428\" valign=\"top\"><table width=\"100%\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\">
        <!--DWLayoutTable-->
        <tr>
          <td width=\"426\" height=\"28\" class=newsunten><strong>$titel</strong></td>
        </tr>
    </table></td>
  </tr>
  <tr>
    <td class=newsunten rowspan=\"2\" valign=\"top\">geschrieben am:
    <p class=Stil1>$datum</p></td>
    <td height=\"153\" valign=\"top\" class=newstext>$neuertext</td>
  <br>
  </tr>
  <tr>
    <td class=newsunten height=\"19\" valign=\"top\">";
  if(!empty($hp)){ 
    echo '<a href="http://$hp" target="_blank"><img src="images/gb_hpage.gif" alt="$hp" height="19" border=0></a>' ;               
  } else { 
    echo '' ; }
  if(!empty($email)){ 
    echo '<a href="mailto:$email"><img src="images/gb_email.gif" alt="$email" height="19" border=0></a>' ;               
  } else { 
    echo''; }
  if(!empty($icq)){ 
    echo '<img src="http://wwp.icq.com/scripts/online.dll?icq=$icq&img=5" alt="ICQ:$icq" height="19" border=0>' ;                
  } else { 
    echo'';  }
	echo" </td>
  </tr>
</table>
<br> 
"; 
    } 
  } else echo "<div align=\"center\">No Messages</div>"; 
?>


Allerdings funktioniert das noch nicht ganz. Es wird was ausgegeben wenn überhaupt etwas in die DB geschrieben worden ist. Klappt wunderbar. Aber er ändert die Variabel nicht in die Wörter, die eingegeben worden sind. Also wenn ich dann auf die Homepage klicke kommt in der Adressleiste
Code:
http://$hp/
aber da müsste ja eigentlich z.b.
Code:
http://www.tutorials.de
stehen!

Kann mir dabei jemand helfen?

Gruss Rambo51
 
Ok habs jetzts elber gelöst! Ah man sollte schon sleber vorher richtig gucken!

Danke für deine Hilfe Gumbo!

Gruss Rambo51
 
Hallo Forum,

nachdem ich mein gästebuch nochmal ganz neu gemacht habe, um die Blätterfunktion ein zu bauen, funktioniert das mit der IF Abfrage nicht mehr, und ich weiß auch nicht woran es liegen kann.
Vorher lief alles wunderbar. Wenn eine hp eingetragen wurde, wurde sie auch ausgegeben und wenn sie nicht eingetragen wurde, wurde sie eben nicht ausgegeben.

Hier der Code des Gästebuches:
PHP:
<?php 
if (!isset($site)) { 
  $site = 0; 
} 
?>
<?php 
require ("gbconfig.php"); 
$conn_id = mysql_connect($host,$id,$pw); 
mysql_select_db($database,$conn_id); 
$Zeilen_pro_Seite = 6; 
$result = mysql_query("SELECT * from $table ORDER BY datum DESC LIMIT $site, $Zeilen_pro_Seite"); 
$result1=mysql_query("select id from $table"); 

$Anzahl = mysql_num_rows($result1); 
while($row = mysql_fetch_assoc($result)) 
{ 
?>
<table align="center" bgcolor="666666" width="444" border="0" cellpadding="0" cellspacing="1">
  <!--DWLayoutTable-->
  <tr>
    <td width="143" height="28" class=contentbg><strong><? echo $row['autor']?></strong></td>
    <td width="298" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
        <!--DWLayoutTable-->
        <tr>
          <td width="426" height="28" class=contentbg><div align="center"><strong><? echo $row['titel']?></strong></div></td>
        </tr>
    </table></td>
  </tr>
  <tr>
    <td class=newsunten rowspan="2" valign="top">written at:
    <p class=Stil1><? echo $row['datum']?></p></td>
    <td height="153" valign="top" class=newstext><? echo $row['text']?></td>
  <br>
  </tr>
  <tr>
    <td class=newsunten height="19">
	<?
  if(!empty($hp)){ 
    echo '<a href="http://'.$hp.'" target="_blank"><img src="images/gb_hpage.gif" alt="'.$hp.'" height="19" border=0></a>' ;               
  } else { 
    echo '' ; }
  if(!empty($email)){ 
    echo '<a href="mailto:'.$email.'"><img src="images/gb_email.gif" alt="'.$email.'" height="19" border=0></a>' ;               
  } else { 
    echo ''; }
  if(!empty($icq)){ 
    echo '<img src="http://wwp.icq.com/scripts/online.dll?icq='.$icq.'&img=5" alt="ICQ:'.$icq.'" height="19" border=0>' ;                
  } else { 
    echo '';  }
	?></td>
  </tr>
</table>
<?
}
?> 
 <?php 

 if($site > 0) { 
  echo ""; 
  $back=$site-$Zeilen_pro_Seite; 
  if($back < 0) { 
    $back = 0; 
  } 
  echo "<a href=\"index.php?page=guestbook&site=$back\"> << </a>&nbsp;&nbsp;"; 
 } 
?>
    <?php 
if($Anzahl>$Zeilen_pro_Seite) { 
  $Seiten=intval($Anzahl/$Zeilen_pro_Seite); 
  if($Anzahl%$Zeilen_pro_Seite) { 
    $Seiten++; 
  } 
} 
?> 
    <?php 
for ($i=1;$i<=$Seiten;$i++) { 
  $fwd=($i-1)*$Zeilen_pro_Seite; 
  echo "<a href=\"index.php?page=guestbook&site=$fwd\">|$i|</a>&nbsp;&nbsp;"; 
} 
?> 
    <?php 
if($site < $Anzahl-$Zeilen_pro_Seite) { 
  $fwd=$site+$Zeilen_pro_Seite; 
  echo "<a href=\"index.php?page=guestbook&site=$fwd\"> >> </a>&nbsp;&nbsp;";  
} 
?>

Danke für die Hilfe, die hoffentlich folgen wird :)

Gruss Rambo51
 
Probier mal Folgendes:
PHP:
<?php

	require 'gbconfig.php';

	$site = ( isset($_GET['site']) && intval($_GET['site'])>=0 )
		? intval($_GET['site'])
		: 0;
	$conn_id = mysql_connect($host, $id, $pw);
	mysql_select_db($database, $conn_id);
	$Zeilen_pro_Seite = 6;

	$query = "
		SELECT
		        `autor`,
		        `titel`,
		        `datum`,
		        `text`,
		        `hp`,
		        `email`,
		        `icq`
		        COUNT(*) as `anzahl`
		  FROM
		        `".$table."`
		  ORDER BY
		        `datum` DESC
		  LIMIT
		        ".$site.", ".$Zeilen_pro_Seite."
		";
	$result = mysql_query($query);
	while( $row = mysql_fetch_assoc($result) ) {
?>
<table align="center" bgcolor="666666" width="444" border="0" cellpadding="0" cellspacing="1">
  <!--DWLayoutTable-->
  <tr>
    <td width="143" height="28" class="contentbg"><strong><?php echo $row['autor']?></strong></td>
    <td width="298" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
        <!--DWLayoutTable-->
        <tr>
          <td width="426" height="28" class="contentbg"><div align="center"><strong><?php echo $row['titel']?></strong></div></td>
        </tr>
    </table></td>
  </tr>
  <tr>
    <td class="newsunten" rowspan="2" valign="top">written at:
    <p class="Stil1"><?php echo $row['datum']?></p></td>
    <td height="153" valign="top" class="newstext"><?php echo $row['text']?></td>
  <br>
  </tr>
  <tr>
    <td class="newsunten" height="19">
<?php
		if( !empty($row['hp']) ) {
			echo '<a href="http://'.$row['hp'].'" target="_blank"><img src="images/gb_hpage.gif" alt="'.$row['hp'].'" height="19" border="0"></a>';
		}
		if( !empty($row['email']) ) {
			echo '<a href="mailto:'.$row['email'].'"><img src="images/gb_email.gif" alt="'.$row['email'].'" height="19" border="0"></a>';
		}
		if( !empty($row['icq']) ) {
			echo '<img src="http://wwp.icq.com/scripts/online.dll?icq='.$row['icq'].'&img=5" alt="ICQ:'.$row['icq'].'" height="19" border="0">';
		}
?></td>
  </tr>
</table>
<?php
	}

	if( $site > 0 ) {
		$back = $site - $Zeilen_pro_Seite;
		if( $back < 0 ) {
			$back = 0;
		}
		echo '<a href="index.php?page=guestbook&site='.$back.'"> << </a>&nbsp;&nbsp;';
	}

	if( $row['anzahl'] > $Zeilen_pro_Seite ) {
		$Seiten = intval($row['anzahl'] / $Zeilen_pro_Seite);
		if( $Anzahl % $Zeilen_pro_Seite ) {
			$Seiten++;
		} 
	}
	for( $i=1; $i<=$Seiten; $i++ ) {
		$fwd = ($i-1) * $Zeilen_pro_Seite;
		echo '<a href="index.php?page=guestbook&site='.$fwd.'">|'.$i.'|</a>&nbsp;&nbsp;';
	}

	if( $site < $Anzahl-$Zeilen_pro_Seite ) {
		$fwd = $site + $Zeilen_pro_Seite;
		echo '<a href="index.php?page=guestbook&site='.$fwd.'"> >> </a>&nbsp;&nbsp;';
	}

?>
 
So jetzt ist noch ein Problem aufgetaucht! Ich wollte gerade den BBCode einfügen aber das funktioniert nicht, ich bitte nochmals um Hilfe. Danke!

So dachte ich es würde gehen:
PHP:
<?php 
if (!isset($site)) { 
  $site = 0; 
} 
?>
<?php 
require ("gbconfig.php"); 
$conn_id = mysql_connect($host,$id,$pw); 
mysql_select_db($database,$conn_id); 
$Zeilen_pro_Seite = 6; 
$result = mysql_query("SELECT * from $table ORDER BY datum DESC LIMIT $site, $Zeilen_pro_Seite"); 
$result1=mysql_query("select id from $table"); 

$Anzahl = mysql_num_rows($result1); 
while($row = mysql_fetch_assoc($result)) 
{ 
?>
<?
function bbcodes($row['text']) 
  { 
      $neuertext = stripslashes($row['text']); 
    $neuertext = preg_replace("/\[img\](.*)\[\/img\]/isU", "<img src=\"$1\" border='0' />", $neuertext); 
    $neuertext = preg_replace("/\[center\](.*)\[\/center\]/isU", "<center>$1</center>", $neuertext); 
      $neuertext = preg_replace("/\[b\](.*)\[\/b\]/isU", "<b>$1</b>", $neuertext); 
      $neuertext = preg_replace("/\[i\](.*)\[\/i\]/isU", "<i>$1</i>", $neuertext); 
      $neuertext = preg_replace("/\[u\](.*)\[\/u\]/isU", "<u>$1</u>", $neuertext); 
      $neuertext = eregi_replace("([ \r\n])www\\.([^ ,\r\n]*)","\\1http://www.\\2",$neuertext); 
      $neuertext = eregi_replace("([ \r\n])http\:\/\/www\\.([^ ,\r\n]*)","\\1http://www.\\2",$neuertext); 
      $neuertext = preg_replace("/\[url\]www.(.*)\[\/url\]/isU", "http://www.$1", $neuertext); 
    $neuertext = preg_replace("/\[url=(.*?)\](.*?)\[\/url\]/", "<a href=\"\\1\" target='_blank'>\\2</a>", $neuertext); 
    $neuertext = preg_replace("/\[url\](.*)\[\/url\]/isU", "<a href='$1' target='_blank'>$1</a>", $neuertext); 
    $neuertext = preg_replace("/\[red\](.*)\[\/red\]/isU", "<font color='red'>$1</font>", $neuertext); 
    $neuertext = preg_replace("/\[blue\](.*)\[\/blue\]/isU", "<font color='blue'>$1</font>", $neuertext); 
    $neuertext = preg_replace("/\[yellow\](.*)\[\/yellow\]/isU", "<font color='yellow'>$1</font>", $neuertext); 
	$neuertext = preg_replace("/\[green\](.*)\[\/green\]/isU", "<font color='green'>$1</font>", $neuertext);
    $neuertext = preg_replace("/\[size=(.*)\](.*)\[\/size\]/isU", "<font size='$1'>$2</font>", $neuertext); 
    $neuertext = preg_replace("/\[quote\](.*)\[\/quote\]/isU", "<table border='1' cellspacing='0' cellpadding='2' bgcolor='EFEFEF' width='95%' align='center'><tr><td>$1</tr></td></table>", $neuertext); 
    $neuertext = preg_replace("/\[quote=(.*)\](.*)\[\/quote\]/isU", "<table border='1' cellspacing='0' cellpadding='2' bgcolor='EFEFEF' width='95%' align='center'><tr><td><i>Orginal von $1:</i><br><br>$2</tr></td></table>", $neuertext);
	$neuertext = str_replace(":(", "<img src=\"smilies/angry.gif\" alt=\":-)\" width=\"15\" height=\"15\" />", $neuertext);
	$neuertext = str_replace(":D", "<img src=\"smilies/biggrin.gif\" alt=\":-D\" width=\"15\" height=\"15\" />", $neuertext);
	$neuertext = str_replace(":crazy:", "<img src=\"smilies/confused.gif\" alt=\";-)\" width=\"15\" height=\"15\" />", $neuertext);
	$neuertext = str_replace("8)", "<img src=\"smilies/cool.gif\" alt=\":-(\" width=\"15\" height=\"15\" />", $neuertext);
	$neuertext = str_replace(":-(", "<img src=\"smilies/cry.gif\" alt=\":-P\" width=\"15\" height=\"15\" />", $neuertext);
	$neuertext = str_replace(">)", "<img src=\"smilies/evil.gif\" alt=\"8-)\" width=\"15\" height=\"15\" />", $neuertext);
	$neuertext = str_replace(":((", "<img src=\"smilies/frown.gif\" alt=\":bll:\" width=\"15\" height=\"15\" />", $neuertext);
	$neuertext = str_replace(":lol:", "<img src=\"smilies/laugh.gif\" alt=\":blumen:\" width=\"15\" height=\"15\" />", $neuertext);
	$neuertext = str_replace(":rolleyes:", "<img src=\"smilies/rolleyes.gif\" alt=\":boxer:\" width=\"15\" height=\"15\" />", $neuertext);
	$neuertext = str_replace(":)", "<img src=\"smilies/smilie.gif\" alt=\":bussi:\" width=\"15\" height=\"15\" />", $neuertext); 
	$neuertext = str_replace(":surprised:", "<img src=\"smilies/surprised.gif\" alt=\":bussi:\" width=\"15\" height=\"15\" />", $neuertext); 
	$neuertext = str_replace(":P", "<img src=\"smilies/tongue.gif\" alt=\":bussi:\" width=\"15\" height=\"15\" />", $neuertext); 
	$neuertext = str_replace(";)", "<img src=\"smilies/wink.gif\" alt=\":bussi:\" width=\"15\" height=\"15\" />", $neuertext); 
    $neuertext = str_replace("\n", "<br>", $neuertext);
      return $neuertext; 
  }
  ?>
<table align="center" bgcolor="666666" width="444" border="0" cellpadding="0" cellspacing="1">
  <!--DWLayoutTable-->
  <tr>
    <td width="143" height="28" class=contentbg><strong><? echo $row['autor']?></strong></td>
    <td width="298" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
        <!--DWLayoutTable-->
        <tr>
          <td width="426" height="28" class=contentbg><div align="center"><strong><? echo $row['titel']?></strong></div></td>
        </tr>
    </table></td>
  </tr>
  <tr>
    <td class=newsunten rowspan="2" valign="top">written at:
    <p class=Stil1><? echo $row['datum']?></p></td>
    <td height="153" valign="top" class=newstext><? echo $neuertext?></td>
  <br>
  </tr>
  <tr>
    <td class=newsunten height="19">
	<?php 
        if(!empty($row['hp'])){ 
    echo '<a href="http://'.$row['hp'].'" target="_blank"><img src="images/gb_hpage.gif" alt="'.$row['hp'].'" height="19" border=0></a>' ;               
  } else { 
    echo '' ; }
  if(!empty($row['email'])){ 
    echo '<a href="mailto:'.$row['email'].'"><img src="images/gb_email.gif" alt="'.$row['email'].'" height="19" border=0></a>' ;               
  } else { 
    echo''; }
  if(!empty($row['icq'])){ 
    echo '<img src="http://wwp.icq.com/scripts/online.dll?icq='.$row['icq'].'&img=5" alt="ICQ:'.$row['icq'].'" height="19" border=0>' ;                
  } else { 
    echo'';  } 
?></td>
  </tr>
</table>
<?
}
?> 
  <?php 

 if($site > 0) { 
  echo ""; 
  $back=$site-$Zeilen_pro_Seite; 
  if($back < 0) { 
    $back = 0; 
  } 
  echo "<a href=\"index.php?page=guestbook&site=$back\"> << </a>&nbsp;&nbsp;"; 
 } 
?>
    <?php 
if($Anzahl>$Zeilen_pro_Seite) { 
  $Seiten=intval($Anzahl/$Zeilen_pro_Seite); 
  if($Anzahl%$Zeilen_pro_Seite) { 
    $Seiten++; 
  } 
} 
?> 
    <?php 
for ($i=1;$i<=$Seiten;$i++) { 
  $fwd=($i-1)*$Zeilen_pro_Seite; 
  echo "<a href=\"index.php?page=guestbook&site=$fwd\">|$i|</a>&nbsp;&nbsp;"; 
} 
?> 
    <?php 
if($site < $Anzahl-$Zeilen_pro_Seite) { 
  $fwd=$site+$Zeilen_pro_Seite; 
  echo "<a href=\"index.php?page=guestbook&site=$fwd\"> >> </a>&nbsp;&nbsp;";  
} 
?>
 
Zurück