Ik wil graag een functie maken die de volgende waarden uit een database haalt: id, titel, datum post en auteur. Wanneer ik deze functie invoeg in een pagina, krijg ik de volgende error:
Fatal error: Call to undefined function getListContentMain() in /Applications/MAMP/htdocs/beheer/index.php on line 443
Dit is het script waar de functie in staat:
<?php
//Database connections are made in this file
$conHost = 'localhost';
$conUser = 'blablabla';
$conPass = 'blablabla';
$con = mysqli_connect($conHost, $conUser, $conPass);
if(mysqli_connect_errno()){
echo "Er kon geen verbinding worden gemaakt met de database: " . mysqli_connect_error();
function getListContentMain() {
$dbname = 'content';
mysqli_select_db($dbname,$con);
$q = "SELECT * FROM main";
$result = mysql_query($q,$con);
$ListContentMainData = array();
while($row = mysql_fetch_array($result));
$ListContentMainData[''] = $row;
return $ListContentData;
}
}
?>
Hoe kan ik deze functie verbeteren zodat ik mijn error niet meer krijg?
Wat ik uiteindelijk wil is een kolom van 4 rijen waarbij de laatste 5 records worden weergegeven. Ik heb het voor elkaar gekregen om de gegevens te tonen, maar ze worden nu per cel getoond.
De functie ziet er nu als volgt uit:
<?php
include ('connect/connect.php');
function getListContentMain() {
global $con;
$dbname = 'content';
mysqli_select_db($con,$dbname);
$q = "SELECT * FROM main LIMIT 5";
$result = mysqli_query($con,$q);
$ListContentMainData = array();
while($row = mysqli_fetch_array($result)) {
echo $row['id'];
echo $row['title'];
echo $row['date'];
echo $row['auteur'];
}
$ListContentMainData[] = $row;
return $ListContentMainData;
}
?>
De html van de pagina index.php ziet er als volgt uit:
<html>
<table>
<thead>
<tr>
<th>Post ID</th>
<th>Titel</th>
<th>Datum Post</th>
<th>Auteur</th>
</tr>
</thead>
<tbody>
<tr>
<td>1test 12014-04-04 21:50:03Jules Kreutzer2test 22014-04-04 21:50:03test account<br />
<b>Notice</b>: Array to string conversion in <b>/Applications/MAMP/htdocs/beheer/index.php</b> on line <b>444</b><br />
Array</td>
<td>1test 12014-04-04 21:50:03Jules Kreutzer2test 22014-04-04 21:50:03test account<br />
<b>Notice</b>: Array to string conversion in <b>/Applications/MAMP/htdocs/beheer/index.php</b> on line <b>445</b><br />
Array</td>
<td>1test 12014-04-04 21:50:03Jules Kreutzer2test 22014-04-04 21:50:03test account<br />
<b>Notice</b>: Array to string conversion in <b>/Applications/MAMP/htdocs/beheer/index.php</b> on line <b>446</b><br />
Array</td>
<td>1test 12014-04-04 21:50:03Jules Kreutzer2test 22014-04-04 21:50:03test account<br />
<b>Notice</b>: Array to string conversion in <b>/Applications/MAMP/htdocs/beheer/index.php</b> on line <b>447</b><br />
Array</td>
</tr>
</tbody>
</table>
</html>
je returned nu een array. Kortom: meerdere waardes. Je kan die functie wel uitlezen met een foreach:
foreach ( jouwfunctie() AS $result){
echo $veld['naam'];
}
?>
[size=xsmall]Toevoeging op 08/04/2014 15:05:06:[/size]
Dit is denk wat je wilt:
<?php
include 'hier/je/database/map/en/bestandsnaam.php';
$dbname = 'content';
//Connectie staat in de $con
$host = mysqli_select_db($dbname, $connectie);
function getListContentMain($host) {
$query = "SELECT * FROM main";
$result = mysql_query($host, $query);
@donny, wanneer ik jou code probeer krijg ik een error. Nu heb ik op google gezocht en je zou met de functie implode() een array kunnen omzetten naar een string.
Hoe moet ik dat met mijn functie doen aangezien ik niet echt wijs word van de handleidingen op internet...