Tester si une table est vide

Laifen
Invité n'ayant pas de compte PHPfrance

24 nov. 2009, 15:43

Bonjour, j'ai une table avec des informations que j'affiche dans un tableau.
L'affichage fonctionne bien, mais ce que je voudais faire c'est une petite condition, je m'explique.

Si ma table est vide
-Afficher un message disant qu'elle est vide.
Sinon
-Afficher la requête de ma table dans son tableau.

C'est la condition du if que je ne trouve pas.

Merci de votre aide.

Laifen
Invité n'ayant pas de compte PHPfrance

24 nov. 2009, 15:47

Voici mon code PHP si ça peut vous aider
<?php
      $serverBDD="*";
	  $nomUtil="*";
	  $password="*";
	  $BDD="*";
	  
	  @mysql_connect($serverBDD, $nomUtil, $password) or die ('Impossible de se connecter à la base de données');
	  @mysql_select_db($BDD) or die ('Cette base de données n\'existe pas');
	  
	  $req=mysql_query('SELECT update_date, type, title FROM job_offers') or die ('Erreur de requête');
	  
	  if ($req. 'IS NULL')
	  {
	     echo ('Pas d\'offres disponibles actuellement.');
	  }
	  else
	  {
		echo '<table border="1" class="table_rh">';
		echo '<caption>Offres d\'emploi</caption>';
	    echo '<tr>';
        echo '<th>Date</th>';
		echo '<th>Type</th>';
		echo '<th>Titre de l\'offre</th>';
		echo '</tr>	';
		echo '<tr>';
	  
	     while($data = mysql_fetch_assoc($req)) 
	     {
	      echo '<td>'.$data['update_date'].'</td>';
	      echo '<td>'.$data['type'].'</td>';
	      echo '<td>'.$data['title'].'</td>';
	     }
	  }
	  
	 mysql_close(); 
  ?>
  
Merci

ViPHP
ViPHP | 2287 Messages

24 nov. 2009, 15:55

Bonjour Laifen,

Cette fonction devrait répondre à tes besoins : http://fr.php.net/mysql_num_rows

++
if(!@work()){ Nespresso(); } else { what(); }
______________________________

Mammouth du PHP | 985 Messages

24 nov. 2009, 15:55

Pas évident sans les informations de table, nom, champs, exemple de requête SELECT...
Petit bout de script de départ que tu as testé...

Il existe surement plusieurs méthode, en voici une avec un exemple:
	 $query = 'SELECT * FROM `' . $table . '` WHERE `champ` = ' . "'" . mysql_real_escape_string($donnee) . "'";
	 $query = mysql_query($query);
         $Nb = mysql_num_rows($query);
         if (isset($Nb) && $Nb !== 0) {
             echo 'La table n\'est pas vide';
         }
         else {
             echo 'La table est vide';
         } 
($table = le nom de ta table et champ le nom d'un champ)
Modifié en dernier par Dr@ke le 24 nov. 2009, 16:04, modifié 2 fois.
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Laifen
Invité n'ayant pas de compte PHPfrance

24 nov. 2009, 16:00

Calimero : oui j'ai testé cette fonction mais sans résultat, j'ai du mal l'utiliser.

Dr@ke : Merci je vais tester et je te dis ça.

Merci à tous les deux.

Mammouth du PHP | 985 Messages

24 nov. 2009, 16:04

Oui sauf que:
Ici je vérifie une donnée en particulier qui est $donnee.
(c'est basé sur un bout de code d'un script que j'avais fais)
Donc faut l'adapter, mais c'est en gros le principe.
Face à la roche, le ruisseau l'emporte toujours, non pas par la force mais par la persévérance.

Laifen
Invité n'ayant pas de compte PHPfrance

24 nov. 2009, 16:08

Ok Dr@ke mais c'est bon ça fonctionne, j'ai retravaillé la fonction de Calimero est tout est rentré dans l'ordre :)

Merci