05. november 2003 - 14:45
Der er
23 kommentarer og 1 løsning
Ændring af tagwall-script
Hej alle eksperter. Jeg har dette script, som henter nogle indlæg i min MySQL-database: <? $connection = mysql_connect("localhost","1goweb90181","***********"); mysql_select_db("1goweb90181", $connection); $query = mysql_query("SELECT * FROM opslagstavlen ORDER BY id DESC LIMIT 0,6"); while($row = mysql_fetch_array($query)) { echo" <p align='center'><br> <font size='2' face='Arial'><b>$row[opslag]</b></font><br> <font size='2' face='Arial'>Skrevet af: <i>$row[navn]</i> - d. $row[dato]</font> <br><br><br> "; } ?> I tabellen er der følgende felter: id, navn, opslag, dato. I stedet for bare at vise de seneste 6 indlæg, vil jeg gerne have scriptet til at lave nye "sider" med de gamle indlæg. Fx. på første side vises de 10 nyeste indlæg, og nederst kan man så fx klikke side 2, og se de 10 efterfølgende indlæg osv. osv. Er det muligt at sætte ind i overstående php-kode? Jeg er ikke særlig stærk i php-kodning, så håber at der er nogle, der ud fra det nuværende script, der ved hvad det skal tilsættes for at lave flere sider. Venlig hilsen Andreas Vind
Annonceindlæg tema
Offentlig digitalisering
Fra effektivisering til digital suverænitet. Hvordan skaber det offentlige en digital fremtid med AI, sikkerhed og kontrol i centrum?
05. november 2003 - 17:06
#1
$query = mysql_query("SELECT * FROM opslagstavlen ORDER BY id DESC LIMIT $offset,$offset+10"); Så skal du bare lave et link hvor du sætter $offset i fx: "<a href=$PHP_SELF?offset=20>Næste side</a>" så vil den vise indlæg 20-30
05. november 2003 - 19:40
#2
Tak for dit svar - det virker ikke helt endnu.
Nu kommer den med denne fejlmelding - se link:
http://vinds.dk/taulov/opslagstavlen/opslagstavlen.php Scriptet er sat sådan op:
<?
$connection = mysql_connect("localhost","1goweb90181","201185");
mysql_select_db("1goweb90181", $connection);
$query = mysql_query("SELECT * FROM opslagstavlen ORDER BY id DESC LIMIT $offset,$offset+10");
while($row = mysql_fetch_array($query)) {
echo"
<p align='center'><br>
<font size='2' face='Arial'><b>$row[opslag]</b></font><br>
<font size='2' face='Arial'>Skrevet af: <i>$row[navn]</i> - d. $row[dato]</font>
<br><br><br>
";
echo"
<font size='2' face='Arial'><a href=$PHP_SELF?offset=20>Se de næste 10 indlæg</a></font>";
}
?>
Hvad mon jeg har gjort galt? :)
Vh.
Vind
05. november 2003 - 19:41
#3
For en god ordens skyld, så er dette linie 74, som fejlmeldingen beskriver: while($row = mysql_fetch_array($query)) { /Vind
06. november 2003 - 09:32
#4
indsæt følgnede øverst i koden: if($_GET["offset"] == "") { $offset = "0"; } Og følgende nederst: $offset = $offset+10; echo "<a href=$PHP_SELF?offset=$offset>Næste</a>"; Det burde hjælpe!
06. november 2003 - 09:33
#5
Eller if(!$_GET["offset"]) { istedet for if($_GET["offset"] == "") {
06. november 2003 - 21:04
#6
hmm... Den kommer stadig med den samme fejlmelding:
http://vinds.dk/taulov/opslagstavlen/opslagstavlen.php Og det er stadig linie 74 der er noget i vejen med.
while($row = mysql_fetch_array($query)) {
Scriptet ser således ud nu:
<?
$connection = mysql_connect("localhost","1goweb90181","201185");
mysql_select_db("1goweb90181", $connection);
$query = mysql_query("SELECT * FROM opslagstavlen ORDER BY id DESC LIMIT $offset,$offset+10");
while($row = mysql_fetch_array($query)) {
if(!$_GET["offset"])
echo"
<p align='center'><br>
<font size='2' face='Arial'><b>$row[opslag]</b></font><br>
<font size='2' face='Arial'>Skrevet af: <i>$row[navn]</i> - d. $row[dato]</font>
<br><br><br>
";
$offset = $offset+10;
echo"
<font size='2' face='Arial'><a href=$PHP_SELF?offset=$offset>Se de næste 10 indlæg</a></font>";
}
?>
Tak for din tålmodighed og hjælpsomhed - lækkert! :)
/Vind
07. november 2003 - 12:15
#7
$query = mysql_query("SELECT * FROM opslagstavlen ORDER BY id DESC LIMIT '$offset','$offset+10'"); Prøv dette istedet...
07. november 2003 - 14:16
#8
Hm, den kommer med samme fejlmelding igen. Kan det virkelig have noget at gøre med linie 74, som den beskriver, altså: while($row = mysql_fetch_array($query)) { . Det kan jeg bare ikke forstå, da den linie har været der hele tiden, også før, hvor det hele virkede. /Vind :)
08. november 2003 - 14:17
#9
Den kommer med fejlen fordi $query ikke indeholder noget... Men prøv lige dette: <? if($_GET["offset"] == "") { $offset = "0"; } $connection = mysql_connect("localhost","1goweb90181","201185"); mysql_select_db("1goweb90181"); $query = mysql_select("SELECT opslag,navn,dato,id FROM opslagstavlen ORDER BY id DESC LIMIT '$offset','$offset+10'"); while($row = mysql_fetch_array($query)) { echo"<p align='center'><br> <font size='2' face='Arial'><b>$row["0"]</b></font><br> <font size='2' face='Arial'>Skrevet af: <i>$row["1"]</i> - d. $row["2"]</font> <br><br"; } $offset = $offset+10; echo "<font size='2' face='Arial'><a href=$PHP_SELF?offset=$offset>Se de næste 10 indlæg</a></font>"; ?>
08. november 2003 - 14:32
#11
i mysql databasen hedder feltet med opslaget "opslag"??
08. november 2003 - 14:35
#12
Ahh... Sådan..: <? if($_GET["offset"] == "") { $offset = "0"; } $connection = mysql_connect("localhost","1goweb90181","201185"); mysql_select_db("1goweb90181"); $query = mysql_select("SELECT opslag,navn,dato,id FROM opslagstavlen ORDER BY id DESC LIMIT '$offset','$offset+10'"); while($row = mysql_fetch_array($query)) { echo "<p align='center'><br> <font size='2' face='Arial'><b>$row[0]</b></font><br> <font size='2' face='Arial'>Skrevet af: <i>$row[1]</i> - d. $row[2]</font> <br><br"; } $offset = $offset+10; echo "<font size='2' face='Arial'><a href=$PHP_SELF?offset=$offset>Se de næste 10 indlæg</a></font>"; ?>
08. november 2003 - 14:54
#13
Ny fejlmelding:
http://vinds.dk/taulov/opslagstavlen/opslagstavlen.php Linie 75: $query = mysql_select("SELECT opslag,navn,dato,id FROM opslagstavlen ORDER BY id DESC LIMIT '$offset','$offset+10'");
Det må nærme sig det rigtige siden at det er en ny fejl, altså at det ikke er den samme fejl hver gang.
/Vind
08. november 2003 - 16:37
#14
Okay.. min fejl skrev mysql_select istedet for mysql_query.. så: <? if($_GET["offset"] == "") { $offset = "0"; } $connection = mysql_connect("localhost","1goweb90181","201185"); mysql_select_db("1goweb90181"); $query = mysql_query("SELECT opslag,navn,dato,id FROM opslagstavlen ORDER BY id DESC LIMIT '$offset','$offset+10'"); while($row = mysql_fetch_array($query)) { echo "<p align='center'><br> <font size='2' face='Arial'><b>$row[0]</b></font><br> <font size='2' face='Arial'>Skrevet af: <i>$row[1]</i> - d. $row[2]</font> <br><br"; } $offset = $offset+10; echo "<font size='2' face='Arial'><a href=$PHP_SELF?offset=$offset>Se de næste 10 indlæg</a></font>"; ?>
08. november 2003 - 16:45
#15
Okay, nu begynder linket at vise sig, men den kommer stadig med en fejl. Linie 76: while($row = mysql_fetch_array($query)) { Jeg er næsten ked af at skulle blive ved at med at bruge din tid, men håber du er klar over hvor taknemmelig jeg er over din hjælp! :) /Vind
08. november 2003 - 17:34
#16
Er der noget i databasen.. hvis ikke så smid lige et indlæg i..!
08. november 2003 - 18:27
#17
Den er fyldt op med flere indlæg og har været det hele tiden.
Kan det have noget at gøre med mine rækker, deres type??
Se screendump her:
http://www.vinds.dk/thumb-database.jpg /Vind
09. november 2003 - 16:49
#18
Jeg vil ikke "hunse" med dig - overhovedet! - men sig lige til, hvis du ikke har tid til at arbejde videre med fejlen, for så finder jeg ud af noget. Men hvis du har tid - og lyst! - så tager du bare den tid du har brug for!! :) :) Venlig hilsen Andreas.
10. november 2003 - 14:13
#19
Kan godt nok ikke se hvad fejlen er... Men prøv lige dette, har fjernet LIMIT delen da jeg tror det er der fejlen ligger..! <? if(!$_GET["offset"]) { $offset = "0"; } $connection = mysql_connect("localhost","1goweb90181","201185"); mysql_select_db("1goweb90181"); $query = mysql_query("SELECT opslag,navn,dato,id FROM opslagstavlen ORDER BY id DESC"); while($row = mysql_fetch_array($query)) { echo "<p align='center'><br> <font size='2' face='Arial'><b>$row[0]</b></font><br> <font size='2' face='Arial'>Skrevet af: <i>$row[1]</i> - d. $row[2]</font> <br><br"; } $offset = $offset+10; echo "<font size='2' face='Arial'><a href=$PHP_SELF?offset=$offset>Se de næste 10 indlæg</a></font>"; ?>
10. november 2003 - 16:44
#20
Ja for dælen! Nu virker det! Men den viser bare alle indlæg, i stedet for kun de ti... :) Det er da et skridt på vej! :) /Vind
11. november 2003 - 14:39
#21
<? if(!$_GET["offset"]) { $offset = "0"; } else { $offset = $_GET["offset"]; } $next = $offset+10; $connection = mysql_connect("localhost","1goweb90181","201185"); mysql_select_db("1goweb90181"); $query = mysql_query("SELECT opslag,navn,dato,id FROM opslagstavlen ORDER BY id DESC LIMIT $offset,'$next"); while($row = mysql_fetch_array($query)) { echo "<p align='center'><br> <font size='2' face='Arial'><b>$row[0]</b></font><br> <font size='2' face='Arial'>Skrevet af: <i>$row[1]</i> - d. $row[2]</font> <br><br"; } $offset = $offset+10; echo "<font size='2' face='Arial'><a href=$PHP_SELF?offset=$offset>Se de næste 10 indlæg</a></font>"; ?>
11. november 2003 - 14:41
#22
Ups... lige en fejl, men er rettet herunder: <? if(!$_GET["offset"]) { $offset = "0"; } else { $offset = $_GET["offset"]; } $next = $offset+10; $connection = mysql_connect("localhost","1goweb90181","201185"); mysql_select_db("1goweb90181"); $query = mysql_query("SELECT opslag,navn,dato,id FROM opslagstavlen ORDER BY id DESC LIMIT $offset,$next"); while($row = mysql_fetch_array($query)) { echo "<p align='center'><br> <font size='2' face='Arial'><b>$row[0]</b></font><br> <font size='2' face='Arial'>Skrevet af: <i>$row[1]</i> - d. $row[2]</font> <br><br"; } $offset = $offset+10; echo "<font size='2' face='Arial'><a href=$PHP_SELF?offset=$offset>Se de næste 10 indlæg</a></font>"; ?>
11. november 2003 - 16:54
#23
SUPER! Nu virker det simpelthen perfekt! Mange, mange tak for din tålmodighed og hjælpsomhed - virkelig fedt!! Har lige forhøjet points'ne lidt, det fortjener du... :) Mvh. Andreas Vind
11. november 2003 - 18:51
#24
Så siger jeg mange tak!! :o)
Vi tilbyder markedets bedste kurser inden for webudvikling