Ja, det er sikkert en gamle klassiker for jer experter, men jeg har følgende lille php-script som søger i min mysql database, men hvordan er det så lige jeg får flettet den her forrige-næste-side funktion ind i scriptet? Har desværre kun 20 point at byde på, men ville blive super glad hvis nogle ville hjælpe alligevel :)
<? if ($_POST['form'] =="ok") { $sog = $_POST['sog'];
//Opretter forbindelse her... mysql_connect("localhost","min-bruger", "*******"); mysql_select_db("min-database");
//Selve søgefunktionen.. $query = mysql_query("SELECT * FROM tabel WHERE sogeord LIKE '%$sog%' LIMIT 0, 30 "); ($ops = mysql_num_rows($query)); { echo"<font face=verdana size=1>Du har søgt efter: <b>$sog</b><br>Der blev fundet<b> $ops </b>resultat(er).<br><br></font>"; } while ($row = mysql_fetch_array($query)) { if (!$id){ } { echo $row['Navn'] . "<br>"; echo $row['Kontakt'] . "<br>"; echo $row['Info'] . "<br>"; } } } ?>
Tjo det giver vel lidt mening det meste af det, men du har givet et langt flot svar nederst i indlægget, men bare sådan et stykke som nederst i scriptet:
Jeg kan godt give dig en fungerende løsning, men så spørger du bare om samme spørgsmål næste gang. Så synes du skal prøve lidt selv. Jeg kan give dig 2 hints.
LIMIT 0,30 betyder: Giv mig fra række 0 og giv mig 30. Så LIMIT 0, 10 giver dig fra 0 og 10 rækker frem (hvis der er 10 rækker) Så LIMIT 10, 10 giver dig fra 10 og 10 rækker frem (hvis der er 20 rækker)
Ligeledes skal du have en total. Det får du ved at fjerne LIMIT 0,30 i et KALD.
Det kan gøres sådan:
$total = mysql_result(mysql_query("SELECT COUNT(id) FROM tabel WHERE sogeord LIKE '%$sog%'"),0);
Jeg kan skam sagtens se meningen i det, når jeg ser det på skrift.. men dertil, så til at få det til at virke med resten af mit script, det kan jeg ikke.. Der er osse aaaalt for mange små " , ' % $ som jeg får sat forkert, for jeg kan virkelig virkelig ikk se logikken i meget af de små detaljer der, som åbenbart er altafgørende!
Det script er det tætteste jeg er kommet indtil videre :) Men det virker stadig ikk helt.. ved ikk helt hvad der går galt, men prøv at gå ind på http://www.brokkers.dk , og skriv "værksted" i søgefeltet..
Nej, jeg ved godt den er helt gal i firefox... Den problem er jeg osse på, men lige en ting ad gangen jo ;) Hehe, nej pismigimunden eksistere ikke endnu, men hvem ved.. en dag måske! Men kan du umiddelbart spotte hvor den er gal? For jeg kan godt nok ikke :S
Her har du dit script. Den vister Næste vis der er brug for det eller vis der er brug for at vis tilbage så gøre den det... ellers viser den ikke noget.
Rigtig nice script som jeg selv har lavet.
//Tjekker om $offeset er sat ellers giver den en værdi 0 $offset = $_GET['offset']; if(!$offset) $offset = 0;
//Hvis $offset er lige 0, vil den vise et mellemrum ellers vil den vis knap Forige if($offset == 0) { echo " "; } else { $forige = $offset-10; echo "<a href=?offset=".$forige."><-- Forige</a>"; }
$neste = $offset+10; //Antal på de næste $overall = mysql_result(mysql_query("SELECT COUNT(id) FROM gaestebog"), 0);
if($neste > $overall) { //hvis $neste er større end $overall så sker der ikke noget echo " "; } else { echo "<a href=?offset=".$neste.">Næste --></a>"; }
jamen det virker som det skal.... haved ikke så meget tid til at skrive det.. du kan bruge det eller lade være
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.