Probleem met fetch_array?
Tot voor kort wilde een plaatjesoverzicht, opgehaald uit een db, altijd +/- 350 miniatuurplaatjes laden op één pagina. Sinds kort haalt hij maar de helft, hij stopt 'ineens'. Ondertussen zie ik het browersbalkje laden als een malle, waar geen eind aan komt.
Ik heb zelf al wat zitten sleutelen aan het script, maar het wil me maar niet lukken.
Ben me bewust van de MySQL --> MySQLi (wat volgens jullie voor de toekomst gewijzigd moet worden).
Wie ziet waar het mis gaat?
Groetjes,
Ty
Zie hier de pagina:
http://microlepidoptera.nl/soorten/thumbnail_index.php?familie=Tortricidae&type=lijst
Dit is het script:
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
<?php
//LIJSTWEERGAVE MODUS
if($photoclass == lijst)
{
//set the number of columns
$columns = 4;
$familie = $_GET['familie'];
$query = "SELECT * FROM data_naamlijst WHERE familie LIKE '%" .$familie. "%' ORDER BY nummer";
$result = mysql_query($query);
//we add this line because we need to know the number of rows
$num_rows = mysql_num_rows($result);
echo "<table width='100%' border='0' align='center' class='tekst'>";
//changed this to a for loop so we can use the number of rows
for ( $i = 0 ; $i < $num_rows ;$i++ ) {
$row = mysql_fetch_array($result);
if($i % $columns == 0) {
//if there is no remainder, we want to start a new row
echo "<TR>";
}
// indien xi dan is de soort beschikbaar in de database met foto en en soortbeschrijving en wordt de soort
// - gelinkt in de naamlijst en zoekresultaten weergegeven
// - met daarachter een F en I icoontje in de naamlijst en zoekresultaten weer gegeven
// - wordt de eerste foto weergegeven in de photodatabase in het thumbnailoverzicht
if ($row['indatabase'] == xi)
{
echo "<td valign='top'> <table cellpadding='0' cellspacing='0' width='155'>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr>
<tr>
<td valign='top' width='150' height='4' ><div align='center'><a href='species.php?speciescode=". $row['speciescode'] ."&p=1'><img src='../database/thumbnails/" .$row['speciescode']. "_1.jpg' width='150' height='100' border='0'></div></a></td>
</tr>
<tr>
<td valign='top' class='cursief'><div align='center'>" . $row['nlnaam'] . "<br><i>" . $row['genus'] . " " . $row['soort'] . "</i></span></div></td>
</tr>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr></table>
</td>";
}
// indien x dan is de soort beschikbaar in de database met alleen een foto en wordt de soort
// - gelinkt in de naamlijst en zoekresultaten weergegeven
// - met een "Foto" icoontje in de naamlijst en zoekresultaten weergegeven
// - wordt de eerste foto weergegeven in de photodatabase in het thumbnailoverzicht
else if ($row['indatabase'] == x)
{
echo "<td valign='top'> <table cellpadding='0' cellspacing='0' width='155'>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr>
<tr>
<td valign='top' width='150' height='4' ><div align='center'><a href='species.php?speciescode=". $row['speciescode'] ."&p=1'><img src='../database/thumbnails/" .$row['speciescode']. "_1.jpg' width='150' height='100' border='0'></div></a></td>
</tr>
<tr>
<td valign='top' class='cursief'><div align='center'>" . $row['nlnaam'] . "<br><i>" . $row['genus'] . " " . $row['soort'] . "</i></span></div></td>
</tr>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr></table>
</td>";
}
// indien i dan is de soort beschikbaar in de database met alleen een soortbeschrijving en wordt de soort
// - gelinkt in de naamlijst en zoekresultaten weergegeven
// - met een "Info" icoontje in de naamlijst en zoekresultaten weergegeven
// - wordt de het plaatje "beschrijving beschikbaar" weergegeven in het thumbnailoverzicht
else if ($row['indatabase'] == i)
{
echo "<td valign='top'> <table cellpadding='0' cellspacing='0' width='155'>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr>
<tr>
<td valign='top' width='150' height='4' ><div align='center'><a href='species.php?speciescode=". $row['speciescode'] ."&p=1'><img src='../database/thumbnails/1111.jpg' width='150' height='100' border='0'></div></a></td>
</tr>
<tr>
<td valign='top' class='cursief'><div align='center'>" . $row['nlnaam'] . "<br><i>" . $row['genus'] . " " . $row['soort'] . "</i></span></div></td>
</tr>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr></table>
</td>";
}
// in alle overige gevallen dan is de soort onbeschreven en zonder fotos in de database beschikbaar en wordt de soort
// - ongelinkt in de naamlijst en zoekresultaten weergegeven
// - wordt het plaatje "geen afbeelding" weergegeven
else
{
echo "<td valign='top'> <table cellpadding='0' cellspacing='0' width='155'>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr>
<tr>
<td valign='top' width='150' height='4' ><div align='center'><a href='species.php?speciescode=". $row['speciescode'] ."&p=1'><img src='../database/thumbnails/0000.jpg' width='150' height='100' border='0'></div></a></td>
</tr>
<tr>
<td valign='top' class='cursief'><div align='center'>" . $row['nlnaam'] . "<br><i>" . $row['genus'] . " " . $row['soort'] . "</i></span></div></td>
</tr>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr></table>
</td>";
}
if(($i % $columns) == ($columns - 1) || ($i + 1) == $num_rows) {
//if there is a remainder of 1, end the row
//or if there is nothing left in our result set, end the row
echo "</TR>\n";
}
}
echo "</TABLE>\n";
}
//ALLE FOTOS WEERGEVEN MODUS
elseif($photoclass == all)
{
//set the number of columns
$columns = 4;
$familie = $_GET['familie'];
$query = "SELECT * FROM photos WHERE familie LIKE '%" .$familie. "%' ORDER BY geldigenaam";
$result = mysql_query($query);
//we add this line because we need to know the number of rows
$num_rows = mysql_num_rows($result);
echo "<table width='100%' border='0' align='left' class='tekst'>";
//changed this to a for loop so we can use the number of rows
for($i = 0; $i < $num_rows; $i++) {
$row = mysql_fetch_array($result);
if($i % $columns == 0) {
//if there is no remainder, we want to start a new row
echo "<TR>";
}
echo "<td valign='top'> <table cellpadding='0' cellspacing='0' width='155'>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr>
<tr>
<td valign='top' width='150' height='4' ><div align='center'><a href='species.php?speciescode=". $row['speciescode'] ."&p=". $row['photonr'] ."'><img src='../database/thumbnails/" .$row['speciescode']. "_" . $row['photonr'] . ".jpg' width='150' height='100' border='0'></div></a></td>
</tr>
<tr>
<td valign='top' class='cursief'><div align='center'><i>" . $row['geldigenaam'] . "</i></span></div></td>
</tr>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr></table>
</td>";
if(($i % $columns) == ($columns - 1) || ($i + 1) == $num_rows) {
//if there is a remainder of 1, end the row
//or if there is nothing left in our result set, end the row
echo "</TR>\n";
}
}
echo "</TABLE>\n";
}
//TYPE MODUS - SELECTEER MUSEUM
elseif($photoclass == museum)
{
//set the number of columns
$columns = 4;
$familie = $_GET['familie'];
$query = "SELECT * FROM museum WHERE familie LIKE '%" .$familie. "%' ORDER BY geldigenaam";
$result = mysql_query($query);
//we add this line because we need to know the number of rows
$num_rows = mysql_num_rows($result);
echo "<table width='100%' border='0' align='left' class='tekst'>";
//changed this to a for loop so we can use the number of rows
for($i = 0; $i < $num_rows; $i++) {
$row = mysql_fetch_array($result);
if($i % $columns == 0) {
//if there is no remainder, we want to start a new row
echo "<TR>";
}
echo "<td valign='top'> <table cellpadding='0' cellspacing='0' width='155'>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr>
<tr>
<td valign='top' width='150' height='4' ><div align='center'><a href='museum.php?speciescode=". $row['speciescode'] ."&m=". $row['museumnr'] ."'><img src='../database/thumbnails/museum/" .$row['speciescode']. "_" . $row['museumnr'] . ".jpg' width='150' height='100' border='0'></div></a></td>
</tr>
<tr>
<td valign='top' class='cursief'><div align='center'><i>" . $row['geldigenaam'] . "</i></span></div></td>
</tr>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr></table>
</td>";
if(($i % $columns) == ($columns - 1) || ($i + 1) == $num_rows) {
//if there is a remainder of 1, end the row
//or if there is nothing left in our result set, end the row
echo "</TR>\n";
}
}
echo "</TABLE>\n";
}
//TYPE MODUS - SELECTEER ADULT, POP, LARVE, EI, VRAATSPOOR
else
{
//set the number of columns
$columns = 4;
//Soortinformatie
$familie = $_GET['familie'];
//Type selectie
$photoclass = $_GET['type'];
//Query voor Alles die aan dit type in deze familie voldoen
$query = "SELECT * FROM photos WHERE familie LIKE '%" .$familie. "%' AND photoclass LIKE '" .$photoclass. "' ORDER BY speciescode";
$result = mysql_query($query);
//we add this line because we need to know the number of rows
$num_rows = mysql_num_rows($result);
echo "<table width='100%' border='0' align='left' class='tekst'>";
//changed this to a for loop so we can use the number of rows
for($i = 0; $i < $num_rows; $i++) {
$row = mysql_fetch_array($result);
if($i % $columns == 0) {
//if there is no remainder, we want to start a new row
echo "<TR>";
}
echo "<td valign='top'> <table cellpadding='0' cellspacing='0' width='155'>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr>
<tr>
<td valign='top' width='150' height='4' ><div align='center'><a href='species.php?speciescode=". $row['speciescode'] ."&p=". $row['photonr'] ."'><img src='../database/thumbnails/" .$row['speciescode']. "_" . $row['photonr'] . ".jpg' width='150' height='100' border='0'></div></a></td>
</tr>
<tr>
<td valign='top' class='cursief'><div align='center'><i>" . $row['geldigenaam'] . "</i></span></div></td>
</tr>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr></table>
</td>";
if(($i % $columns) == ($columns - 1) || ($i + 1) == $num_rows) {
//if there is a remainder of 1, end the row
//or if there is nothing left in our result set, end the row
echo "</TR>\n";
}
}
echo "</TABLE>\n";
}
?>
//LIJSTWEERGAVE MODUS
if($photoclass == lijst)
{
//set the number of columns
$columns = 4;
$familie = $_GET['familie'];
$query = "SELECT * FROM data_naamlijst WHERE familie LIKE '%" .$familie. "%' ORDER BY nummer";
$result = mysql_query($query);
//we add this line because we need to know the number of rows
$num_rows = mysql_num_rows($result);
echo "<table width='100%' border='0' align='center' class='tekst'>";
//changed this to a for loop so we can use the number of rows
for ( $i = 0 ; $i < $num_rows ;$i++ ) {
$row = mysql_fetch_array($result);
if($i % $columns == 0) {
//if there is no remainder, we want to start a new row
echo "<TR>";
}
// indien xi dan is de soort beschikbaar in de database met foto en en soortbeschrijving en wordt de soort
// - gelinkt in de naamlijst en zoekresultaten weergegeven
// - met daarachter een F en I icoontje in de naamlijst en zoekresultaten weer gegeven
// - wordt de eerste foto weergegeven in de photodatabase in het thumbnailoverzicht
if ($row['indatabase'] == xi)
{
echo "<td valign='top'> <table cellpadding='0' cellspacing='0' width='155'>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr>
<tr>
<td valign='top' width='150' height='4' ><div align='center'><a href='species.php?speciescode=". $row['speciescode'] ."&p=1'><img src='../database/thumbnails/" .$row['speciescode']. "_1.jpg' width='150' height='100' border='0'></div></a></td>
</tr>
<tr>
<td valign='top' class='cursief'><div align='center'>" . $row['nlnaam'] . "<br><i>" . $row['genus'] . " " . $row['soort'] . "</i></span></div></td>
</tr>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr></table>
</td>";
}
// indien x dan is de soort beschikbaar in de database met alleen een foto en wordt de soort
// - gelinkt in de naamlijst en zoekresultaten weergegeven
// - met een "Foto" icoontje in de naamlijst en zoekresultaten weergegeven
// - wordt de eerste foto weergegeven in de photodatabase in het thumbnailoverzicht
else if ($row['indatabase'] == x)
{
echo "<td valign='top'> <table cellpadding='0' cellspacing='0' width='155'>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr>
<tr>
<td valign='top' width='150' height='4' ><div align='center'><a href='species.php?speciescode=". $row['speciescode'] ."&p=1'><img src='../database/thumbnails/" .$row['speciescode']. "_1.jpg' width='150' height='100' border='0'></div></a></td>
</tr>
<tr>
<td valign='top' class='cursief'><div align='center'>" . $row['nlnaam'] . "<br><i>" . $row['genus'] . " " . $row['soort'] . "</i></span></div></td>
</tr>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr></table>
</td>";
}
// indien i dan is de soort beschikbaar in de database met alleen een soortbeschrijving en wordt de soort
// - gelinkt in de naamlijst en zoekresultaten weergegeven
// - met een "Info" icoontje in de naamlijst en zoekresultaten weergegeven
// - wordt de het plaatje "beschrijving beschikbaar" weergegeven in het thumbnailoverzicht
else if ($row['indatabase'] == i)
{
echo "<td valign='top'> <table cellpadding='0' cellspacing='0' width='155'>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr>
<tr>
<td valign='top' width='150' height='4' ><div align='center'><a href='species.php?speciescode=". $row['speciescode'] ."&p=1'><img src='../database/thumbnails/1111.jpg' width='150' height='100' border='0'></div></a></td>
</tr>
<tr>
<td valign='top' class='cursief'><div align='center'>" . $row['nlnaam'] . "<br><i>" . $row['genus'] . " " . $row['soort'] . "</i></span></div></td>
</tr>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr></table>
</td>";
}
// in alle overige gevallen dan is de soort onbeschreven en zonder fotos in de database beschikbaar en wordt de soort
// - ongelinkt in de naamlijst en zoekresultaten weergegeven
// - wordt het plaatje "geen afbeelding" weergegeven
else
{
echo "<td valign='top'> <table cellpadding='0' cellspacing='0' width='155'>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr>
<tr>
<td valign='top' width='150' height='4' ><div align='center'><a href='species.php?speciescode=". $row['speciescode'] ."&p=1'><img src='../database/thumbnails/0000.jpg' width='150' height='100' border='0'></div></a></td>
</tr>
<tr>
<td valign='top' class='cursief'><div align='center'>" . $row['nlnaam'] . "<br><i>" . $row['genus'] . " " . $row['soort'] . "</i></span></div></td>
</tr>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr></table>
</td>";
}
if(($i % $columns) == ($columns - 1) || ($i + 1) == $num_rows) {
//if there is a remainder of 1, end the row
//or if there is nothing left in our result set, end the row
echo "</TR>\n";
}
}
echo "</TABLE>\n";
}
//ALLE FOTOS WEERGEVEN MODUS
elseif($photoclass == all)
{
//set the number of columns
$columns = 4;
$familie = $_GET['familie'];
$query = "SELECT * FROM photos WHERE familie LIKE '%" .$familie. "%' ORDER BY geldigenaam";
$result = mysql_query($query);
//we add this line because we need to know the number of rows
$num_rows = mysql_num_rows($result);
echo "<table width='100%' border='0' align='left' class='tekst'>";
//changed this to a for loop so we can use the number of rows
for($i = 0; $i < $num_rows; $i++) {
$row = mysql_fetch_array($result);
if($i % $columns == 0) {
//if there is no remainder, we want to start a new row
echo "<TR>";
}
echo "<td valign='top'> <table cellpadding='0' cellspacing='0' width='155'>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr>
<tr>
<td valign='top' width='150' height='4' ><div align='center'><a href='species.php?speciescode=". $row['speciescode'] ."&p=". $row['photonr'] ."'><img src='../database/thumbnails/" .$row['speciescode']. "_" . $row['photonr'] . ".jpg' width='150' height='100' border='0'></div></a></td>
</tr>
<tr>
<td valign='top' class='cursief'><div align='center'><i>" . $row['geldigenaam'] . "</i></span></div></td>
</tr>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr></table>
</td>";
if(($i % $columns) == ($columns - 1) || ($i + 1) == $num_rows) {
//if there is a remainder of 1, end the row
//or if there is nothing left in our result set, end the row
echo "</TR>\n";
}
}
echo "</TABLE>\n";
}
//TYPE MODUS - SELECTEER MUSEUM
elseif($photoclass == museum)
{
//set the number of columns
$columns = 4;
$familie = $_GET['familie'];
$query = "SELECT * FROM museum WHERE familie LIKE '%" .$familie. "%' ORDER BY geldigenaam";
$result = mysql_query($query);
//we add this line because we need to know the number of rows
$num_rows = mysql_num_rows($result);
echo "<table width='100%' border='0' align='left' class='tekst'>";
//changed this to a for loop so we can use the number of rows
for($i = 0; $i < $num_rows; $i++) {
$row = mysql_fetch_array($result);
if($i % $columns == 0) {
//if there is no remainder, we want to start a new row
echo "<TR>";
}
echo "<td valign='top'> <table cellpadding='0' cellspacing='0' width='155'>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr>
<tr>
<td valign='top' width='150' height='4' ><div align='center'><a href='museum.php?speciescode=". $row['speciescode'] ."&m=". $row['museumnr'] ."'><img src='../database/thumbnails/museum/" .$row['speciescode']. "_" . $row['museumnr'] . ".jpg' width='150' height='100' border='0'></div></a></td>
</tr>
<tr>
<td valign='top' class='cursief'><div align='center'><i>" . $row['geldigenaam'] . "</i></span></div></td>
</tr>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr></table>
</td>";
if(($i % $columns) == ($columns - 1) || ($i + 1) == $num_rows) {
//if there is a remainder of 1, end the row
//or if there is nothing left in our result set, end the row
echo "</TR>\n";
}
}
echo "</TABLE>\n";
}
//TYPE MODUS - SELECTEER ADULT, POP, LARVE, EI, VRAATSPOOR
else
{
//set the number of columns
$columns = 4;
//Soortinformatie
$familie = $_GET['familie'];
//Type selectie
$photoclass = $_GET['type'];
//Query voor Alles die aan dit type in deze familie voldoen
$query = "SELECT * FROM photos WHERE familie LIKE '%" .$familie. "%' AND photoclass LIKE '" .$photoclass. "' ORDER BY speciescode";
$result = mysql_query($query);
//we add this line because we need to know the number of rows
$num_rows = mysql_num_rows($result);
echo "<table width='100%' border='0' align='left' class='tekst'>";
//changed this to a for loop so we can use the number of rows
for($i = 0; $i < $num_rows; $i++) {
$row = mysql_fetch_array($result);
if($i % $columns == 0) {
//if there is no remainder, we want to start a new row
echo "<TR>";
}
echo "<td valign='top'> <table cellpadding='0' cellspacing='0' width='155'>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr>
<tr>
<td valign='top' width='150' height='4' ><div align='center'><a href='species.php?speciescode=". $row['speciescode'] ."&p=". $row['photonr'] ."'><img src='../database/thumbnails/" .$row['speciescode']. "_" . $row['photonr'] . ".jpg' width='150' height='100' border='0'></div></a></td>
</tr>
<tr>
<td valign='top' class='cursief'><div align='center'><i>" . $row['geldigenaam'] . "</i></span></div></td>
</tr>
<tr>
<td valign='top' height='4'><div align='center'></div></td>
</tr></table>
</td>";
if(($i % $columns) == ($columns - 1) || ($i + 1) == $num_rows) {
//if there is a remainder of 1, end the row
//or if there is nothing left in our result set, end the row
echo "</TR>\n";
}
}
echo "</TABLE>\n";
}
?>
Dus == 'xi'.
Zo ook voor de elsif en else condities.
Bart, je bent mijn held! Hij laadt weer volledig! :)