Avatar billede vind Nybegynder
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
Avatar billede zyqt Nybegynder
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
Avatar billede vind Nybegynder
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
Avatar billede vind Nybegynder
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
Avatar billede gizp Nybegynder
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!
Avatar billede gizp Nybegynder
06. november 2003 - 09:33 #5
Eller if(!$_GET["offset"]) { istedet for if($_GET["offset"] == "") {
Avatar billede vind Nybegynder
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
Avatar billede gizp Nybegynder
07. november 2003 - 12:15 #7
$query = mysql_query("SELECT * FROM opslagstavlen ORDER BY id DESC LIMIT '$offset','$offset+10'");

Prøv dette istedet...
Avatar billede vind Nybegynder
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 :)
Avatar billede gizp Nybegynder
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>";
?>
Avatar billede vind Nybegynder
08. november 2003 - 14:26 #10
ok, tror det nærmer sig.
Den kommer med en ny fejl, se: http://vinds.dk/taulov/opslagstavlen/opslagstavlen.php

Dette er linie 78: <font size='2' face='Arial'><b>$row["0"]</b></font><br>

Endnu engang tak for din tålmodighed... :)

/Vind
Avatar billede gizp Nybegynder
08. november 2003 - 14:32 #11
i mysql databasen hedder feltet med opslaget "opslag"??
Avatar billede gizp Nybegynder
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>";
?>
Avatar billede vind Nybegynder
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
Avatar billede gizp Nybegynder
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>";
?>
Avatar billede vind Nybegynder
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
Avatar billede gizp Nybegynder
08. november 2003 - 17:34 #16
Er der noget i databasen.. hvis ikke så smid lige et indlæg i..!
Avatar billede vind Nybegynder
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
Avatar billede vind Nybegynder
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.
Avatar billede gizp Nybegynder
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>";
?>
Avatar billede vind Nybegynder
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
Avatar billede gizp Nybegynder
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>";
?>
Avatar billede gizp Nybegynder
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>";
?>
Avatar billede vind Nybegynder
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
Avatar billede gizp Nybegynder
11. november 2003 - 18:51 #24
Så siger jeg mange tak!! :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Netcompany A/S

Linux Operations Engineer

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Teknologirådgiver inden for AI-området til Teknologiafdelingen

Politiets Efterretningstjeneste

PET søger softwareingeniører til Ruslandsområdet