limit toevoegen aan php code

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Christian k

christian k

30/01/2014 15:28:52
Quote Anchor link
hallo allemaal,
hoe kan ik aan dit script een limit toevoegen

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
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
$user_id
    = mysqli_real_escape_string($con, $_SESSION['user_id']);
$select     = "SELECT
                  *
               FROM
                  status
               ORDER BY time DESC "
;
$queryse    = mysqli_query($con, $select);
if($queryse == false)
{

     echo '<font color="red">Error: ' . mysqli_error($con) . '</font><br>';
     exit();
}

while($row = mysqli_fetch_array($queryse))
{

     $usermessage = mysqli_real_escape_string($con, $row['user_id']);
     $check_friend= "SELECT
                        *
                     FROM
                        friends
                     WHERE
                        status='vrienden'
                     AND  
                        (
                           user_id='$user_id'
                        OR
                           friend_id='$user_id'
                        )"
;
     $querycf     = mysqli_query($con, $check_friend);
                      
     if($querycf == false)
     {

          echo '<font color="red">Error: ' . mysqli_error($con) . '</font><br>';
          exit();
     }

                    
     $controle    = mysqli_num_rows($querycf);
                                                    
     if($controle != 0)
     {

          $selectu  = "SELECT
                         *
                      FROM
                         users
                      WHERE
                         id='$usermessage'"
;
          $query    = mysqli_query($con, $selectu);
          $user     = mysqli_fetch_array($query);
                        
          if($user['profielfoto'] != '')                
          {
                
               $pf  = $user['profielfoto'];
          }
          
          else            
          {            
               $pf  = 'persoon.jpg';
          }
        
          echo '<div class="message" onclick="persoon(' . $user['id'] . ')">';
          echo '<div class="profielfoto">';
          echo '<img src="pf/' . $pf . '" height="80" width="80">';
          echo '</div><div class="name"><h2 style="float: right;">';
          echo $user['voornaam'] . ' ' . $user['achternaam'] . '</h2></div>';
          echo '<div class="txt">';
          echo $row['message'] . '</div><br>';
          echo '</div>';
     }
}

?>


het moet een limit van 25 zijn maar hoe kan ik dat toevoegen? want hij selecteerd dan maar
25 berichten uit de database
en controleert hij van de 25 berichten
of ze gestuurt zijn door een vriend
maar het probleem is als ze dat niet zijn
zal hij hem niet echoen en dus geen 25 berichten als limit laten zien
 
PHP hulp

PHP hulp

17/11/2024 05:46:06
 
Michael -

Michael -

30/01/2014 15:32:25
Quote Anchor link
Zie Mysql documentatie Select
Quote:
With two arguments, the first argument specifies the offset of the first row to return, and the second specifies the maximum number of rows to return. The offset of the initial row is 0 (not 1):
SELECT * FROM tbl LIMIT 5,10; # Retrieve rows 6-15

With one argument, the value specifies the number of rows to return from the beginning of the result set:
SELECT * FROM tbl LIMIT 5; # Retrieve first 5 rows
 
- Ariën  -
Beheerder

- Ariën -

30/01/2014 15:51:29
Quote Anchor link
PS: De font-tag mag je inmiddels wel vervangen naar CSS. ;-)
 
Michael -

Michael -

30/01/2014 15:54:57
Quote Anchor link
- Aar - op 30/01/2014 15:51:29:
PS: De font-tag mag je inmiddels wel vervangen naar CSS. ;-)

Mee eens! Maar dan val je daar wel over, maar die inline style bij H2 niet? :P
edit: .message > h2{float:right;} had ook in de css gekund
Gewijzigd op 30/01/2014 15:57:12 door Michael -
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

30/01/2014 16:10:33
Quote Anchor link
Zoals als ik in je andere topic ook al heb aangegeven kan dit vrij simpel in één query.
Je gaat eerst bepalen wie de vrienden zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
SELECT
    (CASE user_id
    WHEN 2 THEN friend_id
    ELSE user_id END) AS friend_id
FROM
    friends
WHERE status='vrienden' AND (friend_id = 2 OR user_id = 2)

Dit zet je dan in een subquery (inline view), en dan ga je de andere tabellen eraan koppelen:
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
SELECT
    f.friend_id,
    u.first_name,
    u.last_name,
    m.time,
    m.message
FROM
    (SELECT
        (CASE user_id
        WHEN 2 THEN friend_id
        ELSE user_id END) AS friend_id
    FROM
        friends
    WHERE status='vrienden' AND (friend_id = 2 OR user_id = 2)
) f
JOIN
    users u ON f.friend_id = u.user_id
