Estoy creando una función con una serie de variables que quiero que me compare con los datos de una base de datos, para mostrar los campos o no, según la variable.
El caso es que lo he conseguido, pero al realizar la comparación con las variables predefinidas en array y foreach, me lo repite el número de veces del array construido sobre las variables (en este caso 8). Supongo que viendo el código lo entenderéis mejor:
Código PHP:
function BaseDatos(
$Tabla,
$Campo0,
$Campo1,
$Campo2,
$Campo3,
$Campo4,
$Campo5,
$Campo6,
$Campo7){
$db = mysql_connect($GLOBALS['dbhost'], $GLOBALS['dbuser'], $GLOBALS['dbpassword']) or die("Connection Error: " . mysql_error()); mysql_select_db($GLOBALS['dbname']) or die("Error al conectar a la base de datos.");
//MOSTRAMOS TODAS LAS TABLAS
$Sql ="SHOW TABLES";
$result = mysql_query( $Sql ) or die("No se puede ejecutar la consulta: ".mysql_error());
$NoCampos = array('C0'=>$Campo0,'C1'=>$Campo1,'C2'=>$Campo2,'C3'=>$Campo3,'C4'=>$Campo4,'C5'=>$Campo5,'C6'=>$Campo6);
while($Rs= mysql_fetch_array($result)) {
// PARA CADA TABLA DESCRIBIMOS LOS CAMPOS
$Sql2 ="DESCRIBE ".$Rs[0];
$result2 = mysql_query( $Sql2 ) or die("No se puede ejecutar la consulta: ".mysql_error());
echo '<table width="100%" class="listado_tablas">';
if($Rs[0] == $Tabla){
echo '<tr><th colspan="4">'.$Rs[0].'</th></tr>';
//MOSTRAMOS LA INFORMACION DE LOS CAMPOS
while($Rs2 = mysql_fetch_array($result2)) {
foreach($NoCampos as $v){
if(($Rs2['Field']!=$v)){
echo '<td width="55%">'.$Rs2['Field'].'</td>';
echo '<td width="25%">'.$Rs2['Type'].'</td>';
}
}
echo '</tr>';
}
echo '</table>';
}
}
}
¿Alguna ayuda?