Avatar billede stengaard Praktikant
13. februar 2006 - 21:31 Der er 17 kommentarer og
1 løsning

hvad er det lige jeg gør forkert

hvad er det lige jeg gør forkert i dette scriptet der kommer kun 10 frem og jeg har ikke muligheden for at klike på næste så 10 mere kommer frem jeg ved der er 97 linier i min table

<?php

include('lib/config.php');

$offset = (isset($_GET['offset']))?mysql_real_escape_string($_GET['offset']):0;

//Pr side...
$range = 10;

$antal = mysql_result(mysql_query("SELECT count(id) FROM recipe"),0);
$sql = mysql_query("SELECT recipe_title,cat_title FROM recipe, catrecipe WHERE recipe.catID=catrecipe.catID ORDER BY recipe_title asc LIMIT $offset,$range");
           
$strNumber = 0;
while($row = mysql_fetch_array($sql))
{
    $strNumber = $strNumber+1;
  echo "<h3>".$row['recipe_title']."</h3>Kategori: ".$row['cat_title'];
}
echo '<br><br>';
if($offset >= $range)
{
    $prev = $offset - $range;
    echo "<a href=\"?offset=".$prev."\"><strong>Forrige</strong></a> | ";
}
else
{
    echo '<strong>Forrige</strong> | ';
}

if ($antal > $offset+$range)
{
    $next = $offset+$range;
    echo "<a href=\"?offset=".$next."\"><strong>Næste</strong></a> ";
}
else
{
    echo '<strong>Næste</strong> ';
}
?>
Avatar billede webstuff Nybegynder
13. februar 2006 - 21:49 #1
Prøv at tilføj dette i starten :-)

$offset = $_GET[offset];
if(empty($offset)){
$offset = 0;
}
Avatar billede webstuff Nybegynder
13. februar 2006 - 21:49 #2
Hovsa, havde ikke set du havde det med, da det var oppe i toppen ;o)
Avatar billede nielle Nybegynder
13. februar 2006 - 21:53 #3
Der er ikke rigtig overenstemmelse mellem disse to:

$antal = mysql_result(mysql_query("SELECT count(id) FROM recipe"), 0);
$sql = mysql_query("SELECT recipe_title,cat_title FROM recipe, catrecipe WHERE recipe.catID=catrecipe.catID ORDER BY recipe_title asc LIMIT $offset, $range");

WHERE delen skal være den samme hvis du skal bruge count()'et til noget.
Avatar billede nielle Nybegynder
13. februar 2006 - 21:54 #4
... altså:

$antal = mysql_result(mysql_query("SELECT count(id) FROM recipe, catrecipe WHERE recipe.catID=catrecipe.catID"), 0);
Avatar billede stengaard Praktikant
13. februar 2006 - 21:58 #5
kan det være noget med at den henter fra to tabler

en med recipe_title og en anden cat_title

tablerne

CREATE TABLE `catrecipe` (
  `catID` int(11) NOT NULL auto_increment,
  `cat_title` varchar(200) NOT NULL default '',
  PRIMARY KEY  (`catID`)
) TYPE=MyISAM AUTO_INCREMENT=15 ;

#
# Data dump for tabellen `catrecipe`
#

INSERT INTO `catrecipe` VALUES (4, 'Omelet');
INSERT INTO `catrecipe` VALUES (3, 'Bagværk');
INSERT INTO `catrecipe` VALUES (2, 'Hovedretter');
INSERT INTO `catrecipe` VALUES (1, 'Fedtfattig');
INSERT INTO `catrecipe` VALUES (5, 'Forretter');
INSERT INTO `catrecipe` VALUES (6, 'Desserter');
INSERT INTO `catrecipe` VALUES (7, 'Tilbeh&oslash;r');
INSERT INTO `catrecipe` VALUES (8, 'Orientalske');
INSERT INTO `catrecipe` VALUES (9, 'Cooktail Drinks');
INSERT INTO `catrecipe` VALUES (12, 'Slik');
INSERT INTO `catrecipe` VALUES (13, 'Suppe');
INSERT INTO `catrecipe` VALUES (14, 'Vegetar retter');

# --------------------------------------------------------

#
# Struktur dump for tabellen `recipe`
#

CREATE TABLE `recipe` (
  `recipeID` int(11) NOT NULL auto_increment,
  `recipe_title` varchar(200) NOT NULL default '',
  `recipe_ingredients` text NOT NULL,
  `recipe_portioner` text NOT NULL,
  `recipe_method` text NOT NULL,
  `recipe_note` text NOT NULL,
  `catID` int(11) NOT NULL default '0',
  PRIMARY KEY  (`recipeID`)
) TYPE=MyISAM AUTO_INCREMENT=101 ;

