En la sintaxis SQL (de Mysql) para crear una BD .. tienes el parametro opcional IF NOT EXISTS eso le idica a Mysql que cree la tabla si no existe ..
con lo cual .. tu forma de crear las Tablas seria:
$SQL="
CREATE TABLE nombre IF NOT EXISTS (
definicion de campos .. etc ..
)
"
Al hacer tu consulta (query; mysql_query() ) .. NO la creara .. pues tiene el parametro "IF NO EXIST" .... y puedes continuar con el resto de logica de tu programacion ..
<a href='ir.asp?http://www.mysql.com/doc/C/R/CREATE_TABLE.html' target='_blank'>http://www.mysql.com/doc/C/R/CREATE_TABL...</a>
jeje aunque pensandolo mejor .. tienes la funcion:
mysql_list_tables() con la cual puedes mostrar las tablas de una BD (en combinacion con otra funcion .. )
<a href='ir.asp?http://www.php.net/manual/es/function.mysql-list-tables.php' target='_blank'>http://www.php.net/manual/es/function.my...</a>
Y otra solucion (descrita en los "user comments", los mesajes de cada funcion en la version en linea del manual de php .. ) dan esta solucion facil:
Código:
function mysql_table_exist($tableName)
{
$query = "SELECT COUNT(*) FROM $tableName";
$result = mysql_query($query);
$num_rows = @mysql_num_rows($result);
if($num_rows)
{
return TRUE;
}
else
{
return FALSE;
}
}
Como veras es una funcion q devulver verdadero/falso si la tabla que se quiere usar tiene campos creados o no .. Pruebalo:
$tableName="tutabla";
if (mysql_table_exist($tableName)){
echo "esta creada";
} else {
echo "no esta creada";
}
Un saludo,
pd: casi me salio un minitutorial :P