JOIN
    status m ON f.friend_id = m.user_id
ORDER BY m.time DESC
LIMIT 25
 
Christian k

christian k

30/01/2014 16:11:06
Quote Anchor link
maar hoe kan ik dat verwerken in mijn phpscript dan?
als ik gewoon een limit 0, 25 toevoeg werkt het niet
mischien ben ik niet echt duidelijk geweest maar ik bedoel dat
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
23
24
25
26
27
28
29
30
<?php
 if($controle != 0)
     {

          $selectu  = "SELECT
                         *
                      FROM
                         users
                      WHERE
                         id='$usermessage'"
;
          $query    = mysqli_query($con, $selectu);
          $user     = mysqli_fetch_array($query);
                        
          if($user['profielfoto'] != '')                
          {
                
               $pf  = $user['profielfoto'];
          }
          
          else            
          {            
               $pf  = 'persoon.jpg';
          }
        
          echo '<div class="message" onclick="persoon(' . $user['id'] . ')">';
          echo '<div class="profielfoto">';
          echo '<img src="pf/' . $pf . '" height="80" width="80">';
          echo '</div><div class="name"><h2 style="float: right;">';
          echo $user['voornaam'] . ' ' . $user['achternaam'] . '</h2></div>';
          echo '<div class="txt">';
          echo $row['message'] . '</div><br>';
          echo '</div>';
     }

?>

25 keer word uitvoerd
want als er 25 berichten worden toegevoegt door mensen
die je vriend niet zijn zal er niks op je scherm komen te staan

Toevoeging op 30/01/2014 16:11:55:

ja de <font> ga ik vervangen maar de <h2> hoeft niet toch
dat is toch nog gewoon html5?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

30/01/2014 16:20:08
Quote Anchor link
Met de query uit mijn vorige reactie heb je heel die controle niet meer nodig, dit gebeurt al in de query zelf. Je krijgt dan de 25 laatste berichten van personen waarmee je bevriend bent.
 
Christian k

christian k

30/01/2014 17:00:14
Quote Anchor link
ja dit werkt hartelijk bedankt voor je goede hulp
 
Michael -

Michael -

31/01/2014 09:32:35
Quote Anchor link
Christian k op 30/01/2014 16:11:06:
Toevoeging op 30/01/2014 16:11:55:

ja de <font> ga ik vervangen maar de <h2> hoeft niet toch
dat is toch nog gewoon html5?

De <h2> kan prima. Dit heeft niks met html5 te maken, maar is gewoon html. Het gaat om de inline style. Je gaat in de h2 een style="float:right" aanmaken, met daarom heen een div, en nog een div, en nog een div... Terwijl je met één van die omliggende div's ook die float:right aan de h2 kunt toekennen. Of als je alle h2's rechts wil is dit natuurlijk helemaal makkelijk. CSS en HTML houd je gescheiden.
 
Christian k

christian k

07/02/2014 16:57:09
Quote Anchor link
sorry dat ik dit topic weer open maar ik ben erachter gekomen dat
er een probleem is met de sqlcode van Ger van Steenderen.
je kunt wel prima de berichten van je vrienden zien
maar als je zelf berichten post zie je ze zelf niet alleen je vrienden zien je bericht
en het is niet handig dat je je eigen bericht niet kan zien
weet iemand hoe ik het kan aanpassen?
dit is mijn sql 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
22
$selectf    = "SELECT
   f.friend_id,
   u.profielfoto,
   u.voornaam,
   u.achternaam,
   m.time,
   m.message
FROM
   (SELECT
      (CASE user_id
      WHEN $user_id THEN friend_id
      ELSE user_id END) AS friend_id
   FROM
      friends
   WHERE status='vrienden' AND (friend_id = '$user_id' OR user_id = '$user_id')
) f
JOIN
   users u ON f.friend_id = u.id
JOIN
   status m ON f.friend_id = m.user_id
ORDER BY m.time DESC
LIMIT $limit";
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

07/02/2014 20:17:32
Quote Anchor link
Ik weet niet waarom je het niet handig vind om je eigen berichten niet te zien, maar een probleem is het niet (mijn motto is: er zijn geen problemen alleen maar uitdagingen):
Maar wat jij wilt is vrij simpel, voeg de volgende regel toe tussen lijn 15 en 16:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
UNION SELECT $user_id
Gewijzigd op 07/02/2014 20:54:37 door Ger van Steenderen
 
Christian k

christian k

07/02/2014 21:36:11
Quote Anchor link
hahah goede motto
maar nu werkt het
hartelijk bedankt
(sorry dat ik dit probleem niet eerder zag ik had een week vakantie)
 



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.