Array opbouwen
Ik heb een tabel in db waar ik data uit wil halen en als ik het er nu uit
haal krijg ik deze array terug
Code (php)
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
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
Array
(
[id] => 1
[naam] => Auto's
)
Array
(
[id] => 2
[naam] => Vrachtauto's
)
Array
(
[id] => 3
[naam] => Scooters
)
Array
(
[id] => 4
[naam] => Snorfietsen
)
maar dit moet 1 array worden zoals dit:
Array
(
[1] => Auto's
[2] => Vrachtauto's
[3] => Scooters
[4] => Snorfietsen
)
Dus de id gevolgd met de waarde ik heb van alles geprobeerd met een foreach of hoe dan ook
maar het wilt me niet lukken dus vraag ik om hulp
(
[id] => 1
[naam] => Auto's
)
Array
(
[id] => 2
[naam] => Vrachtauto's
)
Array
(
[id] => 3
[naam] => Scooters
)
Array
(
[id] => 4
[naam] => Snorfietsen
)
maar dit moet 1 array worden zoals dit:
Array
(
[1] => Auto's
[2] => Vrachtauto's
[3] => Scooters
[4] => Snorfietsen
)
Dus de id gevolgd met de waarde ik heb van alles geprobeerd met een foreach of hoe dan ook
maar het wilt me niet lukken dus vraag ik om hulp
Laat je code eens zien
Wat heb je al geprobeerd? Dan kunnen we je helpen.
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$sql = mysql_query("SELECT id, naam FROM productgroep") or die (mysql_error());
while($row = mysql_fetch_assoc($sql)){
foreach($row as $key => $value){
$products[] = $value;
}
}
?>
$sql = mysql_query("SELECT id, naam FROM productgroep") or die (mysql_error());
while($row = mysql_fetch_assoc($sql)){
foreach($row as $key => $value){
$products[] = $value;
}
}
?>
Op deze manier krijg ik gewoon deze array te zien:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Array
(
[id] => 1
[naam] => Auto's
)
Array
(
[id] => 2
[naam] => Vrachtauto's
)
Array
(
[id] => 3
[naam] => Scooters
)
Array
(
[id] => 4
[naam] => Snorfietsen
)
(
[id] => 1
[naam] => Auto's
)
Array
(
[id] => 2
[naam] => Vrachtauto's
)
Array
(
[id] => 3
[naam] => Scooters
)
Array
(
[id] => 4
[naam] => Snorfietsen
)
Dit is natuurlijk logisch maar nu wil ik het zo hebben dat ik 1 array krijg met
1 => Auto's
2 => .....
3 => ....
Maar dit lukt mij niet.
Ik zat te denken om nog een foreach binnen die eerste foreach te doen
maar dat lukt mij niet dus hoop dat iemand mij kan helpen
Gewijzigd op 28/10/2012 13:22:33 door Mr Beronne
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$products = array();
$sql = mysql_query("SELECT id, naam FROM productgroep");
if ($sql == false) {
echo 'Fout: Kon de query niet uitvoeren.';
} else {
while ($row = mysql_fetch_assoc($sql)) {
$products[] = $row['naam'];
}
print_r($products);
}
?>
$products = array();
$sql = mysql_query("SELECT id, naam FROM productgroep");
if ($sql == false) {
echo 'Fout: Kon de query niet uitvoeren.';
} else {
while ($row = mysql_fetch_assoc($sql)) {
$products[] = $row['naam'];
}
print_r($products);
}
?>
Gewijzigd op 28/10/2012 13:23:54 door - Raoul -
maar als dat niet wil dan hou ik het wel bij en while loop
Een foreach in een while loop zetten (met een query als resource) is onzin en word in de praktijk vrijwel nooit gebruikt.
Gewijzigd op 28/10/2012 13:26:17 door - Raoul -
Gewijzigd op 28/10/2012 13:33:26 door Mr Beronne
Trouwens, waarom zou hier een slotje op moeten?
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
// ...
$row = mysql_fetch_assoc($result);
$products = array();
foreach ($row as $id => $name) {
$products[$id] = $name;
}
?>
// ...
$row = mysql_fetch_assoc($result);
$products = array();
foreach ($row as $id => $name) {
$products[$id] = $name;
}
?>
Beste mensen ik zie het nu ook dat er wat fout gaat net zoals Wouter j Zegt. Op de manier van Raoul wordt er genummerd vanuit de array dus bij 0 en dit is niet de nummering van id's uit de db
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$products = array();
$sql = mysql_query("SELECT id, naam FROM productgroep");
if ($sql == false) {
echo 'Fout: Kon de query niet uitvoeren.';
} else {
while ($row = mysql_fetch_assoc($sql)) {
$products[$row['id']] = $row['naam'];
}
print_r($products);
}
?>
$products = array();
$sql = mysql_query("SELECT id, naam FROM productgroep");
if ($sql == false) {
echo 'Fout: Kon de query niet uitvoeren.';
} else {
while ($row = mysql_fetch_assoc($sql)) {
$products[$row['id']] = $row['naam'];
}
print_r($products);
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$sql = mysql_query("SELECT id, naam FROM productgroep") or die (mysql_error());
$row = mysql_fetch_assoc($sql);
foreach ($row as $id =>$name){
$products[$id] = $name;
}
?>
$sql = mysql_query("SELECT id, naam FROM productgroep") or die (mysql_error());
$row = mysql_fetch_assoc($sql);
foreach ($row as $id =>$name){
$products[$id] = $name;
}
?>
krijg ik alleen maar deze array terug:
Array
(
[id] => 1
[naam] => Auto's
)
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
// ...
$rows = mysql_fetch_assoc($sql);
foreach ($rows as $row) {
$products[$row['id'] = $row['name']
}
// ...
$rows = mysql_fetch_assoc($sql);
foreach ($rows as $row) {
$products[$row['id'] = $row['name']
}
Jouw voorbeeld werkt nog niet volgens mij kom niet alle data binnen in $rows
alleen dit maar:
Array
(
[id] => 1
[naam] => Auto's
)
Dus hoe zorg ik er dan voor dat hij alles pakt
- Raoul - op 28/10/2012 13:36:53:
Ok dan...
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$products = array();
$sql = mysql_query("SELECT id, naam FROM productgroep");
if ($sql == false) {
echo 'Fout: Kon de query niet uitvoeren.';
} else {
while ($row = mysql_fetch_assoc($sql)) {
$products[$row['id']] = $row['naam'];
}
print_r($products);
}
?>
$products = array();
$sql = mysql_query("SELECT id, naam FROM productgroep");
if ($sql == false) {
echo 'Fout: Kon de query niet uitvoeren.';
} else {
while ($row = mysql_fetch_assoc($sql)) {
$products[$row['id']] = $row['naam'];
}
print_r($products);
}
?>
kan ik data: id, sturen naar een functie in een class ik heb nu dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<script>
$(document).ready(function() {
$("#product").change(function(){
var id = "id="+$(this).val();
//alert(id);
$.ajax({
type: "POST",
url: "classes/class_Garage.php",
data: id,
cache: false,
success: function(html){
$("#type_product").html(html)
// waarde terug van ajax
}
});
});
});
</script>
$(document).ready(function() {
$("#product").change(function(){
var id = "id="+$(this).val();
//alert(id);
$.ajax({
type: "POST",
url: "classes/class_Garage.php",
data: id,
cache: false,
success: function(html){
$("#type_product").html(html)
// waarde terug van ajax
}
});
});
});
</script>
Bij data moet iets als dit komen te staan:
data: ,
heb al meerdere dingen geprobeerd maar weet zo niet hoe ik dus
de data van id in mijn functie krijg??
Gewijzigd op 28/10/2012 17:11:54 door Mr Beronne
Misschien kan je ook even erbij schrijven wanneer een code voor jou net is zodat we deze requirements kunnen meenemen in het ontwerp???
Gewijzigd op 28/10/2012 19:31:12 door Flip --