Här har jag ett problem...
PHP koden i domkumentet har jag provat å flytta lite här och var i filen för att kunna få min paginfunktion att fungera.. men icke...
I tabellen så ligger en bläddra länk som skall få sitt värde efter att PHP har sökt igenom databasen, ligger mysql querryn nedanför får den paginlänken inget värde, ligger querryn ovanför, så visas inte sidan.
Finns det någon som vet vad jag kan göra åt problemet?
Jag sliter snart av mitt hår om jag inte lyckas få det att fungera.. =(
Jag kommer inte åt den sidan, så jag kan inte se hur din kod ser ut, men principen för pagingen brukar byggas upp utifrån 2 SQL-frågor.
Först en som räknar antalet rader med ett visst kriterie. Med hjälp av denna fråga bygger man upp sin länkning.
Sedan en SQL-fråga för själva hämtningen, med samma kriterier.
Ta en titt på hur det är löst där, så förstår du ungefär hur du ska lösa ditt problem.
Däremot förstår jag inte din while-slinga. Som jag läser den så har du utskriften av sökformuläret för varje rad du hittar, fast endast första träffen kommer att skrivas ut, sedan avbryter du med mysql_close().
Eller läser jag helt galet?
Tog förresten en titt på din länk...
Jag är rätt nybörjare på PHP, har fått mycket hjälp härifrån och på annat håll för att göra mina sidor (och det jag hålle rpå med nu är ett stort ihopkok av allt jag tidigare fått hjälp med)...
så all den koden där är som rena grekiskan för mig... *fattar nada* =)
Något liknande det här skulle kanske fungera. Jag har utgått från exemplet från PHPportalen.
function matain() {
// Globaldeklarera även $page
global $namn, $inlagg, $mail, $datum, page;
// Anslut till databas
$link = mysql_connect ("localhost","user","pass");
$databas = mysql_select_db("wheelbook");
// Hämta först antalet rader i resultatet
$sql="SELECT COUNT(*) FROM trehjulinggb WHERE namn LIKE '%$namn%'
AND mail LIKE '%$mail%' AND datum LIKE '%$datum%'";
$result=mysql_query($sql);
$rows_tot = mysql_result($result, 0);
// Bestäm antalet rader per sida
$limit = 5;
// Beräkna antalet sidor
$pages_tot = (ceil($rows_tot / $limit) - 1);
// Kontrollera variabeln $page
if(!isset($page) || $page > $pages_tot || $pages < 0){
$page = 0;
}
// Nedan denna rad går det bra att skriva ut paginglänkar
// Beräkna första posten
$start = $limit * $page;
// Hämta rader och skriv ut
$sql="SELECT * FROM trehjulinggb WHERE namn LIKE '%$namn%'
AND mail LIKE '%$mail%' AND datum LIKE '%$datum%'
LIMIT $start,$limit";
$result=mysql_query($sql);
while($rad=mysql_fetch_array($result)){
// Utskrift av raderna
}
// Skriv ut paging
paginglinks($page, $pages_tot);
} // Slut funktion
function paginglinks($page, $pages_tot) {
// Paging-länkar, ta bort/ändra det du inte vill ha
if ($page > 0) { // Om man inte är på första sidan visas dom här länkarna
echo "<a href=\"{$_SERVER['PHP_SELF']}\">Första</a> ";
echo "<a href=\"{$_SERVER['PHP_SELF']}?page=" . ($page - 1) . "\">Föregående</a> | ";
} else {
echo "Första ";
echo "Föregående | ";
}
if($pages_tot > 0) { // Skriver ut länkar till alla sidor om det är fler än 1 sida
for($i = 0; $i <= $pages_tot; $i++) {
if($i == $page) {
echo " " . ($i + 1) . " ";
} else {
echo " <a href=\"{$_SERVER['PHP_SELF']}?page=$i\">" . ($i + 1) . "</a> ";
}
}
} else {
echo " 1 ";
}
if ($page < $pages_tot) { // Om man inte är på sista sidan visas dom här länkarna
echo " | <a href=\"{$_SERVER['PHP_SELF']}?page=" . ($page + 1) . "\">Nästa</a> ";
echo "<a href=\"{$_SERVER['PHP_SELF']}?page=$pages_tot\">Sista</a>";
} else {
echo " | Nästa ";
echo "Sista";
}
} // Slut funktion
Jag har inte provkört koden, så något galet kan du kanske stöta på.
while($rad=mysql_fetch_array($result)){
// Utskrift av raderna
}
Där det står '// Utskrift av raderna' ska du lägga in din kod som skriver ut det du hittar.
Men du får i vilket fall inga paginglänkar, så koden kan överhuvudtaget inte gå in i funktionen matain().
Vad har du för inställning på register_globals ?
Vilken PHP-version kör du?
Är du osäker, skapa en fil med följande innehåll, och kör den:
<?php phpinfo(); ?>
Sedan för att du ska kunna bläddra mellan sidorna bör du skicka ditt formulär med method="get" istället.
Dessutom måste vi för detta lägga på lite saker till dina paging-länkar. Men det är en sak vi tar sedan när du fått det andra att fungera.
Testa om du går in i funktionen med:
function matain() {
// Globaldeklarera även $page
global $namn, $inlagg, $mail, $datum, $page;
echo "Gick in i funktionen";
här är mannen som verkligen hata funktionen echo...
Kolla i phps filen... jag får fel på rad 164 å jag kan fan aldrig få till en echo rad riktigtt klokt...
Felet:
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in /home/noratx/public_html/ricky/search.php on line 164
ahh... well.. vad säger man... jag KANSKE hade upptäckt det där om det inte vore för att jag varit igång sen 04.30.. =)
4 ögon är bättre än två... =)
å vad gäller stenåldersversionen så börjar jag ju märka vad den gammla versionen gör för skit... =)
Hur är det med den nya? funkar de gammla variablerna (så som ovan nämnt) i den nya versionen?
Annars är det nog en hel del jag får ta reda på å försöka hitta sen när grejorna förs över till rätt server men nya frächa databaser... =)
Denna burk är ju bara utvecklingsmaskin där jag testar nya script... =)
RED:
Jag bytte ut till $PHP_SELF som du sa.. men det blev precis som med {$server['PHP_SELF' ]} länkarna dyker upp... men dom funkar inget vidare... =(
137 ms totalt · 3 externa anrop · v20260731065814-full.4bcf49fe