raar probleem met de limit

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Leroy Boerefijn

Leroy Boerefijn

12/11/2006 17:19:00
Quote Anchor link
hoi iedereen,
ik heb een ledenlijst (ik heb al 3 leden :D )
hij deed het goed.. maar ik heb bedacht om het uit te brijden zodat je maar 30 leden op een pagina kan zien.
dit is de code:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
$query
= "SELECT gb_id, functie, clanID, power FROM gebruiker ORDER BY power DESC";
$result = mysql_query($query) or die ("kon de leden niet uit de database halen");
$start = (isset($_GET['n']) and is_numeric($_GET['n'])) ? $_GET['n'] * 30 - 29 : "";
$eind = (isset($_GET['n']) and is_numeric($_GET['n'])) ? $_GET['n'] * 30 : "";
$query .= ($start != "" and $eind != "") ? " LIMIT $start, $eind" : "";
$leden = mysql_query($query) or die ("kon de leden niet uit de database halen");

while ($row = mysql_fetch_array($leden)){
echo "<tr>";
echo "<td><a href=\"?p=profiel.php&g=" . $row['gb_id'] . "\">" . $row['gb_id'] . "</a></td>";
echo "<td>";
if($row['functie']== "hadmin"){echo "hulp-admin";} else{echo $row['functie'];}
echo "</td>";
echo "<td>" . $row['clanID'] . "</td>";
echo "<td>" . $row['power'] . "</td>";
echo "<td>attack</td>";
echo "</tr>";
}

mysql_free_result($result);
?>

maar als je in de url ?n=1 typt zie je alleen de laatste 2 leden
als je in de url ?n=0 typt zie je alle leden
en als je in de url ?n=2 typt zie je geen leden (dit is normaal :P )

maar ik snap dus niet wat ik fout doe..

kan iemand mij helpen??
gr. leroy
Gewijzigd op 01/01/1970 01:00:00 door Leroy Boerefijn
 
PHP hulp

PHP hulp

18/11/2024 22:34:33
 
Kalle P

Kalle P

12/11/2006 17:21:00
Quote Anchor link
Laat sql het voor je doen.

LIMIT 0, 30
 
Leroy Boerefijn

Leroy Boerefijn

12/11/2006 17:23:00
Quote Anchor link
bedankt ik zie mijn fout :D
 
D B

D B

12/11/2006 17:26:00
Quote Anchor link
Ow ik was er ook mee bezig maar zag dat " LIMIT $start, $eind"

Bij eind heb je " er tegenaan staan... dacht dat het misschien daar aan lag


@Kalle: Hij laat het toch zijn SQL doen?

@Leroy: Wees niet te bang om je fout ook te posten :)
Gewijzigd op 01/01/1970 01:00:00 door D B
 
Kalle P

Kalle P

12/11/2006 17:32:00
Quote Anchor link
@bierens
klopt ik zag het alleen pas na 5x kijken, verschrikkelijk onduidelijke code.
Maarja wat ie tussen $query = en $query .= doet is niet nodig.

gewoon die limit erachter plakken.
 
Leroy Boerefijn

Leroy Boerefijn

12/11/2006 17:32:00
Quote Anchor link
haha ok hier is het nieuwe script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
$query
= "SELECT gb_id, functie, clanID, power FROM gebruiker ORDER BY power DESC";
$result = mysql_query($query) or die ("kon de leden niet uit de database halen");
$start = (isset($_GET['n']) and is_numeric($_GET['n'])) ? $_GET['n'] * 30 - 30 : "";
$eind = (isset($_GET['n']) and is_numeric($_GET['n'])) ? $_GET['n'] * 30 : "";
$query .= ($start != "" and $eind != "") ? " LIMIT $start, $eind" : "";
$leden = mysql_query($query) or die ("kon de leden niet uit de database halen");

while ($row = mysql_fetch_array($leden)){
  echo "<tr>";
  echo "<td><a href=\"?p=profiel.php&g=" . $row['gb_id'] . "\">" . $row['gb_id'] . "</a></td>";
  echo "<td>";
  $func = ($row['functie'] == "hadmin") ? "hulp-admin" : $row['functie'];
  echo $func;
  echo "</td>";
  echo "<td>" . $row['clanID'] . "</td>";
  echo "<td>" . $row['power'] . "</td>";
  echo "<td>attack</td>";
  echo "</tr>";
}

mysql_free_result($result);
?>

ik heb dus -30 inplaats van -29 gedaan :P
Gewijzigd op 01/01/1970 01:00:00 door Leroy Boerefijn
 
D B

D B

12/11/2006 17:33:00
Quote Anchor link
Humz lag het daar aan??

Want ik had al gekeken wat je $start en $eind terug gaven, en die gaven bij n=1 netjes 1 - 30 terug :)
 
Leroy Boerefijn

Leroy Boerefijn

12/11/2006 17:36:00
Quote Anchor link
@bierens, had ik ook gedaan maar het moet dus 0 - 30 zijn :D
@kalle, als je met onduidelijk bedoelt dat er geen commentaar bij zit.. dat komt omdat ik de code snap :D
 
Kalle P

Kalle P

12/11/2006 17:41:00
Quote Anchor link
Onder andere, maar het gaat niet omdat je de code snapt, maar dat je het snel terug kan vinden wanneer je iets gaat aanpassen.

En ik heb de code niet echt bekeken, maar die start en eind lijkt me niet echt nodig.
 
Joren de Wit

Joren de Wit

12/11/2006 17:43:00
Quote Anchor link
Ikzelf vind het naast onduidelijk, ook nog eens erg onlogisch.

Je maakt een query aan, die voer je uit, vervolgens doe je niets met dat resultaat. Dan maak je de variabele $start en $eind, breid je de query die je gemaakt hebt uit met een LIMIT en ga je hem nog eens uitvoeren.

Dus onlogisch, maar vooral ook erg onoverzichtelijk. Zo las ik ook over de LIMIT heen, omdat je de query pas 5 regels verder uitbreidt dan waar je hem begonnen bent. En daartussen heb je informatie staan die niets met de syntax van de query op zich te maken hebben.
 
Kalle P

Kalle P

12/11/2006 17:44:00
Quote Anchor link
Precies het zelfde had ik Blanche.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.