26. juni 2004 - 02:33
Der er
30 kommentarer
Vis 10 nyheder, og så lave en knap med frem og tilbage
Hvordan laver jeg det med denne kode, så jeg kan se 10 nyheder på siden, og der så automatisk bliver lavet en ny side, med 10 mere. osv. <?php $connection = mysql_connect("HOST", "USERS", "PASSWORD"); mysql_select_db("DATABASE", $connection); $retultat = mysql_query("SELECT * FROM nyheder order by id desc"); while($row = mysql_fetch_array($retultat)){ echo "Overskrift: <font size=4>$row[overskrift]</font><br>"; echo "Indsendt af: "; echo "<b>$row[navn]</b><br>"; echo "Nyhed: $row[nyhed]<br>"; echo "<hr>"; } ?>
Annonceindlæg fra Computerworld it-jobbank
Godaften... Tag en backup af din fil - og test: <?php $connection = mysql_connect("HOST", "USERS", "PASSWORD"); mysql_select_db("DATABASE", $connection); $prside = 10; if(isset($_GET['s]')) { $start = $_GET['s']; } else { $start = 0; } $retultat = mysql_query("SELECT * FROM nyheder order by id desc limit $start, $prside"); while($row = mysql_fetch_array($retultat)){ echo "Overskrift: <font size=4>$row[overskrift]</font><br>"; echo "Indsendt af: "; echo "<b>$row[navn]</b><br>"; echo "Nyhed: $row[nyhed]<br>"; echo "<hr>"; } $PHP_SELF = $_SERVER['PHP_SELF']; $naeste = $s + $prside; echo "<a href='$PHP_SELF?s=$naeste'>Næste</a>"; ?> Det er utestet, så sig lige om det funker :)
if(isset($_GET['s'])) { den sidst ' havde lige skuppet sig en plads
på den igen, linje 64 $naeste = $s + $prside; Hvordan laver jeg så en tilbage også
Der skal nok lige tilføjes en enkelt linie: $s = $_GET['s']; $PHP_SELF = $_SERVER['PHP_SELF']; $naeste = $s + $prside;
en tilbage kan du så lave ved: $s = $_GET['s']; $PHP_SELF = $_SERVER['PHP_SELF']; $naeste = $s + $prside; $tilbage = $s - $prside; echo "<a href='$PHP_SELF?s=$naeste'>Næste</a>"; echo "<a href='$PHP_SELF?s=$tilbage'>Tilbage</a>";
Undefined index: s in C:\webhotel\test.ravstedbynet.dk\nyheder1.php on line 63 Linje 63: $s = $_GET['s']; $PHP_SELF = $_SERVER['PHP_SELF']; $naeste = $s + $prside; Linje 66: echo "<a href='$PHP_SELF?s=$naeste'>Næste</a>";
26. juni 2004 - 03:07
#10
kan man gøre sådan så man ikke kan gå længere tilbage end til 0
26. juni 2004 - 03:11
#11
fejlen på linje 63 kommer først når man skrive nyheder1.php men ikke hvis du skriver nyheder1.php?s=0
26. juni 2004 - 03:12
#12
Ja, nemlig... Jeg skal lige have 2 minutter, klokken har passeret dér, hvor jeg kan lave det direkte fra hovedet :)
26. juni 2004 - 03:13
#13
er bare helt i orden
26. juni 2004 - 03:19
#14
Opdaterede lige det hele, så prøv: <?php $connection = mysql_connect("HOST", "USERS", "PASSWORD"); mysql_select_db("DATABASE", $connection); $prside = 10; if(isset($_GET['s]')) { $start = $_GET['s']; } else { $start = 0; $s = 0; } $retultat = mysql_query("SELECT * FROM nyheder order by id desc limit $start, $prside"); while($row = mysql_fetch_array($retultat)){ echo "Overskrift: <font size=4>$row[overskrift]</font><br>"; echo "Indsendt af: "; echo "<b>$row[navn]</b><br>"; echo "Nyhed: $row[nyhed]<br>"; echo "<hr>"; } $antal = mysql_num_rows($resultat); //vi tæller antallet af indlæg $s = $_GET['s']; $PHP_SELF = $_SERVER['PHP_SELF']; $naeste = $s + $prside; $tilbage = $s - $prside; if($naeste <= $antal) { echo "<a href='$PHP_SELF?s=$naeste'>Næste</a>"; } if($tilbage >= 0) { echo "<a href='$PHP_SELF?s=$tilbage'>Tilbage</a>"; } ?>
26. juni 2004 - 03:23
#15
Fejl på linje 65
http://test.ravstedbynet.dk/nyheder1.php Linje 65: $antal = mysql_num_rows($resultat); //vi tæller antallet af indlæg
$s = $_GET['s'];
$PHP_SELF = $_SERVER['PHP_SELF'];
$naeste = $s + $prside;
$tilbage = $s - $prside;
if($naeste <= $antal) {
echo "<a href='$PHP_SELF?s=$naeste'>Næste</a>";
}
if($tilbage >= 0) {
echo "<a href='$PHP_SELF?s=$tilbage'>Tilbage</a>";
}
26. juni 2004 - 03:25
#16
ahhh, der læste jeg for hurtigt... Du har skrevet "retultat" hvilket jeg læste som resultat - så den skal se sådan ud: $antal = mysql_num_rows($retultat); //vi tæller antallet af indlæg
26. juni 2004 - 03:28
#17
så er der kun det S tilbage, skal jeg skrive nyheder.php?=0 før det går væk, eller kan man fjerne det på andre måder
26. juni 2004 - 03:29
#18
Du har set, at jeg har tilføjet: $s = 0; på linie 9 ca. ikke? Det troede jeg faktisk ville have løst det problem også...
26. juni 2004 - 03:31
#19
hvis ikke så lade vi det bare være, det er jo kun linket fra forsiden jeg skal lave om, det er jo ikke på alle sider
26. juni 2004 - 04:07
#21
Ja, læste den godt tidligere på aftenen... Hvad er det, du ikke kan få til at funke? Og fejl-meddelelser eller lign? :)
26. juni 2004 - 04:16
#22
nej, hvor den skal sættes ind i selve koden
26. juni 2004 - 04:19
#23
jeg kan forresten kun se side 1 og side 2, så laver den ikke flere
26. juni 2004 - 04:28
#24
Okey, prøv lige (bare for at se hvor det går i fisk) at indsætte: echo $antal . " " . $naeste; under linien: $tilbage = $s - $prside; ...og så må jeg kigge på det i morgen, for nu kan jeg simpelthen ikke se ud af øjnene mere. Det andet, med det andet spørgsmål, kan jeg også sagtens vise dig hvordan det gøres... Men sov godt :)
26. juni 2004 - 04:37
#25
du skal vist flere points efter alt det her
26. juni 2004 - 04:39
#26
men hvordan
26. juni 2004 - 17:20
#27
Der sker ikke noget
26. juni 2004 - 23:00
#28
Nej, ok... Sætter det lige op i min egen database, øjeblik...
26. juni 2004 - 23:33
#29
Sådan, prøv den her: (har ændret et par små-ting) <?php $connection = mysql_connect("HOST", "USERS", "PASSWORD"); mysql_select_db("DATABASE", $connection); $prside = 10; if(isset($_GET['s'])) { $start = $_GET['s']; $s = $_GET['s']; } else { $start = 0; $s = 0; } $retultat = mysql_query("SELECT * FROM nyheder order by id desc limit $start, $prside"); while($row = mysql_fetch_array($retultat)){ echo "Overskrift: <font size=4>$row[overskrift]</font><br>"; echo "Indsendt af: "; echo "<b>$row[navn]</b><br>"; echo "Nyhed: $row[nyhed]<br>"; echo "<hr>"; } $antal = mysql_num_rows(mysql_query("SELECT * FROM nyheder order by id desc")); $PHP_SELF = $_SERVER['PHP_SELF']; $naeste = $s + $prside; $tilbage = $s - $prside; echo $naeste . "<br>"; echo "antal:" . $antal; if($naeste < $antal) { echo "<a href='$PHP_SELF?s=$naeste'>Næste</a>"; } if($tilbage >= 0) { echo "<a href='$PHP_SELF?s=$tilbage'>Tilbage</a>"; } ?> Og hvad var det så ellers du tænkte på? Er det sådan en "linie" hvor man kan se hvor mange sider der er, og så vælge dér også???
26. juni 2004 - 23:51
#30
Hvis du vil have siderne med, så kan du prøve den her: <?php $connection = mysql_connect("HOST", "USERS", "PASSWORD"); mysql_select_db("DATABASE", $connection); $prside = 10; if(isset($_GET['s'])) { $start = $_GET['s']; $s = $_GET['s']; } else { $start = 0; $s = 0; } $retultat = mysql_query("SELECT * FROM nyheder order by id desc limit $start, $prside"); while($row = mysql_fetch_array($retultat)){ echo "Overskrift: <font size=4>$row[overskrift]</font><br>"; echo "Indsendt af: "; echo "<b>$row[navn]</b><br>"; echo "Nyhed: $row[nyhed]<br>"; echo "<hr>"; } //variabler til næste/tilbage $antal = mysql_num_rows(mysql_query("SELECT * FROM nyheder order by id desc")); $PHP_SELF = $_SERVER['PHP_SELF']; $naeste = $s + $prside; $tilbage = $s - $prside; $antal_sider = ceil($antal / $prside); //næste-knappen if($naeste < $antal) { echo "<a href='$PHP_SELF?s=$naeste'>Næste</a>"; } else { echo "Næste"; } //side 1, 2, 3 etc. for($i = 1; $i <= $antal_sider; $i++) { $page = ($i * $prside) - $prside; if($page != $s) { echo " <a href='" . $_SERVER['PHP_SELF'] . "?s=$page'>" . $i . "</a> "; } else { echo " <b>$i</b> "; } } // tilbage-knappen if($tilbage >= 0) { echo "<a href='$PHP_SELF?s=$tilbage'>Tilbage</a>"; } else { echo "Tilbage"; } ?>
Vi tilbyder markedets bedste kurser inden for webudvikling