Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    313

    Query mysql ricerca su due tabelle

    Ragazzi rieccomi, una nuova e bella tematica vi spiego brevemente il problema, sto creando un cms stile joomla ma personalizzato ed estremamente più volece visto che non contiene tutti i plugin di joomla...

    Sono riuscito a creare un template vuoto dovo vengono pescate tutte le informazioni da mysql per caricare menu e pagine e considerando che ho cominciato da gennaio a studiare a pieno ritmo php, credo che non posso lamentarmi :-D

    Fino ad ora ho lavorato solo su singole tabelle per estrarre e inserire i dati nel mio database
    adesso mi sono trovato avanti un bel dilemma, le mie tabelle sono quattro:
    menu_principale
    menu_laterale_dx
    menu_laterale_sx
    e in fine

    gestione_pagine

    Tutti è quattro possiedono una voce "visualizza" posta a zero se deve essere visibile e a uno se deve essere nascosta

    Adesso cosa succede, quando entro nella home del sito, leggo GESTIONE_PAGINE e carico tutto sulla view compreso i menu interessati, adesso mi chiedevo una cosa, come posso fare per effettuare una ricarca avanzata in modo da unire le due tabelle sfruttando la colonna visualizzazione ??? in questo modo evito di caricare valori inutili e diminuisco il numero di controlli da effettuare, qualcuno di voi sarebbe così gentile da darmi qualche consiglio ?

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420
    Forse non ho capito ma parli di mettere in join le tabelle in base ad un campo comune?
    - "Si sono vegetariano. Diciamo che non mangio nulla che abbia un cuore"
    - "E i carciofi?"

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    313
    ecco, non conosco la funzione join, come la posso usare ?
    potresti postare qualche query su come usarla ?

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420
    Codice PHP:
    $sql "SELECT *
              FROM 'tabella1' as T1, 'tabella2' as T2, 'tabellaecc' as Tecc
              WHERE T1.visualizzazione = T2.visualizzazione
              AND T2.visualizzazione = Tecc.visualizzazione" 
    In questo modo effettui un prodotto cartesiano tra le tabelle, usando come collegamento tra di esse il campo che inserisci nel where. Per riferirti ai vari campi devi ricordarti di usare l'alias, ad esempio, invece di

    SELECT *

    se hai bisogno solo di alcuni campi diventa

    SELECT T1.nome, T2.tel
    FROM

    ecc....
    - "Si sono vegetariano. Diciamo che non mangio nulla che abbia un cuore"
    - "E i carciofi?"

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2013
    Messaggi
    313
    facciamo una cosa, posto la struttura delle tabelle e in fine quale deve essere il mio risultato:

    gestione pagine=>
    id
    id_account
    id_model_menu
    id_voce_menu
    titolo
    testo
    id_class_div_visualizzazione
    data_inserimento
    data_scadenza
    visualizza


    menu_laterale_sx / menu_laterale_dx / menu_principale=>
    id
    nome
    url
    ordine
    visualizza

    ho utilizzato i colori per identificare i collegamenti,

    adesso la mia query dovrebbe fare una cosa simile, lo scrivo testialmente così forse ci capiamo meglio

    Estrai la pagina( dalla tabella gestione_pagine) solamente quando la voce (visualizza) nelle due tabelle è uguale a zero, considerando che i dati per leggere nella seconda tabella sono presenti in gestione_pagine

    Oddio, spero di averlo scritto nel modo più semplice possibile, sempre se la mia logica non è troppo sbagliata :-S

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2011
    Messaggi
    420
    Originariamente inviato da sjpagan
    facciamo una cosa, posto la struttura delle tabelle e in fine quale deve essere il mio risultato:

    gestione pagine=>
    id
    id_account
    id_model_menu
    id_voce_menu
    titolo
    testo
    id_class_div_visualizzazione
    data_inserimento
    data_scadenza
    visualizza


    menu_laterale_sx / menu_laterale_dx / menu_principale=>
    id
    nome
    url
    ordine
    visualizza

    ho utilizzato i colori per identificare i collegamenti,

    adesso la mia query dovrebbe fare una cosa simile, lo scrivo testialmente così forse ci capiamo meglio

    Estrai la pagina( dalla tabella gestione_pagine) solamente quando la voce (visualizza) nelle due tabelle è uguale a zero, considerando che i dati per leggere nella seconda tabella sono presenti in gestione_pagine

    Oddio, spero di averlo scritto nel modo più semplice possibile, sempre se la mia logica non è troppo sbagliata :-S

    select *
    from 'gestionepagine' as gp, 'menu_laterale' as ml
    where gp.visualizza = ml.visualizza
    - "Si sono vegetariano. Diciamo che non mangio nulla che abbia un cuore"
    - "E i carciofi?"

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.