Beste helpers, ik kom er na weken nog steeds niet uit met het script volgende / vorige wie wil er even mee op de goede weg zetten mail mij even dan praten we verder.

ik wil zoeken in mijn database plm 15000 records, na de query de eerste 15 records (uit de query)op het scherm tonen en DAN MET VOLGENDE naar de records 16 t/m 30 (uit de query) en met vorige weer terug. Dat moet toch niet zo moeilijk zijn voor jullie bollebozen. Wat ik geprbeerd heb geeft de eerste keer wel het goede resultaat maar daarna (volgende) krijg is de records 16 t/m 30 uit de hele database.

Als u blieft wie doet een poging mij even te helpen.


[email protected]
Laat dan eerst eens zien wat je geprobeerd hebt, wij bollebozen maken nieuwe dingen in opdracht alleen tegen geld (of natura): Dat dan weer wel :)

Iets dat kapot is fixen is iets anders.
wat Arend al zei, en een beetje zoeken kan ook geen kwaad
dit is nog maar zo'n 10x gevraagd de laatste tijd :P
Je kan gebruik maken van de query 'SELECT * FROM `tabel` LIMIT 0,30' en als je dan op volgende klikt zorg je dat de limit naar 31,60 verspringt.

Er staat bij op deze site'een script die dit ook doet. Ga naar http://www.phphulp.nl/php/scripts/2/123. Als het goed is wordt het hier uitgelegd.

Succes!
Overigens: we doen hier niet aan 'mail' even.. je mag best om hulp vragen, maar wees dan wel zo sociaal om de oplossing ook met anderen te delen.
<sorry> voor de vraag mail me even.

Ik begrijp jullie helemaal, sharen van kennis en leren van elkaars fouten en oplossingen en tips maar er zijn net zoveel oplossingen als gebruikers, hier onder waar het om gaat.

ik kom van een zoek.php waar de zoek criteria staat daarna naar dit script gevonden.php scrip wordt doorlopen en het reultaat staat op het scherm. Nu klik je op volgende dan begint het script gevonden weer boven aan maar dan is volgens mij de selcetie verdwene of moet dit weer met een get of zoiets weer worden op gehaald ik weet het niet meer.


<?php

// Variabelen
// Ik geef het niet standaard mee in een hyperlink, maar het is een mogelijkheid

if(is_numeric($_GET['max'])) $max = $_GET['max'];   
if(is_numeric($_GET['start'])) $start = $_GET['start']; 

// $max is het maximaal aantal resultaten per pagina

if (empty($max)) $max = 15;  

// Laten staan, hiermee begint de query op het goede punt
 
if (empty($start)) $start = 0; 
// Laten staan, hiermee begint de query op het goede punt

// Rekenen
$eind = $start + $max;       // Voor de query, tot welke record die moet gaan
$vorige = $start - $max;       // Voor de variabele start voor 'vorige'-link
$volgende = $eind;           // Voor de variabele start voor 'volgende'-link

//
// Gevonden
// Dit script wordt gestart als een gezocht moet worden
//


$kleur = "<bgcolor=CCOO33><font face = arial color = FFFFFF size = -2\>";

// kijken of er wel een zoek opdracht is.

$lengte = strlen( $HTTP_POST_VARS[zoekkorps]) +
          strlen( $HTTP_POST_VARS[zoekroepnummer])+ 
          strlen( $HTTP_POST_VARS[zoektype]) + 
          strlen( $HTTP_POST_VARS[zoekmerk]) +  
          strlen( $HTTP_POST_VARS[zoekopbouw]) +
          strlen( $HTTP_POST_VARS[zoekkenteken])+
      strlen( $HTTP_POST_VARS[zoekindienst]);
        
    if ($lengte == 0)
    {
        include "header.php";
        echo "<hr>";
           echo "<font face = arial> U heeft <B> GEEN </B>Zoekterm ingevuld</br> ";
        echo "<hr>";
        include "zoekknop.php";
        exit();
     }

//-- natuurlijk moet er eerst een connectie met de database worden gemaakt:

include ("connect.php");
// hier moet het fout gaan de tweede keer de slectie is dan leeg hoe krijg ik de selectie die gemaakt is 'http_post_var' weer terug ?

    $sql = "SELECT * FROM brand WHERE 

    korps              LIKE '%$HTTP_POST_VARS[zoekkorps]%'&&
    roepnummer         LIKE '%$HTTP_POST_VARS[zoekroepnummer]%'&&
    type_voertuig      LIKE '%$HTTP_POST_VARS[zoektype]%'&&
         merk_type_chassis  LIKE '%$HTTP_POST_VARS[zoekmerk]%'&&
    opbouw             LIKE '%$HTTP_POST_VARS[zoekopbouw]%'&&
    kenteken           LIKE '%$HTTP_POST_VARS[zoekkenteken]%'&&
    in_dienst          LIKE '%$HTTP_POST_VARS[zoekindienst]%'
    order by             '$HTTP_POST_VARS[sort]'
               LIMIT  $start, $max";



