Weten of er records in een dbase_table staan

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Arno van Zanten

Arno van Zanten

06/04/2023 16:54:10
Quote Anchor link
Ik wil een nieuwe functie doen, maar ik snap deze nog niet geheel.
BV: Users overzicht.

Hij moet eerst kijken of er wel records in de table van users records zijn.
Zo niet, geef aan geen records found, Zo wel, laat de records zien.

Ik weet wel hoe ik records kan opvragen en die outputten, maar om eerst te kijken of er wel records zijn, daar ben ik nog niet zo mee bezig geweest.

Kan iemand in het kort vertellen hoe het gedaan wordt en waar ik een goede tutorial kan vinden hierover?
 
PHP hulp

PHP hulp

03/12/2024 18:49:02
 
Ozzie PHP

Ozzie PHP

06/04/2023 17:43:50
Quote Anchor link
Ik ga appels kopen bij de supermarkt. Ik kom bij de supermarkt aan, loop door de schuifdeur naar de stelling waar de appels liggen. Ik grijp met m'n hand erin. Niks! Er zijn geen appels! Ik ging appels halen, maar het resultaat was dat ik met lege handen stond.

Succes ...
 
Arno van Zanten

Arno van Zanten

06/04/2023 17:50:28
Quote Anchor link
Okay, Ozzie dat is dus een verhaal waar ik niks aan heb.
 
Jan R

Jan R

06/04/2023 18:14:08
Quote Anchor link
Uw vraag is ook weinig met te doen :)
Vertel al eens waarom dbase en niet mysql pdo of maria
dbase is versouderd en wordt sinds de jaren 90 niet veel meer gebruikt.
Mogelijks bedoel je gewoon database. schrijf dat dan ook.

Uw vraag voor zover ik begrijp

maak connectie met een database
controleer of deze gelukt is
bouw uw query
voor hem uit
controleer of de query gelukt is
kijk of er records zitten. via mysqli doe je dat via mysqli_num_rows($result)
Haal uw records op en loop er door.

Jan
 
Adoptive Solution

Adoptive Solution

06/04/2023 18:35:25
Quote Anchor link
Zomaar een voorbeeld.

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
<?php
include ('connect.php'); // = new mysqli();
$query = "SELECT * FROM users ORDER BY registratiedatum, account;";
$result = $db->query( $query );
if ( $result->num_rows > 0 ):
    while ( $row = $result->fetch_object() ):
    ?>


    <tr>
        <td><?php echo $row->id; ?></td>
        <td><code><a href="UserUpdate.php?account=<?php echo $row->account; ?>"><?php echo $row->account; ?></a></code></td>
        <td><?php echo $row->registratiedatum; ?></td>
        <td><?php echo $row->naam; ?></td>
        <td><?php echo $row->adres; ?></td>
        <td><?php echo $row->woonplaats; ?></td>
    </tr>

    <?php
    endwhile;
else:
?>

    <tr><td colspan="6" style="text-align: center;">Geen data aanwezig</td></tr>
    <?php
endif;
?>


En omdat zoeken op de interwebs ook niet makkelijk is, de uitleg :

https://www.php.net/manual/en/mysqli-result.num-rows.php
Gewijzigd op 06/04/2023 18:36:39 door Adoptive Solution
 
Arno van Zanten

Arno van Zanten

06/04/2023 18:54:46
Quote Anchor link
Dank je voor een simpele voorbeeld, ik zal de uitleg zeker even bekijken.
 
- Ariën  -
Beheerder

- Ariën -

06/04/2023 19:03:45
Quote Anchor link
Voor de handigheid heb ik -met dank aan WouterJ- een 'boilerplate' voorbeeld op Github gepubliceerd:

https://github.com/arienclaij/sql-boilerplate
 
Ozzie PHP

Ozzie PHP

06/04/2023 20:02:37
Quote Anchor link
Arno van Zanten op 06/04/2023 17:50:28:
Okay, Ozzie dat is dus een verhaal waar ik niks aan heb.

Als je er niks mee doet of überhaupt probeert te bedenken wat ik ermee zou kunnen bedoelen, dan is het inderdaad een verhaal waar je niks aan hebt. Had je echter wat langer nagedacht, dan had je je kunnen bedenken dat ik niet zomaar iets opschrijf en er dus waarschijnlijk een bedoeling achter zit.

Mijn eerste bedoeling is vooral om je zelf te laten nadenken. Je bent iemand die heel erg snel naar hulp vraagt. En dat blijft zo, als je niet van plan bent om zelf meer moeite te doen en daardoor zelfredzamer te worden. Mijn tweede bedoeling is om je een antwoord te geven op een vraag op een manier waardoor je die die volgende keer niet meer vergeet.

Terug naar mijn verhaal. Je vraag was, hoe weet ik of er records zijn. Mijn verhaal: hoe weet je of er appels zijn? Door naar de supermarkt te gaan en te graaien in de bak met appels. Als je gegraaid hebt en je hebt geen appels in je hand, dan zijn er blijkbaar geen appels.

Terug naar jouw vraag -> door de records op te halen en te kijken of er iets in zit. Als de resultaatset leeg is, waren er blijkbaar geen records. Je hoeft dus helemaal niks spannends te doen. Je voert gewoon je query uit zoals je dat altijd doet. Als er records aanwezig zijn dan zitten ze in de resultaatset die je terugkrijgt. Als er geen records (appels) zijn, dan is de resultaatset leeg.

Vind je het nu nog steeds een nietszeggend verhaal? Of is het kwartje gevallen?
 
Arno van Zanten

Arno van Zanten

06/04/2023 20:48:32
Quote Anchor link
Ik heb deze code nu gedaan, nu is mijn vraag of ik deze wel goed toepas?
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
<?php

$sql
= 'SELECT * FROM Test';
$result = mysqli_query($connect, $sql);
$row = mysqli_num_rows($reslut);
      if($rows == 0) {
     echo "No results found";
      }
else{
     $sql = 'SELECT * FROM Test ORDER BY ID ASC';
     $result = mysqli_query($connect, $sql);
     $users = mysqli_fetch_all($result, MYSQLI_ASSOC);
     mysqli_free_result($result);
     mysqli_close($connect);
?>
 
Ozzie PHP

Ozzie PHP

06/04/2023 20:50:43
Quote Anchor link
>> nu is mijn vraag of ik deze wel goed toepas?

Heb je het al getest?
 
Arno van Zanten

Arno van Zanten

06/04/2023 20:54:19
Quote Anchor link
Ja, maar krijg geen results te zien of laat staan de message "No results found"

Toevoeging op 06/04/2023 21:07:01:

Typo, gevonden en opgelost.
 
Ozzie PHP

Ozzie PHP

06/04/2023 21:07:19
Quote Anchor link
Reageer eerst eens op mijn eerdere vraag:

Vind je het nu nog steeds een nietszeggend verhaal? Of is het kwartje gevallen?

>> Ja, maar krijg geen results te zien of laat staan de message "No results found"

Dus wat ga je dan doen?
 
Arno van Zanten

Arno van Zanten

06/04/2023 21:08:33
Quote Anchor link
Ozzie, heb je verhaal begrepen.
Nu snapte ik je verhaal, wel humoristisch en sarcastisch, maar ja ik snap het nu.
En de fout is verholpen.
 
Ozzie PHP

Ozzie PHP

06/04/2023 21:45:41
Quote Anchor link
>> Nu snapte ik je verhaal, wel humoristisch en sarcastisch, maar ja ik snap het nu.

Mooi ;-) Dat sarcastische viel wel mee, maar ben blij dat je er de humor van inziet. :-)

>> En de fout is verholpen.

Ik neem aan dat je je $reslut had ontdekt? Een reslut is wat anders dan een result :-)

Je opzet is echter nog niet oké. Oplossingen zijn al aangedragen, dus even beter je best doen.. ;-)
 
Arno van Zanten

Arno van Zanten

06/04/2023 21:59:50
Quote Anchor link
Ik zal zeker mijn best doen, komt traag op gang, maar als de diesel eenmaal loopt, dan gaat ie door totdat alles perfect werkt.
 
- Ariën  -
Beheerder

- Ariën -

06/04/2023 23:45:20
Quote Anchor link
Als je bang bent om spelfouten te maken in variabelen, installeer dan bijvoorbeeld Netbeans IDE. Deze scant al je PHP-files in je gemaakt project af, en zorgt voor auto-complete als je een variabele start door $ in te typen. Notepad++ is te beperkt en mist een hoop intelligentie.
 
Ivo P

Ivo P

07/04/2023 07:42:56
Quote Anchor link
beetje zonde om 2x die query uit te laten voeren.


zet op regel 3 de query die je wilt hebben, inclusief order by.
en verwijder regels 9 en 10.

en ik zou close ook weglaten. De verbinding sluit vanzelf als de script klaar is
 

07/04/2023 08:33:49
Quote Anchor link
Een veelgebruikte query om het aantal records in een tabel te achterhalen is
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
COUNT(*) AS n FROM <tabelnaam>
wat de voorkeursmethode is met PDO, zie voorbeeld #2.
In PHP kan je van elke query het aantal opgehaalde records opvragen vanuit de database driver:
- MySQL / MariaDB: mysqli_result::$numrows
- PostgreSQL: pg_num_rows()
- etc...
 
Arno van Zanten

Arno van Zanten

07/04/2023 14:27:38
Quote Anchor link
Ivo P op 07/04/2023 07:42:56:
beetje zonde om 2x die query uit te laten voeren.

Zal het eens proberen toe te passen

Ivo P op 07/04/2023 07:42:56:
zet op regel 3 de query die je wilt hebben, inclusief order by.
en verwijder regels 9 en 10.

en ik zou close ook weglaten. De verbinding sluit vanzelf als de script klaar is

Ok
 



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.