returnere en array fra en funktion

Tags:    php

Jeg har et problem i et script jeg er ved at lave. Jeg har lavet en funktion som skal kigge ned i databasen og returnere en array med resultaterne. Funktionen tager et argument som bliver brugt som where i min select statement. Koden er følgende:

function getProduct($type)
{

include 'db.php';
if (!($connection = @ mysql_pconnect($hostName,
$username,
$password)))
die("Could not connect to database");



if (!mysql_select_db($databaseName, $connection))
showerror();

$theType = $type;
$query = "SELECT name FROM products WHERE type='$theType'";

if (!($result = @ mysql_query($query1, $connection)))
showerror();

$row=mysql_fetch_array($result);

return ($row);
}

Andet sted har jeg en kode som er følgende:

while ($row=mysql_fetch_array($result))
{


$types = $row['type'];

echo '<h3>' . $types . '</h3>';

$ar = getProduct($types);

echo "bla";
foreach($ar as $value)
{
echo $value + alt muligt andet. }
$counter++;
}


Det der sker er at scriptet kører indtil $ar = getProduct($types) og stopper derefter. Jeg har tilføjet echo "bla"; til at se hvis noget sker efter jeg kalder funktionen, men den echoer den ikke. Jeg kan ikke forstå hvad det er jeg gør forkert. Jeg tror det har noget med at gøre at jeg kalder den inden i en while løkke, da den virker hvis jeg kalder funktionen i et seperat script uden while løkke.

Håber nogen kan hjælpe.



$query = "SELECT name FROM products WHERE type='$theType'";

if (!($result = @ mysql_query($query1, $connection)))

I øverste linje kalder du queryet $query og nedenunder refererer du til $query1. Men der er nok mere end det siden den ikke echoer bla.



Indlæg senest redigeret d. 16.10.2006 21:41 af Bruger #3275
t