#
# Data dump for tabellen `recipe`
#

INSERT INTO `recipe` VALUES (10, 'Oksesteg med glaserede løg', '1 oksesteg med krølfedt på ca. 6 kg\r\nsalt og peber\r\n½ liter vand\r\nløg\r\ngulerødder\r\n\r\nkrydderurtebuket \r\n1 bdt. persille\r\n1 laurbærblad \r\n1 kvist timian\r\n\r\nGlaserede løg:\r\n\r\nCa. ¾ kg små løg\r\n75 g sukker\r\n75 g smør', '6', 'Til denne ret, okstesteg med glaserede løg, skal du afsætte god tid til madlavningen. God mad tager tid og en god oksesteg fortjener, at der er afsat den nødvendige tid til tilberedningen. Oksesteg ridses. Krydres med salt og peber. Oksesteg lægges i en bradepande og brunes ved 250 grader i 15-20 min. Varmen dæmpes til 175 grader. øgene deles og gulerødderne skæres i skiver. Krydderurtebuketten, løg og gulerødder lægges under stegen og der hældes 1 liter væde ved. Stegningen fortsættes i 2 ½ - 3 timer. Spørg slagteren angående stegetiden. Stegen tages ud af ovnen. Stegen hviler tildækket mindst 20 min. inden den skæres. Sovs Stegeskyen sies fra bradepanden over i en gryde. Spæd evt. til med mere suppe, bouillon eller vand til der er 1 ½ liter i alt. Fløde kan evt. tilsættes. Sovsen jævnes til. Glaserede løg Sukkeret smeltes gyldent i en gryde og smørret kommes i. Pillede løg tilsættes og brunes. Lad løgene blive møre', '', 2);


osv
Avatar billede stengaard Praktikant
13. februar 2006 - 22:01 #6
virker heller ikke rigtigt

              <?php

include('lib/config.php');

$offset = (isset($_GET['offset']))?mysql_real_escape_string($_GET['offset']):0;

//Pr side...
$range = 10;

$antal = mysql_result(mysql_query("SELECT count(id) FROM recipe, catrecipe WHERE recipe.catID=catrecipe.catID"), 0);
$sql = mysql_query("SELECT recipe_title,cat_title FROM recipe, catrecipe WHERE recipe.catID=catrecipe.catID ORDER BY recipe_title asc LIMIT $offset,$range");
           
$strNumber = 0;
while($row = mysql_fetch_array($sql))
{
    $strNumber = $strNumber+1;
  echo "<b>".$row['recipe_title']."</b><br>Kategori:<br>".$row['cat_title']."<br>";

}
echo '<br><br>';
if($offset >= $range)
{
    $prev = $offset - $range;
    echo "<a href=\"?offset=".$prev."\"><strong>Forrige</strong></a> | ";
}
else
{
    echo '<strong>Forrige</strong> | ';
}

if ($antal > $offset+$range)
{
    $next = $offset+$range;
    echo "<a href=\"?offset=".$next."\"><strong>Næste</strong></a> ";
}
else
{
    echo '<strong>Næste</strong> ';
}
?>
Avatar billede nielle Nybegynder
13. februar 2006 - 22:06 #7
Hvad sker der? Hvad sker der ikke? Hvad forventer du at der skal ske?
Avatar billede stengaard Praktikant
13. februar 2006 - 22:09 #8
jeg forventer at man skal kunne se 10 afgangen og klikke næste og 10 nye kommer frem eller klikke tilbage og man kommer 10 tilbage hvis manvel og mærke har klikket på næste først men det eneste der kommer frem er de første 10 og valg muligheden for at klikke på tilbage / næste virker ikke.
Avatar billede nielle Nybegynder
13. februar 2006 - 22:13 #9
Prøv at udskrive værdien af $antal:

$antal = mysql_result(mysql_query("SELECT count(id) FROM recipe, catrecipe WHERE recipe.catID=catrecipe.catID"), 0);
echo "DEBUG: " . $antal . "<br>";
Avatar billede stengaard Praktikant
13. februar 2006 - 22:16 #10
jeg vil gå ud fra at den så ville skrive hvor mange der var ialt men der står kun debug

<?php

include('lib/config.php');

$offset = (isset($_GET['offset']))?mysql_real_escape_string($_GET['offset']):0;

