• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Div ausblenden wenn leer

Nikita

Mitglied
Hey liebe Community,

ich wollte mal fragen ob jemand von euch weis wie ich per php angebe, dass wenn mein div mit dem img tag ohne bild da steht, automatisch ausgeblendet wird?
Ich habe nämlich normal ein border rings rum und wenn der img tag leer ist wird natürlich nur der border angezeigt trotz dass ja eigentlich gar nichts zum umrahmen da ist.
Irgendwo/Irgendwann hatte ich sowas schonmal eingebaut jedoch erinner ich mich nich mehr an die Seite und bekomm den Code dafür auch nicht mehr zusammen, wäre lieb wenn mir jemand weiter helfen könnte =)

Code meines div´s:
Code:
###DYNAMIC+
<div class="Partner">
  <div class="PartnerLogo">
    ###LINK-TAG-ID:dy1-BEGIN+<img alt="" src="###IMAGE_URL-ID:dy0###" />+LINK-TAG-ID:dy1-END###
  </div>
  <div class="PartnerTitel">###LINK-TAG-ID:dy3-BEGIN+###TEXT-ZEILE-ID:dy2###+LINK-TAG-ID:dy3-END###
  </div>
</div>
+DYNAMIC###

liebe Grüße Niki
 
Hallo,

Du fragst mit PHP ab ob die Datei existiert. Das steht hier PHP: file_exists - Manual
Wenn die Datei nicht existiert blendest du mit CSS in einem inline-Style das Div oder das Bild aus. Mit der Anweisung display:none wird das Element nicht mehr angezeigt.
 
Woher kommt denn das Bild, falls vorhanden?
Wahrscheinlich wird es in einer variablen übergeben.
Diese müsstest du auf leer oder nicht prüfen und von falls zu fall deinen HTML-Code ausgeben oder eben nicht.

Ich nenne die Variable für die Bild-src jetzt einfach mal $x
Dann könnte das ganz einfach so aussehen

PHP:
// Wenn X nicht leer
if(!empte($x)){ 
     // Gib den Bildcode aus
     echo "<img class='bild' src='".$x."' alt='Bild'>";
}
 
Woher kommt denn das Bild, falls vorhanden?
Wahrscheinlich wird es in einer variablen übergeben.
Diese müsstest du auf leer oder nicht prüfen und von falls zu fall deinen HTML-Code ausgeben oder eben nicht.

Ich nenne die Variable für die Bild-src jetzt einfach mal $x
Dann könnte das ganz einfach so aussehen

PHP:
// Wenn X nicht leer
if(!empte($x)){ 
     // Gib den Bildcode aus
     echo "<img class='bild' src='".$x."' alt='Bild'>";
}

heisst das jetzt aber nicht nur wenn das bild da is gib es aus? ich brauch doch aber den code um zu sagen blende aus wenn bild nicht da ist, oder check ichs grad einfach nicht?^^
das bild kommt aus der datenbank des cms meiner firma was kunden hochladen, daher auch der platzhalter in meinem code.

P.S.: wäre es so richtig? ich glaube nich wa^^ da der Editor mir auch farblich zeigt dass iwas falsch ist nur weis ich leider nicht was, php is nich so meine Stärke^^

Code:
    <?php if(!empte($###IMAGE_URL-ID:dy0###)){ 
    ###LINK-TAG-ID:dy1-BEGIN+ echo "<img alt='Bild' src='".$###IMAGE_URL-ID:dy0###."'>;+LINK-TAG-ID:dy1-END###
    } 
    ?>
 
Zuletzt bearbeitet:
Mein Beispiel überprüft den Inhalt einer Variable, ob in ihr etwas (zB ein Pfad) gespeichert ist.
Wenn es um das "physische" vorhandensein einer Datei geht, hat Wustersoss dir schon die Lösung genannt.
Mit deinen Ersezungen kann ich nichts anfangen, davon abgesehen, dass sie höcht verwirrend sind.
Wo kommen die her?
Hast du dir die ausgedacht oder kommen die von einem Vorhandenen Script?

Das ist das, wo Wustersoss dich hinführen wollte (mit umgebenen Link)
PHP:
if(file_exists("pfad/zum/bild.jpg")){
    echo "<a href='link/des/bildes.html'><img src='pfad/zum/bild.jpg' alt='bild'></a>";
}
Oder falls Bildlink und Hyperlink in einer Variablen
PHP:
if(file_exists($bildlink)){
    echo "<a href='".$hyperlink."'><img src='".$bildlink."' alt='bild'></a>";
}

Innerhalb von echo "..." befindet sich alles, was nur bei positiver Prüfung ausgegeben werden soll.
Falls da noch weitere HTML-Elemente von betroffen sind, füge sie hinzu.
 
Mein Beispiel überprüft den Inhalt einer Variable, ob in ihr etwas (zB ein Pfad) gespeichert ist.
Wenn es um das "physische" vorhandensein einer Datei geht, hat Wustersoss dir schon die Lösung genannt.
Mit deinen Ersezungen kann ich nichts anfangen, davon abgesehen, dass sie höcht verwirrend sind.
Wo kommen die her?
Hast du dir die ausgedacht oder kommen die von einem Vorhandenen Script?

Ich hab die mir sicher nicht ausgedacht^^ das sind sogenannte Platzhalter, die von einem skript kommen, sie halten somit den Platz
frei für freie Einträge des Kunden, da diese sich ja selten mit html ect auskennen haben sie dann einfach den jeweiligen editor und
fügen da Ihren gewünschten Inhalt ein.
Eigentlich sagen die Platzhalter gut aus wofür sie stehen - zur kurzen erklären falls es interessiert: dieser Platzhalter hier zb :

###LINK-TAG-ID:dy1-BEGIN+ steht für den <a> tag deswegen auch ziwschen den # zeichen die Wörter Link und Begin stehen
das dy1 steht einfach dafür dass es ein dynamisches Element ist das endlos erweiter werden kann. wenn man dann
eingebunden hat was der link umschliessen soll
beendet man dies wieder mit:
+LINK-TAG-ID:dy1-END### also genau wie ein normaler a tag =)

so nun wieder zum eigentlichen Thema =)
ich versuch das mit deinem code beispiel aus und sag dann ob ichs hinbekommen habe =)
schonmal viele liebe dank für die Mühe =)
 
entspricht
PHP:
if(empty($test)) {...}
und damit meiner ersten antwort ;)

öhm naja kann man sehen wie man will laut meiner sicht steht in deinem ersten post :
Code:
[COLOR=#000000][COLOR=#007700]if(![/COLOR][COLOR=#0000BB]empte[/COLOR][COLOR=#007700]([/COLOR][COLOR=#0000BB]$x[/COLOR][COLOR=#007700])){ 
[/COLOR][/COLOR]
also n Ausrufezeichen noch vorm empte und mein code sieht auch iwie anders aus Oo da sind keine 2 (()) sondern nur einmal () und in meinen klammern steht zusätzlich noch != "" was meiner meinung nach was völlig anderes ist als das was in deinem Code steht aber gut seis drum, ihr habt mir ja dennoch geholfen zum ergebnis zu kommen =)
Post kann geschlossen werden =)
 
Gut aufgepasst!
das Ausrufezeichen gehört in meine letzte Antwort natürlich ebenfalls mit rein!
Habs editiert ;)

Die Aussage bleibt aber gültig:
PHP:
if($test != ""){...}
falls($test UNgleich leer) {mach das}

entspricht

if(!empty($test)) {...}  
falls(NICHTleer($test)) {mach das}
 
Zuletzt bearbeitet:
Zurück
Oben