returnen van meerdere rijen?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Joshua dsa

Joshua dsa

14/03/2017 11:26:45
Quote Anchor link
hallo,
Hoe zorg ik ervoor er meerdere rows worden returned?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php  
function test_reviews()
      {

          $database = new database();
          $q ='SELECT * FROM klanten WHERE test_reviews = 1';
          $result = $database->query($q);
          while ($rows = mysqli_fetch_assoc($result))
          {

              
              return $rows['id'];
          }
      }

?>
 
PHP hulp

PHP hulp

28/11/2024 06:04:27
 
- Ariën  -
Beheerder

- Ariën -

14/03/2017 11:53:40
Quote Anchor link
Waarom return je gewoon geen array door $rows te returnen?
Dan kan je bij het aanroepen van test_reviews() eenvoudig alle data ophalen die je maar wilt.

Verder weet ik niet hoeveel velden je tabel heeft, maar gebruik bij voorkeur geen * (joker) maar specificeer alle velden die je wilt ophalen.

Verder overschrijf je steeds $rows, dus zal je steeds het laatste item krijgen.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$result
= $database->query($q);
$data = array();
while ($row = mysqli_fetch_assoc($result)) {
    $data[] = $row;
}

              
return $data;
?>
Gewijzigd op 14/03/2017 16:07:29 door - Ariën -
 
Ward van der Put
Moderator

Ward van der Put

14/03/2017 12:21:20
Quote Anchor link
Als je MySQLi in objectgeoriënteerde stijl gebruikt — met $database = new database() gevolgd door $result = $database->query($q) — kun je daarna beter niet mysqli_fetch_assoc() in procedurele stijl gebruiken.

Verder kun je in dit geval ook mysqli_result::fetch_array gebruiken, al heeft je array dan wel een net iets andere structuur:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php  
function test_reviews()
{

    $database = new database();
    $result = $database->query('SELECT * FROM klanten WHERE test_reviews = 1');
    return $result->fetch_array();
}

?>
Gewijzigd op 14/03/2017 12:21:51 door Ward van der Put
 
Thomas van den Heuvel

Thomas van den Heuvel

14/03/2017 16:06:55
Quote Anchor link
- Ariën - op 14/03/2017 11:53:40:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
$result
= $database->query($q);
$data = array();
while ($row = mysqli_fetch_assoc($result)) {
    $data[] = $row;
}
              
return $row;
?>

Dat moest natuurlijk return $data zijn.

Ward van der Put op 14/03/2017 12:21:20:
Verder kun je in dit geval ook mysqli_result::fetch_array gebruiken, al heeft je array dan wel een net iets andere structuur:

Maar die retourneert nog steeds slechts één record.
 
- Ariën  -
Beheerder

- Ariën -

14/03/2017 16:07:48
Quote Anchor link
Quote:
Dat moest natuurlijk return $data zijn.

Juist!
 



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.