Avatar billede reflex Nybegynder
20. august 2000 - 12:32 Der er 17 kommentarer og
2 løsninger

Vis indlæg i MySQL tabel.

Hallo,

Er der en der har et lille script liggende som kan gøre følgende?

Vise indholdet i en tabel (MySQL) men f.eks. kun 10 indlæg af gangen (f.eks. som i en gæstebog).

Lave det på denne måde [Forrige][1][2][3] osv. [Næste]

/Reflex
Avatar billede apache Nybegynder
20. august 2000 - 12:44 #1
Som paa www.jub.dk naar man soeger ??

Proev at soege efter ingen ting, eller brug denne link

http://www.jub.dk/sog.php3

Er det saadan, fordi saa kan du da bare faa min kilde :)
Avatar billede andreas Nybegynder
20. august 2000 - 14:01 #2
Apache, det er jo mig der har lavet det... hehe...

Du skal bare bruge limit $start, 10 i din sql, så kan du bare definere start.
Avatar billede apache Nybegynder
20. august 2000 - 14:04 #3
Jep!! Andreas !! Den bedste php programmør på Fyn :)
Avatar billede andreas Nybegynder
20. august 2000 - 14:14 #4
Du skal da ikke bare give det videre uden at ha spurt mig først... Jeg er jo creator på det, så jeg har rettighederne på det.
Avatar billede apache Nybegynder
20. august 2000 - 14:19 #5
Okay Anderas *S*
Avatar billede giversen Nybegynder
20. august 2000 - 14:57 #6
Avatar billede reflex Nybegynder
20. august 2000 - 15:55 #7
andreas> jeg har før rodet med limit og så får jeg også de ti første op, men hvordan laver jeg så de links der går vidre i tabellen? Jeg prøvede noget med $limit+10 men det virkede ikke rigtigt!

/Reflex
Avatar billede andreas Nybegynder
20. august 2000 - 16:10 #8
$rows = \"10\"; // linier der skal hentes
if (!$pos) $pos = \"0\";
$next = $pos+$rows;
$prev = $pos-$rows;

