Implode fout.
Goedendag heren, ik probeer een implode te doen. Echter krijg ik het niet voor elkaar. Ik gebruik de volgende code:
En ik krijg deze foutmelding:
Warning: implode() [function.implode]: Invalid arguments passed in /home/*****/domains/*****/public_html/test.php on line 8
line 8 is deze lijn:
$impgnr = implode(",", $result);
Wat is er fout?
Code (php)
1
2
3
2
3
$result = mysql_query("SELECT id, genre, subid FROM genres WHERE subid='2'");
$impgnr = implode(",", $result);
echo $impgnr;
$impgnr = implode(",", $result);
echo $impgnr;
En ik krijg deze foutmelding:
Warning: implode() [function.implode]: Invalid arguments passed in /home/*****/domains/*****/public_html/test.php on line 8
line 8 is deze lijn:
$impgnr = implode(",", $result);
Wat is er fout?
Gewijzigd op 01/01/1970 01:00:00 door Kevin Stoove
Je zal eerst nog moeten fetchen.
mysql_fetch_xxxxxx().
mysql_fetch_xxxxxx().
Ik heb nu dit maar dat werkt ook niet:
Krijg exact dezelfde error...
En als ik het zo doe: (implode onder de while)
Dan krijg ik een hele fout uitkomst... namelijk:
5,5,Documentaire,Documentaire,2,2
Terwijl het moet zijn:
Avontuur, Documentaire
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
include 'config.php';
mysql_select_db("testdata", $dbaccess);
$result = mysql_query("SELECT id, genre, subid FROM genres WHERE subid='2'");
while($row = mysql_fetch_array($result))
$impgnr = implode(", ", $result);
{
echo $impgnr;
}
?>
include 'config.php';
mysql_select_db("testdata", $dbaccess);
$result = mysql_query("SELECT id, genre, subid FROM genres WHERE subid='2'");
while($row = mysql_fetch_array($result))
$impgnr = implode(", ", $result);
{
echo $impgnr;
}
?>
Krijg exact dezelfde error...
En als ik het zo doe: (implode onder de while)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
include 'config.php';
mysql_select_db("testdata", $dbaccess);
$result = mysql_query("SELECT id, genre, subid FROM genres WHERE subid='2'");
$impgnr = implode(", ", $result);
while($row = mysql_fetch_array($result))
{
echo $impgnr;
}
?>
include 'config.php';
mysql_select_db("testdata", $dbaccess);
$result = mysql_query("SELECT id, genre, subid FROM genres WHERE subid='2'");
$impgnr = implode(", ", $result);
while($row = mysql_fetch_array($result))
{
echo $impgnr;
}
?>
Dan krijg ik een hele fout uitkomst... namelijk:
5,5,Documentaire,Documentaire,2,2
Terwijl het moet zijn:
Avontuur, Documentaire
Gewijzigd op 01/01/1970 01:00:00 door Kevin Stoove
'SanThe:
Je zal eerst nog moeten fetchen.
mysql_fetch_xxxxxx().
mysql_fetch_xxxxxx().
En dan bedoel ik ook EERST fetchen.
Oke dus eerst fetchen... maar dan krijg ik alleen de ID als uitkomst.
Nu dit:
Nu dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
include 'config.php';
mysql_select_db("testdata", $dbaccess);
$result = mysql_query("SELECT id, genre, subid FROM genres WHERE subid='2'");
$row = mysql_fetch_array($result);
$impgnr = implode(", ", $row);
{
echo $impgnr["genre"];
}
?>
include 'config.php';
mysql_select_db("testdata", $dbaccess);
$result = mysql_query("SELECT id, genre, subid FROM genres WHERE subid='2'");
$row = mysql_fetch_array($result);
$impgnr = implode(", ", $row);
{
echo $impgnr["genre"];
}
?>
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
include 'config.php';
mysql_select_db("testdata", $dbaccess);
$result = mysql_query("SELECT id, genre, subid FROM genres WHERE subid='2'");
$row = mysql_fetch_array($result);
// even de inhoud in een echo
print_r($row);
$impgnr = implode(", ", $row);
{
echo $impgnr["genre"];
}
?>
include 'config.php';
mysql_select_db("testdata", $dbaccess);
$result = mysql_query("SELECT id, genre, subid FROM genres WHERE subid='2'");
$row = mysql_fetch_array($result);
// even de inhoud in een echo
print_r($row);
$impgnr = implode(", ", $row);
{
echo $impgnr["genre"];
}
?>
Laat maar het is me al gelukt!
Dit is de code die ik nu gebruik voor degene die dezelfde vraag hadden:
Indien iemand een mooiere of kortere versie kent, hoor ik dat graag!
Dit is de code die ik nu gebruik voor degene die dezelfde vraag hadden:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
include 'config.php';
mysql_select_db("testdata", $dbaccess);
$result = mysql_query("SELECT id, genre, subid FROM genres WHERE subid='2'");
while($row = mysql_fetch_array($result))
$impl[] = $row['genre'];
$impgnr = implode(", ", $impl);
{
echo $impgnr;
}
?>
include 'config.php';
mysql_select_db("testdata", $dbaccess);
$result = mysql_query("SELECT id, genre, subid FROM genres WHERE subid='2'");
while($row = mysql_fetch_array($result))
$impl[] = $row['genre'];
$impgnr = implode(", ", $impl);
{
echo $impgnr;
}
?>
Indien iemand een mooiere of kortere versie kent, hoor ik dat graag!
Gewijzigd op 01/01/1970 01:00:00 door Kevin Stoove
Leuk dat het werkt.
Maar het alles behalve logisch.
Je implode nu slecht één veld en geen array().
(Ik moet er vandoor).
Succes.
Maar het alles behalve logisch.
Je implode nu slecht één veld en geen array().
(Ik moet er vandoor).
Succes.
Heb jouw code gebruikt echter krijg ik dan een foutmelding. Blijf voorlopig dus nog bij mijn eigen code totdat ik een betere/makkelijkere heb gevonden. Bedankt voor de hulp!
Gewijzigd op 01/01/1970 01:00:00 door Kevin Stoove
Waarom die brackets? Die brackets doen nu niks, de code werkt echter omdat de while loop doorgaat tot de 1e puntkomma. $row['genre'] wordt dus toegevoegd aan de array $impl.
Op deze manier is het netter:
Op deze manier is het netter:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
include 'config.php';
mysql_select_db("testdata", $dbaccess);
$result = mysql_query("SELECT id, genre, subid FROM genres WHERE subid='2'");
while($row = mysql_fetch_array($result)) {
$impl[] = $row['genre'];
}
$impgnr = implode(", ", $impl);
echo $impgnr;
?>
include 'config.php';
mysql_select_db("testdata", $dbaccess);
$result = mysql_query("SELECT id, genre, subid FROM genres WHERE subid='2'");
while($row = mysql_fetch_array($result)) {
$impl[] = $row['genre'];
}
$impgnr = implode(", ", $impl);
echo $impgnr;
?>
Ik weet hoe je normaal uitleest... echter gaat dit puur om de implode...
Daar draagt jouw tutorial niets aan bij...
Daar draagt jouw tutorial niets aan bij...
'Kevin:
Ik weet hoe je normaal uitleest... echter gaat dit puur om de implode...
Daar draagt jouw tutorial niets aan bij...
Daar draagt jouw tutorial niets aan bij...
Maar waarschijnlijk heb je wel meerdere genres in één veld zitten.
Dat is niet de bedoeling. Als je het goed (en handig en beter en en en) wilt doen, dan zou je de genres in een aparte tabel moeten opslaan en dan in een andere tabel koppel je die weer aan het iets (boek, cd, video, dvd).
Genres zitten niet in een enkel veld...
Mijn database is gemaakt als:
film
- id
- titel
genres
- id
- genre
filmgenres
- filmid
- genreid
Ik gebruik altijd koppeltabellen.
In het tabel 'genres' zitten dus rows als:
1 - Avontuur
2 - Actie
3 - Komedie
etcetera... en in het tabel 'filmgenres' zitten dus rows als
1 - 3
2 - 1
3 - 1
4 - 2
4 - 3
5 - 1
6 - 2
etcetera. Nu heeft de film met id '4' dus 2 genres. Namelijk genre met id 2 en genre met id 3 (dus Actie & Komedie).
Databases heb ik nooit moeite mee, die normaliseer ik altijd.
Mijn database is gemaakt als:
film
- id
- titel
genres
- id
- genre
filmgenres
- filmid
- genreid
Ik gebruik altijd koppeltabellen.
In het tabel 'genres' zitten dus rows als:
1 - Avontuur
2 - Actie
3 - Komedie
etcetera... en in het tabel 'filmgenres' zitten dus rows als
1 - 3
2 - 1
3 - 1
4 - 2
4 - 3
5 - 1
6 - 2
etcetera. Nu heeft de film met id '4' dus 2 genres. Namelijk genre met id 2 en genre met id 3 (dus Actie & Komedie).
Databases heb ik nooit moeite mee, die normaliseer ik altijd.




