Meerder foreach op dezelfde line gebruiken, mogelijk?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Francoi gckx

Francoi gckx

06/02/2014 12:18:28
Quote Anchor link
Ik wil drie foreach clauses tegelijk gebruiken dan krijg je zoiets als onder, maar ik vraag mij af op dit mogelijk is?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
foreach($TS_wat as $val1) // foreach($TS_hoelang as $val2) // foreach($TS_beschrijving as $val3)
                    {
                    $query1_1 = $this->db->prepare("INSERT INTO cv_techskills ( cvt_TS_wat,
                    cvt_TS_hoelang, cvt_technisch_know_how, bcv_id) VALUES (?, ?, ?, ?) ");
                    
                    $query1_1->bindValue(1, $val1);
                    $query1_1->bindValue(2, $val2);
                    $query1_1->bindValue(3, $val3);
                    $query1_1->bindValue(4, $id);


@michael ik kies voor optie3 even kijken of dat het beoogde resultaat heeft in de database
Gewijzigd op 06/02/2014 12:29:21 door Francoi gckx
 
PHP hulp

PHP hulp

21/12/2024 13:11:53
 
Michael -

Michael -

06/02/2014 12:24:49
Quote Anchor link
Nee.
Mogelijkheden:
- De array samen voegen met array_combine of array_merge
- for loop gebruiken
- Foreach gebruiken als
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
foreach(){
    foreach(){
        foreach(){
        }
    }
}
Gewijzigd op 06/02/2014 12:25:05 door Michael -
 
Dos Moonen

Dos Moonen

06/02/2014 12:27:21
Quote Anchor link
Beetje spelen met http://nl1.php.net/manual/en/function.each.php#example-5021 en het moet lukken, er van uit gaand dat ze allemaal evenveel item hebben.
 
Francoi gckx

Francoi gckx

06/02/2014 12:30:16
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
foreach($TS_wat as $val1) // foreach($TS_hoelang as $val2) // foreach($TS_beschrijving as $val3)
                    {
                        foreach($TS_hoelang as $val2)
                            {
                                foreach($TS_beschrijving as $val3)
                                    {
                    $query1_1 = $this->db->prepare("INSERT INTO cv_techskills ( cvt_TS_wat,
                    cvt_TS_hoelang, cvt_technisch_know_how, bcv_id) VALUES (?, ?, ?, ?) ");
                    
                    $query1_1->bindValue(1, $val1);
                    $query1_1->bindValue(2, $val2);
                    $query1_1->bindValue(3, $val3);
                    $query1_1->bindValue(4, $id);
                    
                    try
                        {
                            $query1_1->execute();
                            
                        }
                        catch(PDOException $e)
                        {
                            die($e->getMessage());
                        }    
                    } } }


Werkt niet teveel records nu

Toevoeging op 06/02/2014 12:35:33:

Dos Moonen je doelt hier op?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$fruit
= array('a' => 'apple', 'b' => 'banana', 'c' => 'cranberry');

reset($fruit);
while (list($key, $val) = each($fruit)) {
    echo "$key => $val\n";
}

?>


Toevoeging op 06/02/2014 12:43:23:

Ik kan er dit uit bakken
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
while(list($key1, $val1) = each($TS_wat),
                        list($key2, $val2) = each($TS_hoelang),
                        list($key3, $val3) = each($TS_beschrijving))


Maar de php agent geeft mij een error

Toevoeging op 06/02/2014 12:58:27:

Met for lukt het wel
Gewijzigd op 06/02/2014 12:34:22 door Francoi gckx
 
Dos Moonen

Dos Moonen

06/02/2014 12:59:23
Quote Anchor link
Gebruik &&, een while loop laat geen komma's toe.
 
Francoi gckx

Francoi gckx

06/02/2014 13:05:00
Quote Anchor link
Bedankt Dos ik heb het echter vooaf jou reactie al opgelost door het gewoon maar zo te doen

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
for($i = 0; $i < count($TS_wat); $i++)
                    {
                    $query1_1 = $this->db->prepare("INSERT INTO cv_techskills ( cvt_TS_wat,
                    cvt_TS_hoelang, cvt_technisch_know_how, bcv_id) VALUES (?, ?, ?, ?) ");
                    
                    $query1_1->bindValue(1, $TS_wat[$i]);
                    $query1_1->bindValue(2, $TS_hoelang[$i]);
                    $query1_1->bindValue(3, $TS_beschrijving[$i]);
                    $query1_1->bindValue(4, $id);
                    


tenzij jij mij jou methode aanraadt
 



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.