Goedendag heren, ik probeer een implode te doen. Echter krijg ik het niet voor elkaar. Ik gebruik de volgende code:

$result = mysql_query("SELECT id, genre, subid FROM genres WHERE subid='2'");
$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?
Je zal eerst nog moeten fetchen.
mysql_fetch_xxxxxx().
Ik heb nu dit maar dat werkt ook niet:


<?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;

}

?>


Krijg exact dezelfde error...

En als ik het zo doe: (implode onder de while)


<?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;

}

?>


Dan krijg ik een hele fout uitkomst... namelijk:

5,5,Documentaire,Documentaire,2,2

Terwijl het moet zijn:

Avontuur, Documentaire
SanThe schreef op 06.01.2010 12:30
Je zal eerst nog moeten fetchen.
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:


<?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"];

}

?>
<?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"];

}

?>
Laat maar het is me al gelukt!

Dit is de code die ik nu gebruik voor degene die dezelfde vraag hadden:


<?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;

}

?>


Indien iemand een mooiere of kortere versie kent, hoor ik dat graag!
Leuk dat het werkt.
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!
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:

<?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;
?>

Reageren