Avatar billede RicoRos Nybegynder
31. marts 2010 - 15:53 Der er 4 kommentarer

Ønsker ikke at opdatere de tomme felter i formen

Hej allesammen,

jeg er ved at lave et galleri hvor man skal kunne opdatere et maleri. Men når man skal redigere/opdatere et maleri, ønsker jeg ikke at opdatere de tomme felter til databasen... Hvordan gør man det. Herunder er min kode indtil videre:

if(isset($_POST['updatePainting']))
{
$id        = $_POST['id'];
$img      = $_POST['editImgPaint'];
$minature  = $_POST['editMinaturePaint'];
$mini1    = $_POST['editMini1Paint'];
$mini2      = $_POST['editMini2Paint'];
$mini3      = $_POST['editMini3Paint'];
$mini4      = $_POST['editMini4Paint'];
$kunstner  = $_POST['editKunstnerPaint'];
$overskrift= $_POST['editOverskriftPaint'];
$str      = $_POST['editStrPaint'];
$pris      = $_POST['editPrisPaint'];
$info      = $_POST['editInfoPaint'];
$video      = $_POST['editVideoPaint'];
                           
move_uploaded_file($_FILES['editImgPaint']['tmp_name'], "images/galleri/XLimg/" . $_FILES['editImgPaint']['name']);
                   
move_uploaded_file($_FILES['editMinaturePaint']['tmp_name'], "images/galleri/paintings/" . $_FILES['editMinaturePaint']['name']);
                       
move_uploaded_file($_FILES['editMini1Paint']['tmp_name'], "images/galleri/paintings/" . $_FILES['editMini1Paint']['name']);
                       
move_uploaded_file($_FILES['editMini2Paint']['tmp_name'], "images/galleri/paintings/" . $_FILES['editMini2Paint']['name']);
                       
move_uploaded_file($_FILES['editMini3Paint']['tmp_name'], "images/galleri/paintings/" . $_FILES['editMini3Paint']['name']);
                       
move_uploaded_file($_FILES['editMini4Paint']['tmp_name'], "images/galleri/paintings/" . $_FILES['editMini4Paint']['name']);
                           
$img_sql = (!empty($_POST['editImgPaint'])) ? ",  img='" . $_POST['editImgPaint'] . "'" : "";
                       
$mini_sql = (!empty($_POST['editMinaturePaint'])) ? ",  img='" . $_POST['editMinaturePaint'] . "'" : "";
                       
$img1_sql = (!empty($_POST['editMini1Paint'])) ? ",  img='" . $_POST['editMini1Paint'] . "'" : "";
                       
$img2_sql = (!empty($_POST['editMini2Paint'])) ? ",  img='" . $_POST['editMini2Paint'] . "'" : "";
                       
$img3_sql = (!empty($_POST['editMini3Paint'])) ? ",  img='" . $_POST['editMini3Paint'] . "'" : "";
                       
$img4_sql = (!empty($_POST['editMini4Paint'])) ? ",  img='" . $_POST['editMini4Paint'] . "'" : "";
                           
$query = "UPDATE galleri SET
                                        " . $img_sql . "
                                        " . $mini_sql . "
                                        " . $img1_sql . "
                                        " . $img2_sql . "
                                        " . $img3_sql . "
                                        " . $img4_sql . "
                                        kunstner    ='$kunstner',
                                        overskrift    ='$overskrift',
                                        str            ='$str',
                                        pris        ='$pris',
                                        info        ='$info',
                                        video        ='$video'
                                        WHERE galleriID='$id'";
                           
                           
                       
mysql_query($query) or die(mysql_error());
                       
echo 'Painting er nu opdateret!';
                           
}

Håber i kan hjælpe!
Avatar billede Slettet bruger
31. marts 2010 - 17:51 #1
Hvorfor ikke - hvis brugeren (med vilje) sletter titel eller pris eller hvad ved jeg, så er det vel fordi hun mener det (?)
Avatar billede RicoRos Nybegynder
31. marts 2010 - 18:43 #2
Det er fordi det er til mit eget admin/CMS - ikke til en bruger... Det skal være sådan at man kan vælge at redigere et bestemt maleri, men hvis man så ikke udfylder alle felter, så skal de tomme felter ikke redigeres...
Så hvis man f.eks. ønsker at redigere billede 1, men ikke billede 2, så skal man kunne indsætte noget i feltet til billede 1 og lade feltet til billede 2 være tomt, uden at være bange for at den så opdatere et tomt felt til databasen
Avatar billede Slettet bruger
31. marts 2010 - 20:43 #3
OK, men så ser det da ud til at du er godt på vej.
- Den måde du bygger SQL-update-sætningen af mindre bidder.

Bortset fra at det er samme database-felt (img) du skriver til igen og igen:

....'])) ? ", img='" . $_POST['editMini1Paint'] . "'" : "";

skulle det så ikke være img1=, img2=, img3= osv ?
Avatar billede RicoRos Nybegynder
01. april 2010 - 01:49 #4
Det virker desværre stadig ikke... Ved i hvad man kan gøre?
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
Computerworld tilbyder specialiserede kurser i database-management

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