Probleem met een variable.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Thomas de vries

thomas de vries

16/06/2011 13:05:10
Quote Anchor link
Goedendag,

Ik zit met het volgende probleem.

Ik heb een variabel die $eachPage heet.

dit is mijn gedeelte van de code waar ik het probleem mee heb.
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
<?php
$eachPage
= 10;

if(isset($_GET['a']) == "" AND ctype_digit(isset($_GET['a'])))
{
  
    $page = ($_GET['a'] -1) * $eachPage;
}

else
{
    $page = (isset($_GET['a']) -1) * $eachPage;
}


//$eachPage = 10;
$sql_klein = "SELECT id,datum,fotonaam,fotourl,fotobeschrijving FROM fotos ORDER BY datum DESC LIMIT ".$mysqli->real_escape_string($page.",".$eachPage."");
if(!$result1 = $mysqli->query($sql_klein))
{

    sqlError('Er is een fout gevonden bij het verwerken van de data.<br />Onze excuses voor het ongemak.<br />De beheerder is op de hoogte gesteld.');
    notify('Probleem met de query:'.$mysqli->error.' in foto3.php op lijn 81 op datum '.date("Y-m-d").'');    
}

?>


Zoals jullie hier zijn staat $eachPage bovenaan.
maar dan krijg ik een mysql error die luidt als dit

Probleem met de query:You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near '-10,10'

Maar als ik die $eachPage boven de sql query plaats dan krijg ik deze melding

Notice: Undefined variable: eachPage

Hoe krijg ik dit weg.

Alvast bedankt.

Thomas de Vries.

Toevoeging op 16/06/2011 14:06:11:

Edit:

Probleem is opgelost
Gewijzigd op 16/06/2011 13:06:06 door Thomas de vries
 
PHP hulp

PHP hulp

23/11/2024 21:39:52
 
- SanThe -

- SanThe -

16/06/2011 14:44:10
Quote Anchor link
Dit: isset($_GET['a']) == "" slaat nergens op.
Je vergelijkt hier een true/false met een lege string.
 
Bas Matthee

Bas Matthee

16/06/2011 14:50:19
Quote Anchor link
Het probleem is dat je de variabele $eachPage al nodig hebt ver vóór je SQL query. Zoals je in je voorbeeldcode hebt geplaatst staat de variabele op de juiste plaats. ($eachPage = 10; dus)

Verder zit er inderdaad iets raars in regel 4. Je kijkt of $_GET['a'] bestaat, (dit geeft een true of false terug) welke je vervolgens gaat vergelijken met "".
 
- SanThe -

- SanThe -

16/06/2011 14:53:07
Quote Anchor link
En dit: $page = (isset($_GET['a']) -1) * $eachPage;
Geeft $page = 0 of $page = -10
Gewijzigd op 16/06/2011 14:53:55 door - SanThe -
 
Bas Matthee

Bas Matthee

16/06/2011 14:56:21
Quote Anchor link
Waardoor je in je query dus een limit van -10,10 krijgt, wat je SQL-error verklaart.

SQL wil in jouw geval vanaf rij -10, 10 rijen ophalen. Dit moet 0,10 worden. (Voor de eerste 10 rijen (rij 0 tot en met 9).
 
Thomas de vries

thomas de vries

16/06/2011 16:04:09
Quote Anchor link
ja idd heb het nu opgelost.
Had $page op 0 moeten zetten.
Dus gedaan en probleem op gelost.
Ook met die isset($_GET['a'] goed gezet.

In ieder geval bedankt
Gewijzigd op 16/06/2011 16:04:23 door thomas de vries
 



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.