PHP Navigation

cctnt

Erfahrenes Mitglied
Hallo

Ich bin gerade dabei, für meine page eine Navigation mit PHP und MySql zu schreiben.

Bin auch schon fast fertig, allerdings krieg ich eines ned hin:

Falls jemand anstelle eines Textlinks ein bild will muss ich doch die funktion für das bild schon einbauen. Wenn jetzt aber kein bild eingefügt wird weils doch nur ein Textlink is, hab ich im IE das berühmte rote X.

Wie kann ich das verhindern? Soll ich wenn kein Bild angegeben ist, ein null.gif nehmen welches transparent ist?

Gibt es ne andere möglichkeit?

mfg
 
Falls jemand anstelle eines Textlinks ein bild will

soll der USer das selbst auswählen können?
Ich verstehe das nicht so ganz.
 
Warum nicht einfach prüfen, ob ein Bild vorhanden und nur dann den image-Tag ausgeben? Hat 2 Vorteile:

1. Dein Bild-Fehler im IE ist weg
2. Es wird kein nicht benötigter HTML-Code übertragen.
 
Um das zu beantworten, müsstest du schon ein bisschen Code posten. Am besten den Teil, in dem deine Ausgabe stattfindet.
 
Hier bitte sehr

PHP:
<?php
 include("libs/dbase.sql.lib.php");
 $query = "SELECT url, name,image FROM navi ORDER BY Id ASC";
 $sql = mysql_query($query);
 if (mysql_errno()) die ("MySQL-Error: " . mysql_error());
 while ($ds = mysql_fetch_object($sql)){
 $url = $ds->url;
 $name= $ds->name;
 if($ds->image){
 $image = $ds->image;
 }
 else
 $image ="";
 }
 echo "<tr>";
 echo "<td><a href=\"$url\">$name<IMG SRC=\"$image\" ALT=""></a></td>";
 echo "</tr>";
} 
?>
 
PHP:
<?php
include("libs/dbase.sql.lib.php");
$query = "SELECT url, name,image FROM navi ORDER BY Id ASC";
$sql = mysql_query($query);
if (mysql_errno()) die ("MySQL-Error: " . mysql_error());
while ($ds = mysql_fetch_object($sql)){
    $url = $ds->url;
    $name= $ds->name;
    if($ds->image){
        $image = $ds->image;
        echo "<tr>";
        echo "<td><a href=\"$url\">$name<IMG SRC=\"$image\" ALT=""></a></td>";
        echo "</tr>";
    }
} 
?>

Einfach den Teil der Image-Ausgabe in die Prüfung einbauen, in der gecheckt wird, ob ein Image vorhanden ist.
 
Was ist aber, wenn das Image-File auf dem Server gelöscht wurde ?

Also, erweitern wir dasnoch um eine kleine Funktion:
Code:
...
if($ds->image && file_exists($ds->image) ) { 
        $image = $ds->image; 
        echo "<tr>"; 
        echo "<td><a href=\"$url\">$name<IMG SRC=\"$image\" ALT=""></a></td>"; 
        echo "</tr>"; 
}
else
  echo "<tr>"<td><a href=\"$url\">$url</a></td></tr>"; 
...
 
Ok danke

Das mit dem wenn das Image vom server gelöscht wird funktioniert leider nicht. ich hab trotzdem das rote Kreuz in IE.
 
Zurück