Database invoer op meerdere regels ipv 1

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Richard Duinmayer

Richard Duinmayer

04/03/2009 15:53:00
Quote Anchor link
EDIT: ik probeer met de volgende foreach om meerdere rijen in de database te krijgen maar alleen de laatste waarde (van een rij met checkboxen) komt in de database te staan en niet alle aangevinkte checkboxen...

Terwijl het toch in de foreach staat...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?php
                      
          // Zet POSTs om naar variable
          foreach($_POST['beschikbaar'] as $key => $value)
          {

           $beschikbaar = (isset($value)) ? $key : '';
          
         /* $beschikbaar = (isset($_POST['beschikbaar_ma'])) ? 'ma' : '' ;
            $beschikbaar .= (isset($_POST['beschikbaar_di'])) ? 'di' : '' ;
          $beschikbaar .= (isset($_POST['beschikbaar_wo'])) ? 'wo' : '' ;
          $beschikbaar .= (isset($_POST['beschikbaar_do'])) ? 'do' : '' ;
          $beschikbaar .= (isset($_POST['beschikbaar_vr'])) ? 'vr' : '' ;
          $beschikbaar .= (isset($_POST['beschikbaar_za'])) ? 'za' : '' ;
          $beschikbaar .= (isset($_POST['beschikbaar_zo'])) ? 'zo' : '' ; */
    
    

    
    
          // Voeg beschikbaarheid toe via een INSERT  

          $sql2 = "INSERT INTO beschikbaarheid (
                        medewerker_id,
                        dag)
                   VALUES (
                   '"
. $medewerker_id . "',
                   '"
. $beschikbaar . "')";
    
         }

          // Voer SQL uit
          mysql_query($sql2) or die("Oops... INSERT INTO beschikbaarheid gaat fout. ".mysql_error());
              
        
?>
Gewijzigd op 01/01/1970 01:00:00 door Richard Duinmayer
 
PHP hulp

PHP hulp

22/12/2024 09:36:49
 
Richard Duinmayer

Richard Duinmayer

05/03/2009 15:59:00
Quote Anchor link
Een vers bericht en beschrijving.. misschien dat iemand mijn probleem snapt en me uit de brand kan helpen.

Ik wil aangevinkte checkboxes verwerken en INSERT / UPDATE in de database.

Ik heb het nu zoals hieronder, echter slaat deze nu dan alleen de laatste aangevinkt checkbox op in de database en niet allemaal

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php

          // Zet POSTs om naar variable
          foreach($_POST['beschikbaar'] as $key => $value)
          {

           $beschikbaar = (isset($value)) ? $key : '';

          // Voeg beschikbaarheid toe via een INSERT  
          $sql2 = "INSERT INTO beschikbaarheid (
                        medewerker_id,
                        dag)
                   VALUES (
                   '"
. $medewerker_id . "',
                   '"
. $beschikbaar . "')";
    
         }

          // Voer SQL uit
          mysql_query($sql2) or die("Oops... INSERT INTO beschikbaarheid gaat fout. ".mysql_error());
?>


Krijg als foutmelding:
92Oops... INSERT INTO beschikbaarheid gaat fout. Duplicate entry '0' for key 1

Dit is mijn datbase structuur:
--
-- Tabel structuur voor tabel `beschikbaarheid`
--

CREATE TABLE `beschikbaarheid` (
`medewerker_id` tinyint(4) NOT NULL,
`id` tinyint(4) NOT NULL,
`dag` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

--
-- Gegevens worden uitgevoerd voor tabel `beschikbaarheid`
--

INSERT INTO `beschikbaarheid` (`medewerker_id`, `id`, `dag`) VALUES
(55, 0, ''),
(56, 1, ''),
(57, 2, ''),
(58, 3, ''),
(59, 4, ''),
(60, 5, ''),
(61, 6, ''),
(62, 7, ''),
(63, 8, ''),
(64, 9, ''),
(65, 10, ''),
(66, 11, ''),
(67, 12, ''),
(68, 13, ''),
(69, 14, ''),
(70, 15, ''),
(71, 16, ''),
(72, 17, ''),
(73, 18, ''),
(74, 19, ''),
(75, 20, ''),
(76, 21, ''),
(90, 22, 'ma');
Gewijzigd op 01/01/1970 01:00:00 door Richard Duinmayer
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.