Forum » Server-Side scripting » Reacties weergeven fout.
Leert scripten!
Berichten: 236
avatar
Offline Stuur privebericht
Heey allemaal,

Ik bouw momenteel een forum, en het werkt. Reactie systeem werkte ook, maar nu moet ik er een pagina systeem in bouwen. Dit werkt alleen niet. Zie de code.

Hij laat de reacties niet meer zien. De fout zit hem bij de query $ophalen, want als ik daar $start weg haal komen de reacties weer. Dit systeem moet 5 reacties per pagina laten zien.

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/************************************************************
 *    Pagina's
************************************************************/        
$_GET'pnr' ] = ( !isset( $_GET'pnr' ] ) || $_GET'pnr' ] == '' || $_GET'pnr' ] == || !is_numeric$_GET'pnr' ] ) ) ? $_GET'pnr' ];

if( 
$_GET'pnr' ] > ) {
    
    
$_GET'pnr' ]--;
    
}

$start $_GET'pnr' ] * 5;

/************************************************************
 *    Reacties
************************************************************/

$ophalen mysql_query("SELECT * FROM `forum_reacties` WHERE `topic_id` = '" $topic_id "' ORDER BY datum LIMIT '" $start "', 5");

$reacties = array( );

while( 
$output mysql_fetch_assoc$ophalen ) ) {

$ophalen1 mysql_query(" SELECT * FROM forum_reacties WHERE topic_id = '" $topic_id "'");
$telreacties          mysql_num_rows($ophalen1);

    
$reacties[] = array(
                            
'id'                =>  $output'id' ],
                            
'reactieauteur'    => htmlspecialcharsstripslashes(  $output'reactie_auteur' ] ) ),
                            
'bericht'    =>  stripslashesbbhtml2(  $output'reactie_bericht' ] ) ),
                            
'aantal'    =>  stripslashes$telreacties ),
                            
'datum'                => htmlspecialcharsstripslashes(  $output'datum' ] ) )
                        );
    

}


$core'tpl' ]->assign'reacties'$reacties );

/************************************************************
 *    Pagina's
************************************************************/
$pq mysql_query"SELECT count( id ) FROM forum_reacties WHERE `topic_id` = '" $topic_id "'" );
                    
$paginas ceilmysql_result$pq0) / );

$core'tpl' ]->assign'paginas'$paginas );
?>


Met vriendelijke groeten, mentimjojo
Laatst gewijzigd door mentimjojo op 2012-01-29 16:09:35
29-01-2012 16:07
Dit topic is 273 keer bekeken door 53 verschillende leden
Reacties op: "Reacties weergeven fout."
1 | 2 Volgende pagina
world-of-maffia.nl
Berichten: 744
avatar
Offline Stuur privébericht
Code | Selecteer Alles
minimaliseren
1
ORDER BY datum LIMIT '" . $start . "'5");


Moet zijn
Code | Selecteer Alles
minimaliseren
1
ORDER BY datum LIMIT '" . $start . "'");


Dit omdat je bij start al de 5 hebt staan:
Code | Selecteer Alles
minimaliseren
1
$start $_GET'pnr' ] * 5;
29-01-2012 16:19
Leert scripten!
Berichten: 236
avatar
Offline Stuur privébericht
oke, geprobeerd. Maar werkt ook niet.
29-01-2012 16:25
world-of-maffia.nl
Berichten: 744
avatar
Offline Stuur privébericht
Waarom gebruik je 2 keer de zelfde Query? ophalen en ophalen1

en 2 keer reacties array?

Nieuwe reactie samengevoegd met originele reactie op 29.01.12 16:33:20:
probeer dit eens:

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
/************************************************************ 
 *    Pagina's 
************************************************************/         
$_GET'pnr' ] = ( !isset( $_GET'pnr' ] ) || $_GET'pnr' ] == '' || $_GET'pnr' ] == || !is_numeric$_GET'pnr' ] ) ) ? $_GET'pnr' ]; 

if( 
$_GET'pnr' ] > ) { 
     
    
$_GET'pnr' ]--; 
     


$start $_GET'pnr' ] * 5

/************************************************************ 
 *    Reacties 
************************************************************/ 

$ophalen mysql_query("SELECT * FROM `forum_reacties` WHERE `topic_id` = '" $topic_id "' ORDER BY datum LIMIT '" $start "', 5"); 
$telreacties          mysql_num_rows($ophalen); 
while( 
$output mysql_fetch_assoc$ophalen ) ) { 

    
$reacties[] = array( 
                            
'id'                =>  $output'id' ], 
                            
'reactieauteur'    => htmlspecialcharsstripslashes(  $output'reactie_auteur' ] ) ), 
                            
'bericht'    =>  stripslashesbbhtml2(  $output'reactie_bericht' ] ) ), 
                            
'aantal'    =>  stripslashes$telreacties ), 
                            
'datum'                => htmlspecialcharsstripslashes(  $output'datum' ] ) ) 
                        ); 
     




$core'tpl' ]->assign'reacties'$reacties ); 

