rijen in array
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)
1
2
3
4
5
6
7
8
9
10
11
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);
}
?>
$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 :-)
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)
Dit moet dus in de while($row....)-loop.
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:
Dit moet dus in de while($row....)-loop.
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)
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)
1
2
3
4
5
6
7
8
9
10
11
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)."')");
}
}
?>
$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