Je hebt $loop wel vooraf een waarde gegeven? Dit zou namelijk gewoon moeten werken:
<?php
$loop = 151;
for($so = $loop; $so < count($idso); $so++)
{
// Doe je ding
}
?>
Link gekopieerd
En als je $loop ook meteen wil laten oplopen gebruik je &$loop
Link gekopieerd
$loop wordt ook gezet, met het volgende:
$rest = $loop - $max-results; echo "Blijft over: $rest";?></br><?
$gevondensongs = $rest;
$loop = $rest;?></br><?
Link gekopieerd
Als je er zeker van wil zijn dat je $loop echt iets bevat kun je dan ff echo $loop doen voor de lus ? En als je meer wilt weten is het handig je volledige code te posten, waar het omgaat, dus het zetten van $loop inclusief de loop
Link gekopieerd
Wat ik wil bereiken is het volgende:
Ik zoek in mijn database en wil het resultaat weergeven.
Als er meer dan 30 resultaten zijn, moet het op een volgende pagina worden weergegeven worden.
P.S.
De eerste keer (Pagina 1) laat hij correct zien
Nu de code waarin ik het (tracht) weer te geven:
<?php
if(mysql_num_rows($result) > 0){ // Alleen tabel laten zien als er iets gevonden is
mysql_free_result($result1);
?>
<br />
<table border="0" cellspacing="3">
<tr>
<td><p class="header">Song name</p></td>
<td><p class="header">Playtime</p></td>
<td><p class="header">Album name</p></td>
<td><p class="header">Artist name</p></td>
</tr>
<?php
echo "Totaal gevonden: $so"; ?></br><? echo "Results is: $max_results"; ?></br><?
$total_pages = ceil($count/$max_results);
echo "Aantal pagina's: $total_pages"; ?></br></br><?
echo "PAGINA: $pagina";?></br><?
if ($pagina == 1) {
$gevondensongs = $count;
for ($so=0; $so<count($idso); $so++) {
if ($tel < $max_results) {// Maximaal 30 zoekresultaten laten zien
echo "Teller: $so";?>
<tr>
<td><p class="value1"><?php echo $song_naam[$so]; ?></p></td>
<td><p class="value"><?php echo $song_playtime[$so]; ?></p></td>
<td><p class="value1"><a href="index.php?section=search_songs&idal=<?php echo $idal[$so]; ?>"><?php echo $album[$so]; ?></a></p></td>
<td><p class="value"><?php echo $artname[$so]; ?></p></td>
</tr><?php
$tel = $tel + 1;
echo "IDSO: $idso[$so]";
}
}
}
?></br></br><?
$loop = $gevondensongs - $max_results;
if ($pagina > 1) {
for ($so = $loop; $so<count($idso); $so++) {
if ($tel < $max_results) {// Maximaal 30 zoekresultaten laten zien
echo "Teller: $so";?>
<tr>
<td><p class="value1"><?php echo $song_naam[$so]; ?></p></td>
<td><p class="value"><?php echo $song_playtime[$so]; ?></p></td>
<td><p class="value1"><a href="index.php?section=search_songs&idal=<?php echo $idal[$so]; ?>"><?php echo $album[$so]; ?></a></p></td>
<td><p class="value"><?php echo $artname[$so]; ?></p></td>
</tr><?php
$tel = $tel + 1;
echo "IDSO: $idso[$so]";
}
}
}
$rest = $loop - $max-results; echo "Blijft over: $rest";?></br><?
$gevondensongs = $rest;
$loop = $rest;?></br><?
?>
</table>
<?php
// teken een lijn
?>
<hr>
<?php
}else{?>
<span class="kop"><?php
echo "Sorry, no results found.";?>
<?php
// teken een lijn
?>
<hr>
</span>
<p class="kop">
<?php
}
echo "Totaal gevonden: $count";?><p></p><?php
$total_pages = ceil($count/$max_results);
for($i = 1; $i <= $total_pages; $i++){
if(($page) == $i){
echo'['.$i.']';
}else{
echo "<a href='test.php?page=$i'>$i</a> ";
} }
echo '<br>Page '.$page.' of '.$total_pages;
//echo '</span>';
mysql_close($connection);
?>
</p>
</div>
Link gekopieerd
Heb je $loop nou al eens geëchot net voordat je je for-loop begin? Zo ja, wat kwam daar uit dan?
Link gekopieerd
$loop heb ik ge-echo, voor if ($pagina > 1) {, en het antwoord is 181, druk ik dan op Page[2] (om de volgende pagina weer te geven) dan is $loop -30 geworden ipv 151.
Link gekopieerd
Goed, daar zit dus je probleem. Nu je weet waar je moet zoeken, kun je proberen uit te vinden waarom dat gebeurt en wat je eraan zou kunnen doen...
Link gekopieerd