/************************************************************ 
 *    Pagina's 
************************************************************/ 
$pq mysql_query"SELECT count( id ) FROM forum_reacties WHERE `topic_id` = '" $topic_id "'" ); 
                     
$paginas ceilmysql_result$pq0) / ); 

$core'tpl' ]->assign'paginas'$paginas );
29-01-2012 16:28
Leert scripten!
Berichten: 236
avatar
Offline Stuur privébericht
Werkt ook al niet, helaas
29-01-2012 16:42
Luc
devow.nl
Berichten: 1592
avatar
Online Stuur privébericht
Code | Selecteer Alles
minimaliseren
1
$start = (isset($_GET['pnr'])) ? ($_GET['pnr']*5) : 0;


Probeer dit eens?

edit:
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
/************************************************************ 
 *    Pagina's 
************************************************************/          

if(isset($_GET['pnr']))
{
    if( 
$_GET['pnr'] > )
    { 
        
$_GET['pnr']--; 
    } 
    
$start $_GET['pnr'] * 5
}
else
{
    
$start 0;
}

/************************************************************ 
 *    Reacties 
************************************************************/ 

$ophalen mysql_query("SELECT * FROM `forum_reacties` WHERE `topic_id` = '" $topic_id "' ORDER BY datum LIMIT '" $start "', 5") or die(mysql_error()); 
$telreacties          mysql_num_rows($ophalen); 
while( 
$output mysql_fetch_assoc$ophalen ) ) { 

    
$reacties[] = array( 
                            
'id'                =>  $output'id' ], 
                            
'reactieauteur'    => htmlspecialcharsstripslashes(  $output'reactie_auteur' ] ) ), 
                            
'bericht'    =>  stripslashesbbhtml2(  $output'reactie_bericht' ] ) ), 
                            
'aantal'    =>  stripslashes$telreacties ), 
                            
'datum'                => htmlspecialcharsstripslashes(  $output'datum' ] ) ) 
                        ); 
     




$core'tpl' ]->assign'reacties'$reacties ); 

/************************************************************ 
 *    Pagina's 
************************************************************/ 
$pq mysql_query"SELECT count( id ) FROM forum_reacties WHERE `topic_id` = '" $topic_id "'" ); 
                     
$paginas ceilmysql_result$pq0) / ); 

$core'tpl' ]->assign'paginas'$paginas );
?>
29-01-2012 17:08
Berichten: 2778
avatar
Offline Stuur privébericht
Code | Selecteer Alles
minimaliseren
1
$core['tpl']->assign()


Ligt het daar niet aan? Waarom heb je spaties in $core[ 'tpl' ] staan, is nergens voor nodig .
29-01-2012 18:25
Leert scripten!
Berichten: 236
avatar
Offline Stuur privébericht
Nee ligt het niet aan, plus het is netter.

En bij luc zijn optie krijg ik :

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 ''0', 5' at line 1
29-01-2012 18:52
Luc
devow.nl
Berichten: 1592
avatar
Online Stuur privébericht
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
/************************************************************ 
 *    Pagina's 
************************************************************/          

if(isset($_GET['pnr']))
{
    if( 
$_GET['pnr'] > )
    { 
        
$_GET['pnr']--; 
    } 
    
$start $_GET['pnr'] * 5
}
else
{
    
$start 0;
}

/************************************************************ 
 *    Reacties 
************************************************************/ 

$ophalen mysql_query("SELECT * FROM `forum_reacties` WHERE `topic_id` = '" $topic_id "' ORDER BY datum LIMIT "$start .", 5") or die(mysql_error()); 
$telreacties          mysql_num_rows($ophalen); 
while( 
$output mysql_fetch_assoc$ophalen ) ) { 

    
$reacties[] = array( 
                            
'id'                =>  $output'id' ], 
                            
'reactieauteur'    => htmlspecialcharsstripslashes(  $output'reactie_auteur' ] ) ), 
                            
'bericht'    =>  stripslashesbbhtml2(  $output'reactie_bericht' ] ) ), 
                            
'aantal'    =>  stripslashes$telreacties ), 
                            
'datum'                => htmlspecialcharsstripslashes(  $output'datum' ] ) ) 
                        ); 
     




$core'tpl' ]->assign'reacties'$reacties ); 

/************************************************************ 
 *    Pagina's 
************************************************************/ 
$pq mysql_query"SELECT count( id ) FROM forum_reacties WHERE `topic_id` = '" $topic_id "'" ); 
                     
$paginas ceilmysql_result$pq0) / ); 

$core'tpl' ]->assign'paginas'$paginas );
?>


Dit zal dan moeten werken, aangezien hij anders het getal als string ziet.
29-01-2012 20:52
Leert scripten!
Berichten: 236
avatar
Offline Stuur privébericht
Hey,

Het werkt, Bedankt.

Gr, tim.
30-01-2012 15:39
Luc
devow.nl
Berichten: 1592
avatar
Online Stuur privébericht
Het werkt blijkbaar nog niet. Wanneer hij mijn systeem gebruikt krijgt hij op pagina 2, nog altijd de berichten van pagina 1.
30-01-2012 16:42
Reageer op: "Reacties weergeven fout."
1 | 2 Volgende pagina
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden