Return informatie uit query uit functie

Status
Niet open voor verdere reacties.

killer4all2

Gebruiker
Lid geworden
26 mei 2009
Berichten
449
Goedendag,

Weet iemand hoe ik de informatie uit een query kan returnen uit een functie.

Ik wil het zo ongeveer, het is een niet werkend voorbeeld scriptje maar het maakt wel duidelijk wat ik wil denk ik :P

PHP:
$server = "localhost";
$user = "root";
$pass = "pass";
$db = "test";

// Connect to the database

$Database = new mysqli($server, $user, $pass, $db);

function getName($test)
{
	global $Database;

	if($stmt = $Database->prepare("SELECT * FROM tabel WHERE name = '$test'")
	{
		$stmt->execute;
		$stmt->bind_result($id, $name);

		return $stmt->fetch_array();
	}
}

PHP:
while(getName("test"))
{
	echo $id . "-" . $name;
}

Ik hoop dat iemand mij kan helpen. Dit punt is al is eerder te sprake gekomen bij een vraag van mij, maar daar waren we toen niet uitegekomen (het was ook niet helemaal het zelfde) Maar nu heb ik het echt nodig.

Alvast bedankt voor de moeite! :)

Vriendelijke groet,
Rowan
 
Hoi,

Kan niemand mij helpen? :(

Ik heb eens gezocht op PHP.net en vond dit. Misschien dat iemand mij dit kan uitleggen en of dit is wat ik zoek. En hoe ik dit misschien zou kunnen doen met oop notatie

PHP:
<?php

$query="select * from table_xyz";
$result = mysql_query($query) or die(mysql_error());
$arr_table_result=mysql_fetch_full_result_array($result);

function mysql_fetch_full_result_array($result)
{
    $table_result=array();
    $r=0;
    while($row = mysql_fetch_assoc($result)){
        $arr_row=array();
        $c=0;
        while ($c < mysql_num_fields($result)) {        
            $col = mysql_fetch_field($result, $c);    
            $arr_row[$col -> name] = $row[$col -> name];            
            $c++;
        }    
        $table_result[$r] = $arr_row;
        $r++;
    }    
    return $table_result;
}

echo $arr_table_result[2]['id'];

?>
 
Zoals het stuk van je php.net laat zien wordt de fetch nog in de functie gedaan waarna alle waarde van de fetch in een array worden gezet zodat deze wordt gereturnd.

Daarnaast moet je de functie zo aanroepen denk ik zo:

PHP:
$result = getName('test');
 
Heb de functie nog niet geschreven. Ga ik vandaag doen wss, als ik hem heb zal ik hem zeker posten ;)
 
Voorbeeld van een functie die ik geschreven heb:

(Sorry voor het late delen, maar mijn oma was overleden :()

PHP:
function getPage()
    {
        global $Database;
        
        if($stmt = $Database->prepare("SELECT id, title, category FROM pages"))
        {
            $stmt->execute();
            $stmt->bind_result($pid, $title, $category);
            
            $arr = array();
            
            while ($stmt->fetch()) 
            {
                $arr[$pid]['category'] = $category;
                $arr[$pid]['title'] = $title;
            }
            
            return $arr;
        }
    }
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan