Aggiornare campo in base a timestamp meno recente fra piu tabelle

  • Creatore Discussione Creatore Discussione snakom23
  • Data di inizio Data di inizio

snakom23

Nuovo Utente
7 Lug 2014
2
0
0
PHP:
$dbname = 'db_cart'; 


$sql = "SHOW TABLES FROM $dbname LIKE '%id_%' "; 
$result = mysql_query($sql); 

if (!$result) { 
    echo "DB Error, could not list tables\n"; 
    echo 'MySQL Error: ' . mysql_error(); 
    exit; 
} 

while ($row = mysql_fetch_row($result)) { 
    $tables="{$row[0]}"; 
     


mysql_free_result($result); 

$books = mysql_query("SELECT isbn FROM books WHERE quantita > '0' ") or die(mysql_error());      
// scorro con un array la query e quindi i vari campi delle varie tabelle 
while($rowbooks = mysql_fetch_array($books)) 

{ 
    extract($rowbooks); 
     
     
    mysql_query ("UPDATE $tables SET disponibile = '1' WHERE isbn = '$isbn' ORDER BY timestamp ASC ") or die(mysql_error()); 
    mysql_query ("UPDATE books SET quantita = quantita-1 WHERE isbn = '$isbn'") or die(mysql_error()); 
} 
}
Ho n tabelle che sono chiamate con id_x dove x è un numero! Io vorrei far in modo che devo aggiornare il campo disponibile di tutte le tabelle che hanno il relativo timestamp di quel record meno recente fra tutte le tabelle!
Grazie!
 
Io vorrei far in modo che devo aggiornare il campo disponibile di tutte le tabelle che hanno il relativo timestamp di quel record meno recente fra tutte le tabelle!

sinceramente sia lo script che la tua richiesta sono un po' "ermetiche"
provo a postare una semplice select sperando che ti aiuti a trovare la via
ciao
Marino

Codice:
SELECT isbn, min(timestamp) 
FROM books 
WHERE quantita > 0
GROUP BY isbn
 
ho le seguenti tabelli
id_1
id_2
id_3
id_4
id_5
e cosi via....
queste tabelle non saranno mai un numero finito.

Ogni tabella ha gli stessi campi e sono i seguenti:

| id | isbn | disponibile | timestamp |
------------------------------------
id: primaria ed auto incrementale
isbn: varchar
disponibile: o assume valore '0' o assume valore '1'
timestamp: timestamp update on current


Io devo aggiornare il campo disponibile ad '1' secondo il timestamp piu vecchio COMPLESSIVO fra tutte le tabelle esistenti.

Spero di esser stato chiarissimo! Non saro mai grato se mi riesci a risolvere questo grosso mio problema! Grazie !
 

Discussioni simili