Ver Mensaje Individual
  #6 (permalink)  
Antiguo 11/11/2006, 12:10
fermdp
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mar del Plata
Mensajes: 203
Antigüedad: 23 años, 2 meses
Puntos: 0
Aclarando...

A ver si puedo aclarar el panorama, tengo lo siguiente... una base de datos llamada "noticiero" con varias tablas entre ellas la llamada "nota" y otra llamada "varios" son iguales a no ser por un campo !!! la estructura es la siguiente:

tabla nota
----------
id
Nombre_nota
Responsable
Camara
Fecha_Make
Entradilla
Scrip
TEXTOS
Pie
Fecha_EDIT
Fecha_Air
Soporte
Comienza
Termina
Dura
Video_Audio
Estado
Editor
Edicion
Disponible
set
item
order
presenta

la tabla "varios" es igual pero con un campo mas llamado "color"

el problema es el siguiente... necesito hacer una consulta a la base de datos de las dos tablas a la vez para luego hacer via ajax un update, ese no es el problema, pero les muestro como lo hago !!!!

Código PHP:
<?
mysql_connect
('localhost''fermdp''gio'); mysql_select_db('noticiero'); function parse_data($data)
{
  
$containers explode(":"$data);
  foreach(
$containers AS $container)
  {
      
$container str_replace(")"""$container);
      
$i 0;
      
$lastly explode("("$container);
      
$values explode(","$lastly[1]);
      foreach(
$values AS $value)
      {
        if(
$value == '')
        {
            continue;
        }
        
$final[$lastly[0]][] = $value;
        
$i ++;
      }
  }
    return 
$final;
}

function 
update_db($data_array$col_check)
{

  foreach(
$data_array AS $set => $items)
  {
     
$i 0;
     foreach(
$items AS $item)
     {
       
$item mysql_escape_string($item);
       
$set  mysql_escape_string($set);
       
       
mysql_query("UPDATE nota SET `set` = '$set', `order` = '$i'  WHERE `item` = '$item' $col_check");
       
mysql_query("UPDATE varios SET `set` = '$set', `order` = '$i'  WHERE `item` = '$item' $col_check2");
       
$i ++;
     }
  }
}

require_once(
'sajax.php');
sajax_init();

function 
sajax_update($data)
{
  
$data parse_data($data);
  
update_db($data"AND (`set` = 'sajaxb2' OR `set` = 'sajax2')");
  return 
'y';
}

sajax_export("sajax_update");
sajax_handle_client_request();
?>
El TEMA viene aqui...originalmente para consultar y mostrar una SOLA TABLA usaba...

Código PHP:
<? $r mysql_query("SELECT * FROM nota WHERE `set` = 'sajaxb2' AND `Disponible` = 'si' ORDER BY `order` ASC");
$numero 1;
while(
$rw mysql_fetch_array($r))
{... 
Y MI CODE PARA MOSTRAR LOS REGISTROS DESEADOS !!!
pero... al querer hacer una consulta "DOBLE" no logro que me muestre los registros que quiero !!!

BUAAAAAAA !!!!!!

Lo que quiero que me consulte y muestre es lo siguiente "TODOS LOS REGISTROS DE LAS DOS TABLAS DONDE LOS CAMPOS "set" DE AMBAS SEAN = "sajaxb2" Y LOS CAMPOS DISPONIBLES DE AMBAS = a "si" ORDENADAS POR el CAMPO "order" QUE EN AMBAS TIENEN NUMEROS QUE NO SE REPITEN !!! POR LO QUE ASUME EN PRINCIPIO NO HABRIA PROBLEMA !!!!

Lo que he usado para esta consulta es todas las siguientes opciones probando de a una y ninguna de ellas me devolvio el resultado deseado !!!!

Código PHP:
$r mysql_query("SELECT * FROM nota, varios WHERE nota.set = 'sajaxb2' AND nota.Disponible = 'si' AND nota.set = varios.set AND nota.Disponible = varios 

Disponible ORDER BY `order` ASC"
);

$r mysql_query("SELECT * FROM nota, varios WHERE nota.set = 'sajaxb2' AND nota.Disponible = 'si' AND nota.set = varios.set ORDER BY nota.order ASC") or 

die( 
mysql_error() ) ;

$r mysql_query("SELECT * FROM nota WHERE `set` = 'sajaxb2' AND `Disponible` = 'si' ORDER BY `order` ASC");

$sql_1 "SELECT * FROM nota WHERE `set` = 'sajaxb2' AND `Disponible` = 'si' ORDER BY `order` ASC";
$sql_2 "SELECT * FROM varios WHERE `set` = 'sajaxb1' AND `Disponible` = 'si' ORDER BY `order` ASC";
$r $sql_1" UNION ".$sql_2 
ovbiamente luego las recorro con un while para mostrarlas...

$numero = 1;
while($rw = mysql_fetch_array($r))
{...

....
$numero ++;
}

los errores que he tenido fueron desde no mostrar nada a mostrarme resultados duplicados, triplicados, etc...

Espero que me puedan ayudar a encontrar un "FILTRO" para dicha consulta a la db

Desde ya ENORMEMENTE AGRADECIDO por su ayuda !!!
__________________
:) Fernando Dichiera (:
[email protected]