Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Query su tabella con suffisso

    Ragazzi,
    in un DB mysql ho una serie di TABELLE del tipo [pippo_stories], [pluto_stories], [papero_stories].

    Vorrei fare in php un sistema while che mi estragga i dati da tutte le tabelle che terminano per "_stories" e che mi stampi in modo sequenziale tutti i contenuti del campo [title].

    Potete aiutarmi?

    Grazie.

  2. #2
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    codice:
    $array_tabelle = array('pluto_stories', 'cheneso_stories');
    
    $risultati = array();
    
    while($tabella = array_pop($array_tabelle)) {
    
      $query = "SELECT * FROM $tabella";
    
      $result = mysql_query($query);
    
      if($result) {
    
         while($row = mysql_fetch_array($result)) {
    
             $risultati = $row[0];
    
         }
    
      }
    
    }
    
    print_r($risultati); // contiene i risultati di tutte le query
    intendi una cosa cosi?

    ciao

  3. #3

    però...

    Esatto.
    Però non so ancora quante tabelle ci saranno con quel suffisso e in futuro alcune potrebbero essere aggiunte o eliminate.

    In pratica va fatto un'operazione con le stringhe che gli faccia capire che la tabella finisse con "_stories", ma non ci riesco

    Mi aiuteresti?

  4. #4
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    Se dopo aver selezionato un db lanci la query :

    "SHOW TABLES"

    Otterrai un recordset chiamato Tables_in_{nomedb}


    A questo punto dovresti essere in grado in php di estrarti le tabelle che finiscono con stories.

    Non ho guardato perchè non sono un gran esperto in sql, ma credo che possa mettere la condizione anche direttamente nella query, una cosa tipo:

    SHOW TABLES WHERE SUBSTR(0, X, Tables_in_{nomedb}) = '_stories'

    Ciao

  5. #5

    OK

    Ok. Proverò...

    solo una cosa.... nello scorso codice che mi hai dato, incollato così com'è mi stampa un solo record. Come mai?

    Puoi controllarlo un secondo?

  6. #6
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    ops... al posto di

    $risultati = $row[0];

    metti

    $risultati[] = $row[0];

  7. #7

    scusa

    Scusa se ti disturbo ancora,
    ma in quel modo mi tira fuori dei risultati del tipo:

    Array ( [0] => [1] => .....

    e tra un numero e l'altro esce il mio record.

    Come posso eliminare gli array?

  8. #8
    Utente di HTML.it L'avatar di gianiaz
    Registrato dal
    May 2001
    Messaggi
    8,027
    non ti seguo, qual'è il problema?

    ciao

  9. #9

    scusa

    Il problema sono io, che non capisco un tubo di php.

    La query l'ho caricata su:
    http://www.pupia.tv/query.php

    Vorrei che mi venissero stampanti solo i titoli una riga per volta. Credo che il problema sia nel print_r che sto usando, o sbaglio?

    Grazie infinite.

  10. #10
    Originariamente inviato da gianiaz
    Se dopo aver selezionato un db lanci la query :

    "SHOW TABLES"

    Otterrai un recordset chiamato Tables_in_{nomedb}


    A questo punto dovresti essere in grado in php di estrarti le tabelle che finiscono con stories.

    Non ho guardato perchè non sono un gran esperto in sql, ma credo che possa mettere la condizione anche direttamente nella query, una cosa tipo:

    SHOW TABLES WHERE SUBSTR(0, X, Tables_in_{nomedb}) = '_stories'

    Ciao
    La query in questione dovrebbe essere la seguente:
    SHOW TABLES LIKE '%_stories'

    Per favore... potresti dirmi come collegarla all'array che devo fare?

    Ti prometto che farò il tuo nome in eterno quando questo mio benedetto sito sarà pronto.

    Grazie.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.