Si no quieres complicarte .. tienes código ya hecho (classes de preferencia) que hacen lo que necesitas.
http://www.phpclasses.org/browse/package/3414.html
Pero, sería bueno que entiendas que es lo que vas hacer ..
El formato CSV define una estructura de archivo bien clara: campos separados por comas y registros por salto de línea.
Tu "registro" lo obtienes de tu consulta SQL como lo haces para generar su salida en "HTML" común .. usas tu mysql_fech_array() por ejemplo y lo recorres con un bucle ("while()") .. ahí vas generando por iteracción del bucle una "línea" en ese .txt que previamente abriras con fopen() en modo escritura y definiras su nombre. Recuerda que el "salto de línea" en archivos de texto plano es el "código": \n .. esa cadena (dos caracteres al fin y al cabo para PHP) tendrás que añadirlos a tu cadena que compones con los campos que obtienes de tu BBDD, concatenados separandolos por comas y al final el salto de línea ..
A grandes rasgos sería algo así:
Código PHP:
<?
// etc .. conecta a tu BBDD .. etc ...
// Genero los datos que van a ir a parar al archivo sobre una variable .. La uso como "acomulador" añadiendo "lineas" al mismo ..
$lineas='';
while ($row=mysql_fetch_array($resultado)){
$lineas .= $row['campo1'].",".$row['campoN']."\n";
}
// Y escribo el archivo ...
$fp=fopen("archivo.csv","+a"); // No me acuerdo del modo para escritura .. revisalo
fwrite($fp,$lineas);
fclose($fp);
?>
Un saludo,