Gå til innhold

Trenger hjelp med Mysql og søk.


Anbefalte innlegg

Hei!

 

Jeg lurer på om hvordan jeg kan få 5 resultat pr side fra tabellen.

Slik at jeg må trykke på side 1,2,3 osv...

 

Det andre jeg trenger hejlp til er hvordan jeg kan lage en script som søker gjennom hele siden.

Lenke til kommentar
Videoannonse
Annonse

Dette er det jeg bruker:

$per_page=5; //hvor mange per side

$start_id = 0;
if ($_GET['start'] > 0) $start_id = $_GET['start'];

// TELL ANTALL - START
$query = "SELECT count(*) as antall FROM ";
$result = mysql_query($query) or die("<br>Query failed:<br> $query");

$antall = mysql_result($result, 0, "antall");
$tot_sider = ceil($antall / $per_page);
if ($start_id > 0) $cur_side = ceil($start_id / $per_page);
// TELL ANTALL - END


// VIS FORRIGE/NESTE - START
   echo "<center><table><tr>";
   if ($start_id > 0) echo "<td><a href=$_SERVER['PHP_SELF]?start=" . ($start_id - $per_page) . "><-- Forrige side</a></td><td width=30> </td>";
   else echo "<td><-- Forrige side</td><td width=30> </td>";
   echo "<td><center>Side<br>" . ($cur_side + 1) . "/$tot_sider</td><td width=30> </td>";
   if ($antall > ($start_id + $per_page)) echo " <td><a href=$_SERVER['PHP_SELF]?start=" . ($start_id + $per_page) . ">Neste side --></a></td>";
   else echo "<td>Neste side --></td>";
   echo "</tr></table>";
   // VIS FORRIGE/NESTE - END

Endret av ZoRaC
Lenke til kommentar
Dette er det jeg bruker:

$per_page=5; //hvor mange per side

// TELL ANTALL - START
$query = "SELECT count(*) as antall FROM ";
$result = mysql_query($query) or die("<br>Query failed:<br> $query");

$antall = mysql_result($result, 0, "antall");
$tot_sider = ceil($antall / $per_page);
if ($start_id > 0) $cur_side = ceil($start_id / $per_page);
// TELL ANTALL - END


// VIS FORRIGE/NESTE - START
   echo "<center><table><tr>";
   if ($start_id > 0) echo "<td><a href=$_SERVER['PHP_SELF]?start=" . ($start_id - $per_page) . "><-- Forrige side</a></td><td width=30> </td>";
   else echo "<td><-- Forrige side</td><td width=30> </td>";
   echo "<td><center>Side<br>" . ($cur_side + 1) . "/$tot_sider</td><td width=30> </td>";
   if ($antall > ($start_id + $per_page)) echo " <td><a href=$_SERVER['PHP_SELF]?start=" . ($start_id + $per_page) . ">Neste side --></a></td>";
   else echo "<td>Neste side --></td>";
   echo "</tr></table>";
   // VIS FORRIGE/NESTE - END

Hei!

 

Takk det var en slik script jeg trenger.

 

Jeg får ikke dem til å funke. Kunne du gjort noen forbedringer.

Lenke til kommentar
Tip of the day: Les litt i manualen/artikler selv, så får du mye mer glede av PHP enn å bare la andre skrive og endre applikasjoner for deg! :thumbup:

Hvis du kunne hjelpe meg med å fortelle hvilken manual jeg kan lese på kunne det hjulpet meg mye.

Lenke til kommentar

Det er ikke lett å fortelle deg når man ikke vet hvor mye du kan.

 

Kan du php funksjonene for å hente data fra en database?

mysql_query()

kikke på den.

 

Så må du kikke i mysql manualen på LIMIT

den begrenser resultatet, f.eks:

SELECT * FROM tabell LIMIT fra_rad#, antall_rader

 

Ta også en kikk på QUERY_STRING i php manualen. Det er en effiktiv måte å bygge linkene til de neste sidene er å byttet ut fra tallet.

Lenke til kommentar

Jeg får ikke dem til å funke. Kunne du gjort noen forbedringer.

 

Hva er det som ikke virker?

Har du husket å tatt med oppkoblingen mot databasen?

Ja jeg har gjort det.

Jeg får opp

side

<forige side 1/3 neste side>

 

men det skjer ikke noe mer enn det.

Den går ikke til side 2/3

 

Kan fortelle hva jeg skla bruke den til.

 

Jeg har laget en mms script.

 

Jeg bruker denne koden for å få neste side.

define("PAGE_LIMIT", 5);
$offset = $_GET["offset"];
if ((!$offset) || ($offset < 0)) { $offset = 0; }
function navigation($offset)
{
$result = mysql_query("select count(*) from themes");
list($total_rows) = mysql_fetch_array($result);
mysql_free_result($result);

if ($offset > 0) { print "<A href=\"index.php?side=mms&id=themes&offset=" . ($offset -
PAGE_LIMIT) . "\">Forrige </A> <--->\n"; }

else { print "<b>Forrige </b> \n"; }

if ($offset + PAGE_LIMIT < $total_rows) { print "<A
href=\"index.php?side=mms&id=themes&offset=" . ($offset + PAGE_LIMIT) . "\"> Neste</A>\n"; }
else { print "<b> Neste </b>\n"; }
}
navigation($offset);
?>

	$query = "SELECT * FROM mms ORDER BY id desc LIMIT $offset, " .
PAGE_LIMIT;
$result = mysql_query($query);
  $color = "EAEAEA";

while($data = mysql_fetch_array($result))
{
 $mld = wordwrap($data['mld'], 150, '<br>', 1);
 echo "</td><td><table valign='top'><tr><td valign='top'>Navn: $data[tekst]</td></tr><tr><td valign='top'>Kode: $data[wap]</td></tr></table></td></tr>";
echo "</TR>";
if ($color == "EAEAEA") $color = "f8f8f8";
else if ($color == "f8f8f8") $color = "EAEAEA";
}

?>

 

Jeg får ikke brukt java script i den.

 

Derfor trenger jeg en annen og enkel script som jeg kan bruke til det. Er nybegynner.

Lenke til kommentar
Opps.. hadde glemt 2 linjer kode.

Har rettet koden i det forrige innlegget.

Manglet disse:

$start_id = 0;
if ($_GET['start'] > 0) $start_id = $_GET['start'];

Takk nå funka den. Jeg har en dum spørmål.

Hvordan får jeg hentet data fra tabellen.

 

 

Jeg har tidligere brukt denne koden.

$henta= mysql_query("SELECT * FROM ");
while($get=mysql_fetch_array($henta)){

 

 

<? echo " $get[  ]"; ?>

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...