rijen in array

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Be moeial

be moeial

25/05/2013 14:53:17
Quote Anchor link
Hallo,

Ik heb een probleem met het volgende.

Ik heb een tabel met de velden id(auto_increment), onderdeel(varchar,255), bedrag(decimal,10.2)
In deze tabel kunnen 10 rijen staan maar ook 2

In het veld onderdeel saat bv "Versnellingsbak hand-Versnellingsbak automaat" (zonder de ")
gescheiden door een -

Nu wil ik een array creeren waarin uit alle rijen het onderdeel komt.

De code die ik tot nu heb is het volgende maar heb al een heleboel geprobeerd ..

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
 $rs
= mysql_query("SELECT onderdeel FROM verzendkosten");
    $a = array();
    while($row = mysql_fetch_array($rs)) {
      $b = array($a, $row[onderdeel]);
      $c = explode('-', $b);
     array_push($a, $b);
    print_r($b);
    }


?>


Tot nu toe een heleboel loops :-)
 
PHP hulp

PHP hulp

14/05/2024 19:00:55
 
Eddy E

Eddy E

25/05/2013 14:59:03
Quote Anchor link
Beste oplossing: 1 veld = 1 waarde
Dus geen meerdere onderdelen per veld.
Liever 1000 rijen in je database dan 10 met daarin weer 10 andere onderdelen.

Dus database-opzet omgooien!
Wat je nu doet met explode() kan wel, maar is beunen.

Op de beunmanier:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$onderdelen
= explode("-", $row['onderdelen']);
foreach($onderdelen as $onderdeel)
 {

 echo 'Deze rij bevat '.$onderdeel.' etc<br>';
 }

?>


Dit moet dus in de while($row....)-loop.
 
Be moeial

be moeial

25/05/2013 16:47:48
Quote Anchor link
Eddy E op 25/05/2013 14:59:03:
Beste oplossing: 1 veld = 1 waarde
Dus geen meerdere onderdelen per veld.
Liever 1000 rijen in je database dan 10 met daarin weer 10 andere onderdelen.

Dus database-opzet omgooien!
Wat je nu doet met explode() kan wel, maar is beunen.

Op de beunmanier:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
$onderdelen
= explode("-", $row['onderdelen']);
foreach($onderdelen as $onderdeel)
 {

 echo 'Deze rij bevat '.$onderdeel.' etc<br>';
 }

?>


Dit moet dus in de while($row....)-loop.


Hoi Eddy,

Klopt je hebt gelijk.

Je vorige oplossing heeft geholpen echter maakt ie er volgens mij geen array van waar ik wat mee kan.

Ik heb nu het volgende:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
 $rs
= mysql_query("SELECT onderdeel FROM verzendkosten");
    while($row = mysql_fetch_array($rs)) {
    $onderdelen = explode("-", $row['onderdeel']);
    foreach($onderdelen as $onderdeel)
    {

    print_r($onderdeel);
    mysql_query("UPDATE menu_group_part SET verzendkosten ='$_POST[bedrag]' WHERE part NOT IN('".join("','", $onderdeel)."')");
            }
        }

?>


Hij maakt er nu net jes een lange rij namen van maar volgens mij niet bruikbaar in mijn Update query NOT IN

Dank vvor de vorige tip nog.
Bee
 



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.