Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309

    select * from ($tab)... fattibile?

    vorrei sapere se è fattibile una cosa del genere...

    Codice PHP:
    $sql="SELECT * from hotel where citta = '$destinazione' ";
    $risultato=mysql_query($sql);

    $tab = array();

    while (
    $riga = @mysql_fetch_assoc($risultato))
    {
    $tab[] = $riga['nome_tabella'];
    }
    print_r($tab); //contiene i nomi delle tabelle

    [B]$sql2="SELECT * from ($tab) ";[/B
    $risultato2=mysql_query($sql2); 

  2. #2
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Ciao, per saperlo basta che provi.
    Prima di provare però togli e , che non so cosa siano.
    Inoltre non c'è bisogno che chiami le query $sql1, $sql2 ecc, basta $sql, il secondo valore sovrascriverebbe il primo.
    Inoltre stesso discorso per $risultato, chiamalo sempre $risultato e ricordati di svuotarlo quando nn ti serve più

    Codice PHP:

    $sql
    ="SELECT * from hotel where citta = '$destinazione' ";
    $risultato=mysql_query($sql);

    $tab = array();

    while (
    $riga = @mysql_fetch_assoc($risultato))
    {
    $tab[] = $riga['nome_tabella'];
    }
    mysql_free_result($risultato);


    $sql="SELECT * from (".$tab['indice che indica la tabella'].") ";
    $risultato=mysql_query($sql);
    mysql_free_result($risultato); 

    Queste ultime 3 righe in particolare andrebbero inserite in un ciclo


    Codice PHP:
    $sql="SELECT * from (".$tab['indice che indica la tabella'].") ";
    $risultato=mysql_query($sql);
    mysql_free_result($risultato); 
    e i dati ricavati salvati in un array prima di liberare il risultato.
    Ciao

  3. #3
    Utente di HTML.it L'avatar di Razorblade
    Registrato dal
    Feb 2002
    Messaggi
    1,308
    Ah ecco, [ B ] e [ / B ] sono dei bb tag o robe del genere... cmq nel codice avrebbero generato errore.

  4. #4
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    grazie per la risp!
    ma per indice tabella cosa intendi?

    $sql="SELECT * from (".$tab['indice che indica la tabella'].") ";

    Codice PHP:
    $sql="SELECT * from hotel where citta = '$destinazione' "
    $risultato=mysql_query($sql); 

    $tab = array(); 

    while (
    $riga = @mysql_fetch_assoc($risultato)) 

    $tab[] = $riga['nome_tabella']; 

    mysql_free_result($risultato); 


    $sql="SELECT * from (".$tab['indice che indica la tabella'].") "
    $risultato=mysql_query($sql); 

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    ho provato a fare così:
    Codice PHP:
    $sql="SELECT * from (".$tab['nome_tabella'].") "
    $risultato=mysql_query($sql); 

    if(
    mysql_num_rows($risultato)>0){
    while(
    $riga mysql_fetch_array($risultato)){
    echo 
    "numero camere: $riga[n_s] prezzo per ogni camera: $riga[p_s]
    "
    ;
    }
    } else {
    echo 
    "non ci sono camere";

    ma mi restit questo errore:

    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\date2\ricerca.php on line 44

  6. #6
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    ne sto uscendo scema... allora il DB è così composto:
    nome DB: hotelbooking

    tabelle:
    hotel
    che contiene i seguenti campi:

    id
    nome_tabella
    citta
    nome_hotel
    categoria
    indirizzo
    prezzo_min
    prezzo_max


    hotel_ritz
    che contiene i seguenti campi:

    id
    date
    numero_singole
    prezzo_singole


    ci sono circa 500 tabelle con il prefisso hotel_nome dell'hotel... nelle quali inserisco il numero di camere disponibili per la data corrispondente, e il prezzo applicato.
    dunque:
    dal PHPmyAdmin ho assegnato ai campi id delle tab. hotel_nomeHOTEL un indice (KEY `id` (`id`)) in modo da poter fare come suggerito... ma nulla da fare!

    Codice PHP:
    $sql="SELECT * from (".$tab['id'].") "
    $risultato=mysql_query($sql); 

    if(
    mysql_num_rows($risultato)>0){ 
    while(
    $riga mysql_fetch_array($risultato)){ 
    echo 
    "numero camere: $riga[n_s] prezzo per ogni camera: $riga[p_s]
    "


    } else { 
    echo 
    "non ci sono camere"

    restituisce sempre questo errore:
    Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\wamp\www\date2\ricerca.php on line 44


  7. #7
    ho letto solo l'ultimo tuo post... per l'errore che ricevi metti la segnalazione di errore alla query.

    $risultato=mysql_query($sql) or die (mysql_error());


    ma mi sembra poco ottimizzato il database facendo una tabella per ogni hotel.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    invece così mi visualizza solo un HOTEL

    Codice PHP:
    /*..........LETTURA per estrarre il nome delle tabelle..........*/
    $sql="SELECT * from hotel where citta = '$destinazione' "
    $risultato=mysql_query($sql); 

    $tab = array(); 

    while (
    $riga = @mysql_fetch_assoc($risultato)) 

    $tab[] = $riga['nome_tabella']; 

    mysql_free_result($risultato); 


    echo 
    "rrrr: $riga[nome_tabella]
    "
    ;


    $sql="SELECT * from (".$riga['nome_tabella'].") "
    $risultato=mysql_query($sql); 

    if(
    mysql_num_rows($risultato)>0){

    while(
    $riga mysql_fetch_array($risultato)){ 
    echo 
    "numero camere: $riga[n_s] prezzo per ogni camera: $riga[p_s]
    "




    } else {
    echo 
    "non ci sono camere";
    }} 

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    309
    ciao piero

    avevo pensato ankio di usare solo una tabella per tutti gli hotel, ma sono davvero tanti!!

    cosa suggerisci?

  10. #10
    Originariamente inviato da Gina
    ciao piero

    avevo pensato ankio di usare solo una tabella per tutti gli hotel, ma sono davvero tanti!!

    cosa suggerisci?
    che bisogna prima conoscere e studiare il progetto e poi fare il database.

    La vedo dura se non impossibile procedere per la strada che hai iniziato. D'altronde potrei sparare quattro stupidate generiche sull'ottimizzazione in genere del database, ma sinceramente, senza conoscere il progetto ed avere una idea sul processo di lavoro che ti serve realizzare non mi sento di dare suggerimenti.

    di certo sei sulla strada sbagliata.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.