//Pr side...
$range = 10;

$antal = mysql_result(mysql_query("SELECT count(id) FROM recipe, catrecipe WHERE recipe.catID=catrecipe.catID"), 0);
echo "DEBUG: " . $antal . "<br>";
$sql = mysql_query("SELECT recipe_title,cat_title FROM recipe, catrecipe WHERE recipe.catID=catrecipe.catID ORDER BY recipe_title asc LIMIT $offset,$range");
           
$strNumber = 0;
while($row = mysql_fetch_array($sql))
{
    $strNumber = $strNumber+1;
  echo "<b>".$row['recipe_title']."</b><br>Kategori:<br>".$row['cat_title']."<br>";

}
echo '<br><br>';
if($offset >= $range)
{
    $prev = $offset - $range;
    echo "<a href=\"?offset=".$prev."\"><strong>Forrige</strong></a> | ";
}
else
{
    echo '<strong>Forrige</strong> | ';
}

if ($antal > $offset+$range)
{
    $next = $offset+$range;
    echo "<a href=\"?offset=".$next."\"><strong>Næste</strong></a> ";
}
else
{
    echo '<strong>Næste</strong> ';
}
?>
Avatar billede nielle Nybegynder
13. februar 2006 - 22:19 #11
Så er det jo nok der hunden ligger begravet. ;^)

Prøv dette i stedet:

$query = mysql_query("SELECT count(*) AS antal FROM recipe, catrecipe WHERE recipe.catID=catrecipe.catID") or die(mysql_error());
$row = mysql_fetch_assoc($query);
$antal = $row["anral"];
echo "DEBUG: " . $antal . "<br>";
Avatar billede nielle Nybegynder
13. februar 2006 - 22:20 #12
$antal = $row["antal"];
Avatar billede stengaard Praktikant
13. februar 2006 - 22:23 #13
så skriver den 97 og jeg har mulighed for at klikke på næste

sådan "nielle"

<?php

include('lib/config.php');

$offset = (isset($_GET['offset']))?mysql_real_escape_string($_GET['offset']):0;

//Pr side...
$range = 10;

$query = mysql_query("SELECT count(*) AS antal FROM recipe, catrecipe WHERE recipe.catID=catrecipe.catID") or die(mysql_error());
$row = mysql_fetch_assoc($query);
$antal = $row["antal"];
echo "DEBUG: " . $antal . "<br>";
$sql = mysql_query("SELECT recipe_title,cat_title FROM recipe, catrecipe WHERE recipe.catID=catrecipe.catID ORDER BY recipe_title asc LIMIT $offset,$range");
           
$strNumber = 0;
while($row = mysql_fetch_array($sql))
{
    $strNumber = $strNumber+1;
  echo "<b>".$row['recipe_title']."</b><br>Kategori:<br>".$row['cat_title']."<br>";

}
echo '<br><br>';
if($offset >= $range)
{
    $prev = $offset - $range;
    echo "<a href=\"?offset=".$prev."\"><strong>Forrige</strong></a> | ";
}
else
{
    echo '<strong>Forrige</strong> | ';
}

if ($antal > $offset+$range)
{
    $next = $offset+$range;
    echo "<a href=\"?offset=".$next."\"><strong>Næste</strong></a> ";
}
else
{
    echo '<strong>Næste</strong> ';
}
?>
Avatar billede nielle Nybegynder
13. februar 2006 - 22:26 #14
Debug-udskrivning er et stærkt værktøj :^)

Var der ellers andet?
Avatar billede stengaard Praktikant
13. februar 2006 - 22:33 #15
nej ikke lige nu kun hvis du ved noget om at upload et image som også bliver skrevet ind i mysql i en tabel uden user, så man kan få vist sin profil og eventuelt lave et nyt image ( profilbilled ) har et spørgsmål her http://www.eksperten.dk/spm/686823
Avatar billede nielle Nybegynder
13. februar 2006 - 22:37 #16
Næe det har jeg desværre ikke lige så meget tjek på :^|
Avatar billede stengaard Praktikant
13. februar 2006 - 22:42 #17
der er også ok skriv et svar og du for dine point dem har du fortjent
Avatar billede nielle Nybegynder
13. februar 2006 - 22:44 #18
Okay :^)
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

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger en IT-supporterelev til Lokal IT på Flyvestation Karup

Kræftens Bekæmpelse

IT-driftsleder

Riskpoint A/S (Riskpoint Solutions Limited)

Senior Developer

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Sektionschef for Facility Management til Forsvarets nye Digital Backbone