Array naar query

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Thomas

thomas

18/12/2009 10:54:00
Quote Anchor link
Goedendag ik heb 2 arrays die ik wil toevoegen aan de db.
Hoe ga ik dit doen
ik heb wel een voorbeeld

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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
<form method="POST">
    <textarea name="idle"></textarea>
                <input type="submit" name="submit"/>
</form>

<?php
include("connect.php");

$namen = array
("blaat","blaat1");

if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    if ($_SERVER['REQUEST_METHOD'] == 'POST') {
        echo '<pre>' . print_r ($_POST, true) . '</pre>';
    }

    ?>

    <table border="1" width="100%">
    <tr>
        <td valign="top">
        <?php
        $i
=0;
    while($namen[$i])
    {

        echo $namen[$i]. "<br />";
        $i++;
    }

    ?>

        </td>
        <td valign="top">
        <?php
    $array
= explode('%', $_POST['idle']);
    foreach($array as $idle)
    {

        echo $idle . '<br />';
    }

    ?>

        </td>
    </tr>
</table>
<?php
$sql
= "INSERT INTO tijdtest (id, naam, idle) VALUES (NULL, '$namen[$i]', '$idle');";
$bool = mysql_query($sql);
if($bool==1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('Profiel bijgewerkt')</SCRIPT>";
if($bool<>1) echo "<SCRIPT LANGUAGE=JavaScript>window.alert('Bij het bijwerken van het profiel is een fout opgetreden')</SCRIPT>";
}


?>


Als ik op submit klik dan zegt ie wel succesvol
maar dan staat er alleen een id in de db en geen namen en of idle
Hoe kan ik dit zo goed mogelijk oplossen.
In iedergeval bedankt.

Edit ik heb nu wat aanpassingen gedaan en nu gooit ie alle namen in 1 veld
en ook alle idle in 1 veld. dit is niet de bedoeling dit moet over meerdere velden gebeuren.
Gewijzigd op 01/01/1970 01:00:00 door Thomas
 
PHP hulp

PHP hulp

12/07/2024 13:16:14
 
- SanThe -

- SanThe -

18/12/2009 11:07:00
Quote Anchor link
Hoe kun je nu weten of er net zoveel namen zijn als idle?
 
Thomas

thomas

18/12/2009 11:10:00
Quote Anchor link
dit is namelijk bekend
dit is voor een bedrijf wat met teams werkt
elk team telt zoveel namen en die namen horen die idle bij.
dus zeg maar team 1 heeft 20 namen. maar ook dus 20 idle
idle is bij ons het aantal keer dat je uit de lijn bent geweest(extra pauzes)
 
- SanThe -

- SanThe -

18/12/2009 11:19:00
Quote Anchor link
Maar idle stop je een een textarea. Dat is toch niet logisch. Het is toch logischer als je elke naam zijn eigen input geeft.
 
Thomas

thomas

18/12/2009 11:23:00
Quote Anchor link
ja dat klopt maar in dit geval wil de teammanager niet
elke idle handmatig invoeren. hij wil het kopieren uit een excel bestand
en dan in een textarea toevoegen. zodat ie niet 1 voor 1 hoeft toetevoegen.
dit scheelt tijd en daarmee geld.

dus mijn enige vraag is dus of dit mogelijk is.
dat het over meerdere rows gedaan kan worden of niet?
dus dat ik niet dit krijg
id =1 naam= pietje puk karel idle=2 4 5
maar dit
id=1 naam = pietje idle=2
id=2 naam = puk idle =4
enz.
 
- SanThe -

- SanThe -

18/12/2009 11:42:00
Quote Anchor link
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?php
include("connect.php");

$namen = array
("dayan george",
"dellen van danny",
"elharrak majed",
"ham van ward",
"hoentjen michiel",
"jong de bart",
"jonge peter",
"kerver vincent",
"kluivers igor",
"leushuis stefan",
"pascale fernando",
"sapmaz ender",
"scharrenborg kevin",
"vries de thomas");

if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    $array = explode('%', $_POST['idle']);
    if(count($array) != count($namen))
    {

        echo 'Onjuist aantal';
    }

    else
    {
        foreach($array as $key => $idle)
        {

            $sql = "INSERT INTO tijdtest
                    (
                    id,
                    naam,
                    idle
                    )
                    VALUES
                    (
                    NULL,
                    '"
. $namen[$key] . "',
                    '"
. mysql_real_escape_string($idle) . "'
                    )"
;
            $result = mysql_query($sql);
            if(!$result)
            {

                echo 'Error in ' . $sql . '<br/>';
            }
        }
    }
}

else
{
    echo '<form method="post" action="">
            <textarea name="idle"></textarea>
            <input type="submit" name="submit"/>
        </form>'
;
}

?>
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
 
Thomas

thomas

18/12/2009 12:05:00
Quote Anchor link
Ke heel erg bedankt dat is wat ik dus zocht.
dank je dan kan ik nu bezig.
 
Thomas

thomas

18/12/2009 13:37:00
Quote Anchor link
Ke heb het nu goed voor 1 rij maar als ik nu met meerder wil doen
hoe doe ik dat dan?
bijvoorbeeld ik heb 3 textarea's
waarin de eerste idle is dus 2 3 4
de 2de gbt 516 212 314
en de 3de acw 41,2 41,3 25,1

Hoe kan ik dat dan als beste aanpakken
heb het al zo geprobeerd
$array = explode("\n", $_POST['gbt'], $_POST['gbt], $_POST['acw']);

Maar dat doet ie liever niet krijg geen foutmelding.
maar pakt alleen de gbt.

EDIT: sorry voor die bump lette niet goed op
Gewijzigd op 01/01/1970 01:00:00 door thomas
 
Thomas

thomas

19/12/2009 10:51:00
Quote Anchor link
Nogmaal srry voor de bump maar moet hem even naar boven halen.
Ik zit nu met deze array
vries de thomas 28035 18:12:39 111, 3, 397, 30 7,10 456,8 14,1 % 8,5 % 59,0 10,0 % 59,6
Nu wil ik dat die array in de db komt te staan verdeeld over meerdere velden
dus naam=thomas de vries
aspect=28035
inlogtijd = 18:12:39
Enz
Hoe kan ik dat doen?
Alvast bedankt.
 

19/12/2009 11:10:00
Quote Anchor link
Als het een array is kan je het op dezelfde manier doen als hierboven.
 



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.