X Hej jeg har lavet en lille søge funktion og den virker fint men der kan jo komme ret mange resultater er der en som kan hjælpe mig med at lave en limit så den kun hviser feks 20 og så laver den en næste side med de næste 20 i ?
<form name="form1" method="post" action="">
<p>Alder mellem
<input type="text" name="alder1">
og
<input type="text" name="alder2">
</p>
<p>Højde mellem
<input type="text" name="højde1">
og
<input type="text" name="højde2">
</p>
<p>Vægt mellem
<input type="text" name="vægt1">
og
<input type="text" name="vægt2">
</p>
<p>Køn
<select name="køn" size="1" style="width: 145px;">
<option selected value=""></option>
<option value="Mand">Mand</option>
<option value="Kvinde">Kvinde</option>
<option value="Par">Par</option>
</select></p>
<p>
<input type="submit" name="Submit" value="Søg">
</p>
</form>
<?php
$alder1 = $_POST['alder1'];
$alder2 = $_POST['alder2'];
$højde1 = $_POST['højde1'];
$højde2 = $_POST['højde2'];
$vægt1 = $_POST['vægt1'];
$vægt2 = $_POST['vægt2'];
$køn = $_POST['køn'];
$sql = "SELECT * FROM users WHERE 1=1 ";
if($alder1) {
$alder1 = intval($alder1);
$sql .= "AND alder >= '$alder1' ";
}
if($alder2) {
$alder2 = intval($alder2);
$sql .= "AND alder <= '$alder2' ";
}
if($køn) {
$køn = addslashes($køn);
$sql .= "AND koen = '$køn' ";
}
if($højde1) {
$højde1 = intval($højde1);
$sql .= "AND hoejde >= '$højde1' ";
}
if($højde2) {
$højde2 = intval($højde2);
$sql .= "AND hoejde <= '$højde2' ";
}
if($vægt1) {
$vægt1 = intval($vægt1);
$sql .= "AND vaegt >= '$vægt1' ";
}
if($vægt2) {
$vægt2 = intval($vægt2);
$sql .= "AND vaegt <= '$vægt2' ";
}
$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_array($result))
{ echo "Brugernavn: "; echo $row['username']; echo " Alder: "; echo $row['alder'] ; echo "<br>"; }
?>
JEg har så fundet ud af at jeg kan bruge noget ala dette
http://www.delfs.dk/articles/danish/Side123.phpmen jeg kan ikke få det til at virke jeg tror det er denne der driller mig
$g_total = mysql_query("select count(id) as total from alfabetet") or die(mysql_error());
jeg har nu prøvet at lave siden sådan her men stadig uden held
<?php
session_start();
include("includes/db.php");
if ($_POST['brugernavn'] != "") {
$brugernavn = $_POST['brugernavn'];
$resultat = mysql_query("select * from users where username LIKE '%$brugernavn%'");
while($row = mysql_fetch_array($resultat))
{ echo $row['username']; echo "<br>"; }
}else{ ?>
<form name="form1" method="post" action="">
<input type="text" name="brugernavn">
<input type="submit" name="Submit" value="Søg brugernavn">
</form>
<? } ?>
<form name="form1" method="post" action="">
<p>Alder mellem
<input type="text" name="alder1">
og
<input type="text" name="alder2">
</p>
<p>Højde mellem
<input type="text" name="højde1">
og
<input type="text" name="højde2">
</p>
<p>Vægt mellem
<input type="text" name="vægt1">
og
<input type="text" name="vægt2">
</p>
<p>Køn
<select name="køn" size="1" style="width: 145px;">
<option selected value=""></option>
<option value="Mand">Mand</option>
<option value="Kvinde">Kvinde</option>
<option value="Par">Par</option>
</select></p>
<p>
<input type="submit" name="Submit" value="Søg">
</p>
</form>
<?php
$pr_side = "5"; //Definerer antal resultater pr. side
if (!isset($s)) {
$s = "0"; //Tjekker om $s - som står for start - er sat, hvis ikke sættes den
}
$alder1 = $_POST['alder1'];
$alder2 = $_POST['alder2'];
$højde1 = $_POST['højde1'];
$højde2 = $_POST['højde2'];
$vægt1 = $_POST['vægt1'];
$vægt2 = $_POST['vægt2'];
$køn = $_POST['køn'];
$count = "SELECT count(userid) FROM users WHERE 1=1 ";
if($alder1) {
$alder1 = intval($alder1);
$sql .= "AND alder >= '$alder1' ";
}
if($alder2) {
$alder2 = intval($alder2);
$sql .= "AND alder <= '$alder2' ";
}
if($køn) {
$køn = addslashes($køn);
$sql .= "AND koen = '$køn' ";
}
if($højde1) {
$højde1 = intval($højde1);
$sql .= "AND hoejde >= '$højde1' ";
}
if($højde2) {
$højde2 = intval($højde2);
$sql .= "AND hoejde <= '$højde2' ";
}
if($vægt1) {
$vægt1 = intval($vægt1);
$sql .= "AND vaegt >= '$vægt1' ";
}
if($vægt2) {
$vægt2 = intval($vægt2);
$sql .= "AND vaegt <= '$vægt2' ";
}
$sql = "SELECT * FROM users WHERE 1=1 ";
if($alder1) {
$alder1 = intval($alder1);
$sql .= "AND alder >= '$alder1' ";
}
if($alder2) {
$alder2 = intval($alder2);
$sql .= "AND alder <= '$alder2' ";
}
if($køn) {
$køn = addslashes($køn);
$sql .= "AND koen = '$køn' ";
}
if($højde1) {
$højde1 = intval($højde1);
$sql .= "AND hoejde >= '$højde1' ";
}
if($højde2) {
$højde2 = intval($højde2);
$sql .= "AND hoejde <= '$højde2' ";
}
if($vægt1) {
$vægt1 = intval($vægt1);
$sql .= "AND vaegt >= '$vægt1' ";
}
if($vægt2) {
$vægt2 = intval($vægt2);
$sql .= "AND vaegt <= '$vægt2' ";
}
//$result = mysql_query($sql) or die(mysql_error());
//while($row = mysql_fetch_array($result))
//{ echo "Brugernavn: "; echo $row['username']; echo " Alder: "; echo $row['alder'] ; echo "<br>"; }
$query = mysql_query("$sql limit $s,$pr_side") or die(mysql_error());
while($row = mysql_fetch_array($query)){
echo "Brugernavn: "; echo $row['username']; echo " Alder: "; echo $row['alder'] ; echo "<br>";
}
$g_total = mysql_query("$count") or die(mysql_error());
$total = mysql_result($g_total,0);
##
#Find ud af om derskal være et Forrige link
##
if ($s >= $pr_side) { //Tjekker om værdien af $s er større eller lig $pr_side
$previous_s = $s-$pr_side; //Regner ud hvor mysql skal starte hvis forrige side kaldes
echo "<a href='?s=$previous_s'>Forrige</a> "; //Udskriver linket
}
##
#Find ud af hvis/hvor mange sider der er rows til
##
$page = 1; //Definerer hvor sidetal skal starte
for($start=0; $total > $start; $start=$start+$pr_side){ //For-løkke der kører indtil der ikke er nok rows til en side mere
if ($start != $s) { //Tjekker om linket vil komme til at pege på den side man er på
echo "<a href='?s=$start'>$page</a> "; //...hvis ikke, udskrives link med værdien af $page
} else { //Ellers, dvs. hvis linket vil pege på den side man er på..
echo "$page "; //...udskrives værdien af $page bare, altså ikke som link
}
$page++; //Lægger en til $page til næste gang løkken køres
}
##
#Find ud af om der skal være et næste link
##
if ($total > $s+$pr_side) { //Tjekker om der er flere sider
$next_s = $s+$pr_side; //Regner ud hvor mysql skal starte hvis næste side kaldes
echo "<a href='?s=$next_s'>Næste</a>"; //Udskriver linket "næste"
}
?>
er der en der kan hjælpe mig videre