Bildplatzhalter ersetzen durch leeres feld

Hunting4u

Grünschnabel
hallo zusammen,
ich bastel gerade an einem kleinen newsscript und habe dabei ein kleines problem!
es ist möglich in jede news 2 bilder (sind nicht mehr als 2 vorgesehen) einzufügen welche vom text umfossen werden eins align=left das andere natürlich right. wenn ich aber nur ein bild angebe bzw in die datebank eintrage erscheint immer dieser nette platzhalter der mir den text zerreist.

PHP:
    if(isset($_POST['insert']))    {
        $sql_insert = "INSERT INTO news (date, headline, txt, linkname, url, imageleft, imageright, quelle) VALUES ('".$_POST['date']."', '".$_POST['headline']."', '".$_POST['txt']."', '".$_POST['linkname']."', '".$_POST['url']."', '".$_POST['imageleft']."', '".$_POST['imageright']."', '".$_POST['quelle']."')";
        $query_insert = mysql_query($sql_insert)
            or die(mysql_error());

        if($query_insert)    {
            $info = "<span style=\"color:#00ff00;font-weight:bold;\">erfolgreich eingef&uuml;gt</span>";
        }else{
            $info = "<span style=\"color:#ff0000;font-weight:bold;\">Datensatz konnte nicht eingef&uuml;gt werden</span>";
        }

hier das eingabe formular

HTML:
   <form action="admin.php?site=news" name="modData" method="POST">
     <input type="hidden" name="id" value="<? echo $edit; ?>">
     <table width="100%" border="0" cellspacing="5" cellpadding="0">
       <tr>
         <td width="7%">Datum: </td>
         <td width="93%"><input name="date" type="text" size="10"></td>
       </tr>
       <tr>
         <td>Titel:</td>
         <td><input name="headline" type="text" size="51"></td>
       </tr>
       <tr>
         <td valign="top">Newstext:</td>
         <td><textarea rows="10" cols="38" name="txt"></textarea></td>
       </tr>
       <tr>
         <td>Link-Name:</td>
         <td><input name="linkname" type="text" size="51"></td>
       </tr>
       <tr>
         <td>Link-URL:</td>
         <td><input name="url" type="text" size="51"></td>
       </tr>
       <tr>
       <td></td>
       <td style="font-size:14px">upload-info</td>
       </tr>
       <tr>
         <td>Bild-Links:</td>
         <td><input name="imageleft" type="text" size="51" value=""></td>
       </tr>
       <tr>
         <td>Bild-Rechts:</td>
         <td><input name="imageright" type="text" size="51" value="./images/news/default.gif"></td>
       </tr>
       <tr>
         <td>Quelle:</td>
         <td><input name="quelle" type="text" size="51"></td>
       </tr>
       <tr>
         <td colspan="2"><hr><input type="submit" name="insert" value="Neues Angebot erstellen"><hr></td>
       </tr>
    </table>
  </form>

und hier die datei zur Anzeige

PHP:
<?php

include("_mysql.php");



    $con = mysql_connect($db_host, $db_user, $db_pw)
        or die(mysql_error());
    $db = mysql_select_db($db_name, $con)
        or die(mysql_error());
?>

<?
	     $sql_list = "SELECT * FROM news";
		 $query_list = mysql_query($sql_list)
       	 or die(mysql_error());


		 
		echo"
			<table width=550 border=0 cellspacing=0 cellpadding=0>
			  <tr valign=top >
				<td width=100%>NEWS<br><br></td>
				<td></td>
				</tr>";
			  while($all_data = mysql_fetch_array($query_list))    {
		echo"  <tr>
				<td><table width=100% border=0 cellspacing=0 cellpadding=0>
				  <tr>
					<td>".$all_data['headline']."</td>
					<td><div align=right>".$all_data['date']."</div></td>
				  </tr>
				</table></td>
				<td></td>
			  </tr>
			  <tr>
				<td><hr /></td>
				<td></td>
			  </tr>
			  <tr>
	##Achtung##			<td><img align=left hspace=5 vspace=5 src=".$all_data['imageleft']." />  ######## Hier die stelle die mir probleme macht
					<img align=right hspace=5 vspace=5 src=".$all_data['imageright']." />
				 ".$all_data['txt']."</td>
				<td></td>
			  </tr>
			  <tr>
				<td><table width=100% border=0 cellspacing=0 cellpadding=0>
				  <tr>
					<td><a href=".$all_data['url'].">".$all_data['linkname']."</a><br></td>
					<td><div align=right>".$all_data['quelle']."<br></div></td>
				  </tr>
				</table><br><br><br></td>
				<td></td>
			  </tr>";
}	echo"	</table>	  
";
?>

hoffe jemand hat nen Tipp für mich

Danke schonmal vorab

Gruß
Chris
 
Zuletzt bearbeitet:
Auf der einen Seite verwendest du X/HTML-Tags, auf der anderen Seite hälst du dich nicht an grundlegende Restriktionen, wie das Umschließen der Attributswerte mit Anführungszeichen - Des Weiteren sind Tabellen zwar ne gute Sache um uniforme Designs auf die Schnelle anzulegen, nicht aber um elegante und flexible Lösungen zu finden. Hier und da könnte es gut und gerne eine Tabelle weniger sein ;)

Nichtsdestotrotz möchte ich dein Problem schnell lösen: kurze If-Else-Anweisungen! (Fallunterscheidung, ob Bildpfade vorhanden sind oder nicht)

PHP:
echo "[...]" . "<tr>
                <td>"
    // linkes Bild vorhanden?
    . ((!empty($all_data['imageleft']))
    ? "<img align=left hspace=5 vspace=5 src=".$all_data['imageleft']." />"
    : '')
    // rechtes Bild vorhanden?
    . ((!empty($all_data['imageright']))
    ? "<img align=right hspace=5 vspace=5 src=".$all_data['imageright']." />"
    : '')
    // Text ausgeben
    . $all_data['txt']."</td>
                <td></td>
              </tr>" . "[...]";
 
spitz danke, hat geklappt.

ich hatte zwar !empty schon versucht, wollte, aber leider nicht, war um 3:00 heut nacht mein größter feind. thx
 
Zurück