van query naar array
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$sql = 'SELECT * FROM fotoAlbum WHERE state = "on" ORDER BY crDate DESC';
$result = mysql_query($sql);
echo '<table width="100%" cellspacing="1" cellpadding="0" border="0">';
while($arrFotoAlbum = mysql_fetch_array($result)){
echo '<tr><td>'.$arrFotoAlbum['name'].'</td>';
$slfFoto = 'SELECT * FROM fotoItems WHERE albumID = "'.$arrFotoAlbum['ID'].'" LIMIT 0,1';
$resultFoto = mysql_query($sqlFoto);
while($arrFotoPreview = mysql_fetch_array($resultFoto)){
echo '<td>'.$arrFotoPreview['name'].'</td>';
}
echo '</tr>';
}
echo '</table>';
?>
$sql = 'SELECT * FROM fotoAlbum WHERE state = "on" ORDER BY crDate DESC';
$result = mysql_query($sql);
echo '<table width="100%" cellspacing="1" cellpadding="0" border="0">';
while($arrFotoAlbum = mysql_fetch_array($result)){
echo '<tr><td>'.$arrFotoAlbum['name'].'</td>';
$slfFoto = 'SELECT * FROM fotoItems WHERE albumID = "'.$arrFotoAlbum['ID'].'" LIMIT 0,1';
$resultFoto = mysql_query($sqlFoto);
while($arrFotoPreview = mysql_fetch_array($resultFoto)){
echo '<td>'.$arrFotoPreview['name'].'</td>';
}
echo '</tr>';
}
echo '</table>';
?>
Maar nu doet hij het niet omdat $arrFotoPreview geen array is. Weet iemand mss een oplossing??
Alvast bedankt,
Stefan
Is dus wél een array().
Waar zijn de contrôles en de foutafhandeling?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
$sql = 'SELECT * FROM fotoAlbum WHERE state = "on" ORDER BY crDate DESC';
$result = mysql_query($sql);
echo '<table width="100%" cellspacing="1" cellpadding="0" border="0">';
while($arrFotoAlbum = mysql_fetch_array($result)){
echo '<tr><td>'.$arrFotoAlbum['name'].'</td>';
$slfFoto = 'SELECT * FROM fotoItems WHERE albumID = "'.$arrFotoAlbum['ID'].'" LIMIT 0,1';
$resultFoto = mysql_query($sqlFoto);
$arrFotoPreview = mysql_fetch_array($resultFoto);
if(is_array($arrFotoPreview)){
die('is array');
}else{
die('is geen array');
}
echo '</tr>';
}
echo '</table>';
?>
$sql = 'SELECT * FROM fotoAlbum WHERE state = "on" ORDER BY crDate DESC';
$result = mysql_query($sql);
echo '<table width="100%" cellspacing="1" cellpadding="0" border="0">';
while($arrFotoAlbum = mysql_fetch_array($result)){
echo '<tr><td>'.$arrFotoAlbum['name'].'</td>';
$slfFoto = 'SELECT * FROM fotoItems WHERE albumID = "'.$arrFotoAlbum['ID'].'" LIMIT 0,1';
$resultFoto = mysql_query($sqlFoto);
$arrFotoPreview = mysql_fetch_array($resultFoto);
if(is_array($arrFotoPreview)){
die('is array');
}else{
die('is geen array');
}
echo '</tr>';
}
echo '</table>';
?>
en nu krijg ik is geen array...
SanThe schreef op 05.04.2009 13:08:
Wat snap je hier niet van?Waar zijn de contrôles en de foutafhandeling?
Zie de beginnerstutorials en ga de ontbrekende code aan jouw script toevoegen. Zonder foutafhandeling heeft het weinig zin om verder te gaan.
Lees die code dan ook na,
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
$query = "SELECT ID, name FROM fotoAlbum WHERE state = 'on' ORDER BY crDate DESC";
$result = mysql_query($query);
if($result && mysql_num_rows($result) > 0)
{
echo '<table>';
while($album = mysql_fetch_assoc($result))
{
echo '<tr>';
echo '<td>'.$album['name'].'</td>';
$query2 = "SELECT name FROM fotoItems WHERE albumID = ".$album['ID']." LIMIT 1";
$result2 = mysql_query($query2);
if($result2 && mysql_num_rows($result2) == 1)
{
while($item = mysql_fetch_assoc($result2))
{
echo '<td>'.$item['name'].'</td>';
}
}
echo '</tr>';
}
echo '</table>';
}
?>
$query = "SELECT ID, name FROM fotoAlbum WHERE state = 'on' ORDER BY crDate DESC";
$result = mysql_query($query);
if($result && mysql_num_rows($result) > 0)
{
echo '<table>';
while($album = mysql_fetch_assoc($result))
{
echo '<tr>';
echo '<td>'.$album['name'].'</td>';
$query2 = "SELECT name FROM fotoItems WHERE albumID = ".$album['ID']." LIMIT 1";
$result2 = mysql_query($query2);
if($result2 && mysql_num_rows($result2) == 1)
{
while($item = mysql_fetch_assoc($result2))
{
echo '<td>'.$item['name'].'</td>';
}
}
echo '</tr>';
}
echo '</table>';
}
?>
- Maak een keuze, of Engels of Nederlands maar niet alles door elkaar.
- Controleer of je querys wel resultaat hebben opgeleverd. Je kunt de IF nog uitbreiden met een ELSE, bijv een mededeling dat iets niet gelukt is.
- Probeer een SELECT * te voorkomen maar specificeer de kolommen.
Gewijzigd op 01/01/1970 01:00:00 door Arjan Kapteijn
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
if($result2 && mysql_num_rows($result2) == 1)
{
while($item = mysql_fetch_assoc($result2))
{
echo '<td>'.$item['name'].'</td>';
}
}
?>
if($result2 && mysql_num_rows($result2) == 1)
{
while($item = mysql_fetch_assoc($result2))
{
echo '<td>'.$item['name'].'</td>';
}
}
?>
Als er slechts 1 record is gevonden is een while() overbodig.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
if($result2 && mysql_num_rows($result2) == 1)
{
$item = mysql_fetch_assoc($result2);
echo '<td>'.$item['name'].'</td>';
}
?>
if($result2 && mysql_num_rows($result2) == 1)
{
$item = mysql_fetch_assoc($result2);
echo '<td>'.$item['name'].'</td>';
}
?>
Heb je gelijk in, overheen gekeken.