//-- voer de SQL code uit en zet dit in een variabele zodat we zometeen kunnen
//-- kijken of er een resultaat is

    $res = mysql_query($sql);
    $num = mysql_num_rows($res);

//-- bekijk nu of er een resultaat is, of het zoekwoord dus gevonden is of niet
    if (mysql_num_rows($res) >= 1)

    { 

        // -- Maak header als er wat is gevonden

    include ( "header.php");
    include ( "zoekknop.php");
        echo "<table><center><table border = 1 >";
        echo "<td ALIGN=LEFT > $kleur Korps</td>";
    echo "<td ALIGN=LEFT > $kleur Roepnummer</td>";
    echo "<td ALIGN=LEFT > $kleur Type voertuig</td>";
        echo "<td ALIGN=LEFT > $kleur Merk/Type Chassis</td>";
        echo "<td ALIGN=LEFT > $kleur Opbouw</td>";
        echo "<td ALIGN=LEFT > $kleur Kenteken</td><p>";
        echo "<td ALIGN=LEFT > $kleur In dienst</td><p>";

// BANNER //

        echo "<HR>";
        echo "<B><font face = arial size= -1> <center>$num Resultaten gevonden en gesorteerd op $HTTP_POST_VARS[sort] </B>";
        echo "<HR>";

//-- er is een resultaat gevonden, toon de resultaten via een while () loop
       

    while ($row = mysql_fetch_array($res)) 
        {     
          echo "<tr>";
      echo "<td ALIGN=LEFT > $kleur <a href=\"details.php?id=$row[ID]\">$row[korps]</td></a>";

// Als veld leeg is dze vullen met een <br>

    if ($row[roepnummer] =="")
        {
        echo "<td ALIGN=LEFT > $kleur <BR></td>\n";
        }
           else 
           {
            echo "<td ALIGN=LEFT > $kleur $row[roepnummer]</td>\n";
           }

      echo "<td ALIGN=LEFT > $kleur $row[type_voertuig]</td><p>\n";
      echo "<td ALIGN=LEFT > $kleur $row[merk_type_chassis]</td><p>\n"; 

// Als veld leeg is dze vullen met een <br>

         
    if ($row[opbouw] =="")
                {
                echo "<td ALIGN=LEFT > $kleur <BR></td>\n";
                }
                   else
                   {
                   echo "<td ALIGN=LEFT > $kleur $row[opbouw]</td>\n";
                   }


      echo "<td ALIGN=LEFT > $kleur $row[kenteken]</td>\n";
          echo "<td ALIGN=LEFT > $kleur $row[in_dienst]</td>\n";
      echo "</tr>";
        }
          echo "</table>";  
    include "zoekknop.php";
    
 // Kijken of $vorige groter of gelijk is aan 0, dan de hyperlink 'Vorige'
  if ($vorige >= '0') 
  { 
     echo "<a href=\"gevonden.php?start=$vorige&max=$max\">Vorige</a>\n"; 
     // De variabele start geeft voor de volgende pagina aan waar de query moet starten
  } 
   
  // Tellen hoeveel records er zijn
  $aantal = mysql_fetch_row(mysql_query("SELECT count(*) FROM brand")); 
   
  // Als het aantal groter is dan $volgende de link laten zien
  if ($aantal[0] > $volgende) 
  { 
     echo "<a href=\"gevonden.php?start=$volgende&max=$max\">Volgende</a>\n"; 
     // De variabele start geeft voor de volgende pagina aan waar de query moet starten
  } 

           } 

           else 
        {

WIE wil mij een stapje verder helpen:
Wat is het probleem, als ik de query heb uitgevoerd met (zoek in de databse) en ik klik volgende dan begint het gewoon bij het eerste record in de database i.p.v. de volgende uit de query (ik zie het even niet meer zitten, ik ben een beginner)

vast bedankt voor de hulp.

gr Henk


    include "header.php";

          echo "<p><font face = arial>Er is niets gevonden op jou zoekterm:<b> $HTTP_POST_VARS[zoekkorps]</b></p>"; 
            
    include "zoekknop.php";
   } 
?>

Reageren