$result = mysql_query(\"select tja from table limit $next,$rows\");

if ($next <= mysql_num_rows($result)) {
echo (\"<a href=fil.php?next=$next>Næste</a>\");
}

if ($pos >= $rows) {
echo (\"<a href=fil.php?prev=$prev>Forrige</a>\");
}
Avatar billede andreas Nybegynder
20. august 2000 - 16:12 #9
der var lige nogle fejl
---
$rows = \"10\"; // linier der skal hentes
if (!$pos) $pos = \"0\";
$next = $pos+$rows;
$prev = $pos-$rows;

$result = mysql_query(\"select tja from table limit $pos,$rows\");

if ($next <= mysql_num_rows($result)) {
echo (\"<a href=fil.php?pos=$next>Næste</a>\");
}

if ($pos >= $rows) {
echo (\"<a href=fil.php?pos=$prev>Forrige</a>\");
}
Avatar billede reflex Nybegynder
20. august 2000 - 18:08 #10
Jeg har set lidt på det, men jeg kan ikke få \"knapperne\" til at virke. Den viser de ti første indlæg når man starter scriptet op men så heller ikke mere.

/Reflex
Avatar billede andreas Nybegynder
20. august 2000 - 19:44 #11
har du over ti indlæg i databasen ??

$rows = \"10\"; // linier der skal hentes
if (!$pos) $pos = \"0\";
$next = $pos+$rows;
$prev = $pos-$rows;
$total = mysql_num_rows(mysql_query(\"select tja from table\"));

$result = mysql_query(\"select tja from table limit $pos,$rows\");

if ($total >= \"10\" && $next <= $total) {
echo (\"<a href=fil.php?pos=$next>Næste</a>\");
}

if ($pos >= $rows) {
echo (\"<a href=fil.php?pos=$prev>Forrige</a>\");

----
måske det virker.
Avatar billede andreas Nybegynder
21. august 2000 - 19:58 #12
sker der noget eller hvad...???
Avatar billede reflex Nybegynder
21. august 2000 - 21:55 #13
øøhhh jeg er ikke så hurtig :)

/Reflex
Avatar billede reflex Nybegynder
21. august 2000 - 22:04 #14
Det er ikke så meget bedre, den viser nr. 10-20 første gang den køres mens den ikke viser noget når der trykkes på næste :(

Jeg tror fejlen ligger i den del der viser indlægende, jeg må prøve at kode dem lidt om.

/Reflex
Avatar billede reflex Nybegynder
21. august 2000 - 22:19 #15
Andreas kan du ikke lige ligge en while løkke ind i dit lille script, jeg tror det er der det går galt. Jeg har rodet med flere forskellige modeller uden at få det til at virke.

Jeg håber ikke jeg be\'r om for meget.

/Reflex
Avatar billede andreas Nybegynder
22. august 2000 - 14:46 #16
kan du ikke sende dit kode til mig på andreas@freehelp.dk og så ser jeg om jeg kan få det til at virke...
Avatar billede reflex Nybegynder
24. august 2000 - 23:50 #17
Andreas> Jeg har fundet en løsning, jeg fandt et script med det jeg søgte så jeg har \"syet\" det ind i min egen kode.

Men du skal have mange tak for din hjælp!!

Giversen> Jeg kunne også godt bruge din hjælp...tak, jeg skulle jog også bruge side antal.

Mvh,
/Reflex
Avatar billede andreas Nybegynder
25. august 2000 - 19:35 #18
kan vi ikke se koden ???
Avatar billede reflex Nybegynder
25. august 2000 - 20:38 #19
Ja i må da godt se lidt kode (ikke færdig syet!)

<?
mysql_pconnect(\"adresse\",\"db-navn\",\"password\") or die(\"Can\'t connect to the SQL-server\");
mysql_select_db(\"tabellen\");

if($action == \"view\") {                                                                             

/* function for showing the data */
function search_it($name) {                                                     
                                                                       
/* some vars */                                                           
global $offset,$total,$lpp,$dir;                                             
global $table,$html_mail,$admin_name,$admin_mail;
                                                                                                                                   
/* select the data to get out of the database */ 
$query = \"select * from gaestebogen order by dato desc\";                                 
$result = mysql_query($query);                                               
$total= mysql_numrows($result);                                             
       
print \"<CENTER><FONT FACE=\\\"Verdana\\\" SIZE=\\\"-2\\\"><A HREF=\\\"$PHP_SELF.php?action=add\\\" onMouseOver=\\\"window.status=\'Add your name\';return true\\\" onMouseOut=\\\"window.status=\'\';return true\\\" TITLE=\\\"Add your name\\\">(Add your name)</A></FONT></CENTER><br><br>\";   
                                                                       
if ($total== 0) {                                                           
print \"<CENTER>At the moment there are no persons in the guestbook.</CENTER><br><br>\"; }                                                                           

elseif ($total> 0) {                                                         
     
/* default */                                                             
$counter=0;                                                               
if ($dir==\"\") $dir=\"Next\"; 
/* Her bestemmes hvor mange indlæg der vises af gangen */                                             
$lpp=5;                 
/* ---------------------------------------------------------------------------------*/                                               
if ($offset==0) $offset=0;
                                               
if ($dir==\"Next\") {   
                                                 
if ($total > $lpp) { 
                                               
$counter=$offset;                                                   
$offset+=$lpp;                                                     
$num=$offset;                                                       

if ($num > $total) {
$num=$total; } }                                                                     

else {                                                                 
$num=$total; } }                                                     

elseif ($dir==\"Previous\") {                           

if ($total > $lpp) {                               
$offset-=$lpp;
                                 
if ($offset < 0) {
$offset=0; } 
             
$counter=$offset-$lpp;                         

if ($counter < 0)
$counter=0;                   
$num=$counter+$lpp; }                                                 

else {                                             
$num=$total; } }                                                     

while ($counter < $num) {                             
$j=0;                                             
$j=$counter + 1;

/* now really grab the data */
$i1=mysql_result($result,$counter,\"navn\");
$i2=mysql_result($result,$counter,\"mail\");
$i3=mysql_result($result,$counter,\"site\");
$i4=mysql_result($result,$counter,\"text\");

$i4  =  stripslashes (\"$i4\");
 
/* print it in a nice layout */     
print \"<CENTER>\\n\";
print \"<TABLE WIDTH=400 BORDER=0 ALIGN=CENTER VALIGN=TOP><TR><TD><FONT FACE=\\\"Verdana\\\" SIZE=\\\"-2\\\">\\n\";
print \"<HR>\\n\";
print \"<B>Navn:</B> <A HREF=\\\"mailto:$i2\\\" onMouseOver=\\\"window.status=\'Email $i1\';return true\\\" onMouseOut=\\\"window.status=\'\';return true\\\" TITLE=\\\"Email $i1\\\">$i1</A>\\n\";
print \"<BR><B>Site:</B> $i3\\n\";
print \"<BR><B>Besked:</B>\\n\";
print \"<BR>$i4\\n\";
print \"</FONT></TD></TR></TABLE>\\n\";
print \"</CENTER>\\n\";
$counter++;                                               
}                                                               
}                                                                 
mysql_close();
}                                                                   
                                                                     
/* execute the function */
search_it($name);                                                   
                                                                       
/* See if we need to put on the NEXT or PREVIOUS buttons */         
if ($total > $lpp) {                                                 
echo(\"<form action=\\\"$PHP_SCRIPT\\\" method=\\\"POST\\\">\\n\");           
                                                                       
/* See if we need a PREVIOUS button */                           
if ($offset > $lpp) {                                             
echo(\"<input type=\\\"submit\\\" value=\\\"Previous\\\" name=dir>\\n\");  }     
                                                         
                                                                       
/* See if we need a NEXT button */                               
if ($offset < $total) {                                           
echo(\"<input type=\\\"submit\\\" value=\\\"Next\\\" name=dir>\\n\"); }                                                                 
                                                                   
echo(\"<input type=hidden name=\\\"offset\\\" value=\\\"$offset\\\">\\n\"); 
echo(\"<input type=hidden name=\\\"name\\\" value=\\\"$name\\\">\\n\");     
echo(\"</form>\");                                                 
}                                                                   
}
?>

Den er noget forkortet og har kun \'Next\' og \'Prev\' men den virker.

/Reflex
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