Fonction listant une requête sql

Contenu du snippet

J'ai longtemps cherché une fonction me listant une requète sql, j'utilisais une fonction équivalente à celle-ci en asp mais impossible de la trouver en php. Apres quelque temps de recherche j'ai implémenté ceci :

Source / Exemple :


function AfficherRequete2($sql){
	
	$rst = mysql_query($sql);

	//--- La requete a échoué
	if (!$rst){
	   echo 'Erreur :' . mysql_error() . '<br>';

	//--- La requête a réussi
	}else{		
		//--- On vérifie si y a plusieurs enregistrements	
		if (mysql_num_rows($rst) > 0){
			
			//--- Nombre de colonnes
			$nbCol = mysql_num_fields($rst);
			
			//--- Début du tableau
			echo '<table>';
			
			//--- Affichage noms des colonnes
			echo '<tr>';
		   	while ($row = mysql_fetch_field ($rst)){
		   		echo '<td>' . $row -> name . '</td>';
		   	}
			echo '</tr>';

			//--- Affichage valeurs des colonnes
			while ($row = mysql_fetch_array($rst))
			{
				echo '<tr>';
				for ($i=0; $i<=$nbCol; $i++)
				{ 
					echo '<td>'. $row[$i] . '</td>';
				}
				echo '</tr>';
			}
			
			//--- Fin du tableau
			echo '</table>';
		}
	}

	//--- La fonction retourne si la requete a réussi ou pas
	return $rst;
}

Conclusion :


<? AfficherRequete("SELECT * FROM MaTable") ?>
vous listera l'intégralité de la table 'MaTable'.

L'avantage par exemple quand vous souhaitez afficher une liste de groupe avec des cases à cocher devant vous pouvez faire :
<?
$sql = "";
$sql .= " SELECT CONCAT('<input type=''checkbox'' name=''id_groupe'' value=''', Id_Groupe, '''>') AS Choix,";
$sql .= " Lib AS Désignation";
$sql .= " FROM Groupe";
$sql .= " ORDER BY Lib";
AfficherRequete($sql);
?>

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.