Avatar billede tvbrandt Nybegynder
14. januar 2004 - 13:50 Der er 17 kommentarer og
1 løsning

Hvis kun IMG hvis der er lagt noget i DB

Jeg har lavet et nyhedsbrev hvor admin kan indsætte op til flere billeder. Vælger admin kun at indsætte ét billede skal nyhedsbrevet som mail jo kun vise det ene billede og ikke de andre. Derfor er der lavet en DB der bla. indeholder kolonnerne id, img1, img2, img3 og img4.

Min hensigt er så at se i kolonnerne og se om der står noget i dem (img navnet). Hvis der gør skal det/de vises, hvis ikke skal der ikke vises noget.

Her er min kode (selekteret).

//---------START---
<?php
ob_start();
// Etablerer forbindelse til databasen via filen dbconnect.php
// Henter variabel
if(is_array($HTTP_POST_VARS)) {
  $actId = $HTTP_POST_VARS['actId'];
} elseif (is_array($_POST)) {
  $actId = $_POST['actId'];
}
// Henter indhold til nyhedsbrev
$result = mysql_query ("SELECT * FROM tabelnavn WHERE id = '$actId'");
    while ($row = mysql_fetch_array($result)) {
        $date = $row['date'];
        $head = $row['head'];
        $content = $row['content'];
        $img_01 = $row['img1'];
        $img_02 = $row['img2'];
        $img_03 = $row['img3'];
        $img_04 = $row['img4'];
    }
   
// START "smtp-funktion"
// END "smtp-funktion"

// Nyhedsbrev
$from = "xx@xxxxx.dk";
$header = "Content-type: text/html; charset=iso-8859-1";
$subject = "Nyhedsbrev fra xxxxx, $date";
$body = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">
        <html>
        <head>
        <title>xxxxxxxx</title>
        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
        </head>
        <body>

        <table width=\"630\" align=\"center\">
        <tr>
        <td>
        <p align=\"center\">";
        if (isset ('$img_01')) {
echo "<img src='denFuldeStiTilImgMappen/".$img_01."' height='150' width='150'>";
}
else {
echo "    &nbsp;";
}
        if (isset ('$img_02')) {
echo "<img src='denFuldeStiTilImgMappen/".$img_02."' height='150' width='150'>";
}
else {
echo "    &nbsp;";
}
        if (isset ('$img_03')) {
echo "<img src='denFuldeStiTilImgMappen/".$img_03."' height='150' width='150'>";
}
else {
echo "    &nbsp;";
}
        if (isset ('$img_04')) {
echo "<img src='denFuldeStiTilImgMappen/".$img_04."' height='150' width='150'>";
}
else {
echo "    &nbsp;";
}
echo "    </p>
        </td>
        </tr>
        </table>
        </body>       
        </html>
";


ob_end_flush();

?>
//---------SLUT----
Avatar billede sqren Nybegynder
14. januar 2004 - 14:33 #1
if(empty($img_01)){
echo"";
}else{
echo"<img src='denFuldeStiTilImgMappen/".$img_01."' height='150' width='150'>";
}
?>
<?
if(empty($img_02)){
echo"";
}else{
echo"<img src='denFuldeStiTilImgMappen/".$img_02."' height='150' width='150'>";
}

if(empty($img_03)){
echo"";
}else{
echo"<img src='denFuldeStiTilImgMappen/".$img_03."' height='150' width='150'>";
}

if(empty($img_04)){
echo"";
}else{
echo"<img src='denFuldeStiTilImgMappen/".$img_04."' height='150' width='150'>";
}
Avatar billede tvbrandt Nybegynder
14. januar 2004 - 14:44 #2
Desværre. Der kommer ingen billeder frem.
Avatar billede tvbrandt Nybegynder
14. januar 2004 - 14:49 #3
Hvad gør:
?>
<?

Hvorfor vil du afslutte og starte PHP her?
Avatar billede gizp Nybegynder
14. januar 2004 - 15:14 #4
tvbrandt -> hvor ser <? og ?> i sqren's kode?

Du spørger da også om et script der ikke viser noget billedet hvis der ikke er noget, og billeder hvis der står noget i db...
Avatar billede tvbrandt Nybegynder
14. januar 2004 - 15:19 #5
Jeg ser ?> og <? i sgrens kode i linie 6+7.
Avatar billede tvbrandt Nybegynder
14. januar 2004 - 15:20 #6
Undskyld forkert tast inden jeg fik svaret. Ja det er hvad jeg beder om gizp. Kan du set?
Avatar billede gizp Nybegynder
14. januar 2004 - 15:25 #7
Virker sgren's ikke? Du kan bare fjerne de to <? og ?>

Tja... okay det var mig der var blind, jeg kunne bare ikke for øje på de der <? & ?>
Avatar billede tvbrandt Nybegynder
14. januar 2004 - 15:35 #8
virker desværre ikke
Avatar billede gizp Nybegynder
14. januar 2004 - 15:38 #9
Og du har husket at tilpasse stien til billedet?
Avatar billede tvbrandt Nybegynder
14. januar 2004 - 15:39 #10
ja
Avatar billede tvbrandt Nybegynder
14. januar 2004 - 15:41 #11
har også lige prøvet dette:

if(isset($row['img1'])){
echo"";
}else{
echo"<img src='http://www.xxxx.dk/images/".$img_01."' height='150' width='150'>";
}

