Array vullen met een database
while ($line3 = mysql_fetch_array($smile, MYSQL_ASSOC))
{
$array= $line3;
$maincontent .= $array['afkorting'];
De connectie met de database is er, via een include. ik selecteer de tabel en laat hem echoen via de maincontent. dit doet hij perfect wanneer ik 1 veld heb in de database. dan krijg ik ook de goede waarde terug alleen wanneer er meerdere waardes in de tabel staan van de database, gaat het niet meer goed dan heb ik een heel leeg veld, ik heb dan ook geen andere content meer. er komt ook geen foutmelding. wie weet wat ik fout doe
DoQuery? hmmz, van wat is dat als ik vragen mag? een query iets gebaseerd op SQL? of is dat een mssql query cmd ofzo..
Je zal nu dus steeds $array overschrijven met de laatste resultset. Als je daadwerkelijk het array wilt opslaan kun je het volgende doen :
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
$qrySmile = "SELECT * FROM smilies";
if( !$resSmile = mysql_query($qrySmile) )
{
echo 'Query mislukt :'.mysql_error();
}
else
{
// Variabele declareren
$maincontent = '';
while( $rs = mysql_fetch_assoc($resSmile) )
{
$array[] = $rs;
$maincontent .= $rs['afkorting'];
}
// Alle resultsets zitten nu in $array
// Doe bijv. een print_r($array);
}
?>
$qrySmile = "SELECT * FROM smilies";
if( !$resSmile = mysql_query($qrySmile) )
{
echo 'Query mislukt :'.mysql_error();
}
else
{
// Variabele declareren
$maincontent = '';
while( $rs = mysql_fetch_assoc($resSmile) )
{
$array[] = $rs;
$maincontent .= $rs['afkorting'];
}
// Alle resultsets zitten nu in $array
// Doe bijv. een print_r($array);
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?
$sql = "select * from smilies";
$res = mysql_query ($sql) or die ('Query mislukt');
while ($row = mysql_fetch_array ($res)) {
$maincontent .= $row[afkorting];
}
print_r ($maincontent);
?>
$sql = "select * from smilies";
$res = mysql_query ($sql) or die ('Query mislukt');
while ($row = mysql_fetch_array ($res)) {
$maincontent .= $row[afkorting];
}
print_r ($maincontent);
?>
dat is een string bijvullen, maar zelf wil je hem een array maken, gezien de print_r:
$maincontent[] = $row[afkorting];
en om het dan helemaal af te maken en af te zijn van een notice, zet je bovenaan $maincontent = array();.
Gewijzigd op 24/08/2005 08:38:00 door Jelmer -
Jan, ondanks dat jouw notatie korter is, laat jij je site halverwege gewoon stoppen als er een query mislukt? De error-handling met die() is mijn inziens niet de netste.