Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [MySQL] Tabelle con indici

    Salve a tutti,

    ho una serie di tabelle (palinsesto, programmi, dj).
    Nel palinsesto visualizzo con fasce orarie i programmi che vanno in onda, tenendo conto che in questa tabella, per ricavare il nome del programma uso "id_programma", il quale combacia con l'id del programma all'interno della tabella "programmi".
    Il problema fino a qui non nasce, ma se poi nella tabella "programmi", metto un campo "id_dj", devo andare a controllare qual'è il DJ che combacia con il suo ID.
    In questa maniera dovrò fare una montagna di query: Scaricare tutto il palinsesto; per ogni programma devo cercare il suo nome querando la tabella "programmi"; poi querare la tabella "dj" per cercare il nome di ciascun DJ che fa il programma.

    Mi sembra molto macchinoso e pesante come procedimento. Avete idee alternative per migliorare le prestazioni e rendere lo script più semplice?
    Il 90% dei problemi di un pc si trova
    tra la tastiera e la sedia.

  2. #2
    il doppio thread potevi evitarlo

  3. #3
    ho premuto due volte velocissimo per errore il tasto di invio; cmq visto che ho una serie di tabelle che vorrei concatenare, come fo?

    Esempio:

    Tabella programmi:

    id | nome programma | descrizione | id_dj
    01 | All Music | blablabla | 2


    Tabella dj:

    id | nome dj
    01 | Marko
    02 | Lukas


    Ecco, vorrei che nella pagina che genero, MySQL mi peschi il DJ giusto, utilizzando l'"id_dj" che, nell'esempio equivale a "Lukas".
    Il 90% dei problemi di un pc si trova
    tra la tastiera e la sedia.

  4. #4
    Una join vulgaris ....
    codice:
    SELECT *
    FROM programmi
    inner join dj 
    ON dj.id = programmi.id_dj
    where nome_programma like '$ciao_peppina'

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

  5. #5
    e se eventualmente ho 3 tabelle concatenate in questa maniera?
    tipo che ho la tabella "palinsesto":

    id | ora_inizio | ora_fine | id_programma |

    e in una pagina vorrei far visualizzare una cosa tipo questa:

    16:00 - 18:00 EstateWeb (DJ Cadri, Kristina, Gianmarco)
    Il 90% dei problemi di un pc si trova
    tra la tastiera e la sedia.

  6. #6
    Aggiungi la tabella palinsesto unita ai programmi....

    Ma detto cosi' e' un tirare a campa' ... non so che hai e come lo gestisci.... la query e' quella... potrai giocaterla con un left join o cambiare la tabella principale ... poi come assemblerai i dati te la devi vedere tu...

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

  7. #7
    con il comando SQL che mi hai dato, in pratica aggiunge alla tabella programmi i campi dei dj. Ma non vorrei aggiungere tutta la tabella "dj", ma solo alcuni campi. Come dvo fare a limitare il join ad alcuni campi?
    Il 90% dei problemi di un pc si trova
    tra la tastiera e la sedia.

  8. #8
    Originariamente inviato da hacker_nait
    con il comando SQL che mi hai dato, in pratica aggiunge alla tabella programmi i campi dei dj. Ma non vorrei aggiungere tutta la tabella "dj", ma solo alcuni campi. Come dvo fare a limitare il join ad alcuni campi?
    elenca i campi nel select.

    A parte il fatto che puoi estrarre solo quelli che ti servono e lasciar perdere gli altri... cambia poco come carico.


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

  9. #9
    puoi spiegarti meglio?

    forse è meglio se parliamo da vicino (se hai un instant messenger, o una chat)...
    Il 90% dei problemi di un pc si trova
    tra la tastiera e la sedia.

  10. #10
    Originariamente inviato da hacker_nait
    puoi spiegarti meglio?

    forse è meglio se parliamo da vicino (se hai un instant messenger, o una chat)...
    sono ancora ai segnali di fumo...

    Se metti l'elenco dei campi che ti servono ti prendera' solo quelli. Se metti select * li estrae tutti ma tu, astutamente, con mysql_fetch_assoc (o quel che ti pare) prenderai solo i campi di tuo interesse...

    Non capisco il problema....

    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.