//-------

Men uden held
Avatar billede tvbrandt Nybegynder
14. januar 2004 - 15:50 #12
omvendt selvfølgelig

if(isset($row['img1'])){
echo"<img src='http://www.xxxx.dk/images/".$img_01."' height='150' width='150'>";
}else{
echo"";
}
Avatar billede sqren Nybegynder
14. januar 2004 - 15:52 #13
Tegnene:

?>
<?

er jo bare overflødige, jeg forstår ikke hvorfor det ikke virker :(
Avatar billede gizp Nybegynder
14. januar 2004 - 15:54 #14
Nej gør jeg heller ikke, er du sikker på der er noget i databasen?

Kommer den med nogle fejl, eller viser den bare ikke noget billede?
Avatar billede tvbrandt Nybegynder
14. januar 2004 - 16:00 #15
Ja jeg har været i DB og se efter. Der er noget. Jeg kan også godt hente billeder hvis der ikke skal laves kontrol. Men det skal der.

jeg synes det er underligt.

Desværre er jeg nød til lige at gå et par timer. Håber I er behjælpelige lidt senere. Er tilbage ved en 18-tiden. Tak for hjælpen indtil nu.
Avatar billede gizp Nybegynder
14. januar 2004 - 16:24 #16
Kan da prøve noget helt andet...

Når du opretter ting til databasen prøv at sætte denne ind:

if ($pic_01 == "") { $pic_01 = "None"; }
if ($pic_02 == "") { $pic_02 = "None"; }
osv. med de andre billeder...

Så når du henter det ud fra databasen igen, laver du en if sætning der hedder:
if ($pic_01 == "none") { echo &nbsp; } else { echo "<img src=""> }

Hvis kan det være den virker...
Avatar billede tvbrandt Nybegynder
14. januar 2004 - 18:37 #17
Til at sætte et billede ind bruger jeg dette:
//-------START-----------
// Hvis valgt første billede
if($_FILES['img1']['size']> 0) {

// Sæt billedet til at være true
$img_1_Show = true;

// Hvis fil-typen blandt tilladte
if (in_array($_FILES['img1']['type'],$allowedTypes)) {

// Hvis fil-størrelsen er under max. tilladte
if ($_FILES['img1']['size'] <= $maxFileSize) {

$ext1 = strtolower(end(explode(".", $_FILES['img1']['name'])));

// Find billedet størrelse
$size1 = getimagesize($_FILES['img1']['tmp_name']);

// Hvis billedet ikke er for bredt
if($size1[0] < $max_width) {

// Hvis billet ikke er for højt
if($size1[1] < $max_height){

// Udregn skaleringsforhold - 150 er billedernes nye højde/bredde i pixel
$new_w1 = 150;
$division1 = $size1[0] / 150;
$new_h1 = $size1[1] / $division1;

//Lav nyt billede
$dst_img1=ImageCreateTrueColor($new_w1,$new_h1);

$src_img1=ImageCreateFromJpeg($_FILES['img1']['tmp_name']);

// Smid noget indhold i, og resize
ImageCopyResized($dst_img1,$src_img1,0,0,0,0,$new_w1,$new_h1,ImageSX($src_img1),ImageSY($src_img1));

// *nix-path til billedets endelige placering
$filename1 = $_SERVER['DOCUMENT_ROOT'] . "/web/admin/images/" . $img_01= $imageName."_01.".$ext1;

// Udfør det hele
ImageJpeg($dst_img1, $filename1, 100);

// Filnavn til database
$img_01 = $imageName."_01.".$ext1;

}

// Fejlmedl. hvis fil over max. tilladt
else {
$fejl_1 = "Billedet er ikke sat ind: Billedet er for højt!";
echo $fejl_1;
echo "<p><a href=\"xxxxxx.php\">Tilbage!</a></p>";
}
}

//Fejlmedl. hvis fil over max. tilladt
else {
$fejl_1 = "Billedet er ikke sat ind: Billedet er for bredt!";
echo $fejl_1;
echo "<p><a href=\"xxxxx.php\">Tilbage!</a></p>";
}
}

//Fejlmedl. hvis fil over max. tilladt
else {
$fejl_1 = "Billedet er ikke sat ind: Billedet er for stort!";
echo $fejl_1;
echo "<p><a href=\"xxxx.php\">Tilbage!</a></p>";
}
}

//Fejlmedl. hvis fil-format ikke tilladt
else {
$fejl_1 = "Billedet er ikke sat ind: Forkert fil-format!";
echo $fejl_1;
echo "<p><a href=\"xxxxx.php\">Tilbage!</a></p>";
}
}

// Hvis ingen fejl
if(!isset($fejl_1)) {

// Indsæt billedet
$res2 = mysql_query("UPDATE tabelnavn SET img1 = '$img_01' WHERE id = '$actId'") or die ("Kunne ikke vælge felter i database-tabellen");

}
// END - Hvis ingen fejl
//-------SLUT------------

Hvor skal jeg sætte dit ind?:
if ($pic_01 == "") { $pic_01 = "None"; }
if ($pic_02 == "") { $pic_02 = "None"; }
Avatar billede tvbrandt Nybegynder
15. januar 2004 - 16:57 #18
Har fået det løst med i starten af script at lave kontrollen og så bare kalde variablen der hvor de skal sættes ind.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester