Ik heb een programma geschreven waarbij ik tabellen uit een database haal en die laat zien. Nu wil ik dat lege tabellen niet worden weergegeven. Hoe kan ik dit voor elkaar krijgen? Ik heb de volgende code :

<?php
$result = mysqli_query($dbCon,"SHOW TABLES FROM $dbname");
$resultaant = mysqli_query($dbCon,"SHOW TABLES FROM $dbname");
$teller = 0;
echo "<br />";

//tellen van tabellen
while($nr = mysqli_fetch_array($resultaant)){
		$teller++;
}
$aant = $teller-3;
echo "Aantal gebruikers: " . $aant;

//maken van tabellen
while($row = mysqli_fetch_array($result)){
		
		if ($row[0] != 'examen' and $row[0] != 'code' and $row[0] != 'gebruikers') {
		$optie = $row[0];
		}else{
		$optie = "";
		}
		?>
<?php if ($optie != ""){
	
?>
<div class="uitslagen">		
	<table>

  <tr>
    <th colspan="3">IP nummer: <?php echo $optie;?></th>
  </tr>
  <tr>
    <th>Examen</th>
    <th>Antwoord</th>
    <th>Datum en tijd</th>
  </tr>

   	<?php $tabel = mysqli_query($dbCon,"SELECT * FROM $optie");
		
			while($rij = mysqli_fetch_array($tabel)){
			
			$Examennummer = $rij[Examen];
			$Antwoord = $rij[Antwoord];
			$tijd = $rij[tijd];
			if ($Examennummer != ""){
			?>
				<tr>
					<td><?php echo $Examennummer; ?></td>
					<td><?php echo $Antwoord; ?></td>
					<td><?php echo $tijd; ?></td>
				</tr>
			<?php
			}
			}
			}
			?>
	</table>
</div>
	
<?php
}

?>


SELECT * FROM information_schema.TABLES WHERE TABLE_ROWS > 0
Hoi Ward,

Waar moet ik dat plaatsen?

P.S. Bedankt Aar.
In myqsli_query() want het is een SQL-query.

Je kunt overigens TABLE_NAME gebruiken om het resultaat te beperken tot tabelnamen.


<?php
$result = mysqli_query($dbCon, 'SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_ROWS > 0');
?>
Ok nu krijg ik heel veel fouten op regel 45:

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /Applications/AMPPS/www/verkeer/administrator/overzicht.php on line 45
IP nummer: esagl_session
Examen Antwoord Datum en tijd

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /Applications/AMPPS/www/verkeer/administrator/overzicht.php on line 45
IP nummer: esagl_template_styles
Examen Antwoord Datum en tijd

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /Applications/AMPPS/www/verkeer/administrator/overzicht.php on line 45
IP nummer: esagl_update_sites
Examen Antwoord Datum en tijd

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /Applications/AMPPS/www/verkeer/administrator/overzicht.php on line 45
IP nummer: esagl_update_sites_extensions
Examen Antwoord Datum en tijd

Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in /Applications/AMPPS/www/verkeer/administrator/overzicht.php on line 45
IP nummer: esagl_user_usergroup_map
Examen Antwoord Datum en tijd

etcetc
Je moet wel een verbinding openen met de database information_schema.
Verder moet je wat aan foutcontrole doen om zulke warnings af te vangen.

Reageren