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

    Dubbio su una query di ricerca

    Ciao ragazzi,
    ho un database di vari articoli, per ogni articolo c'è un campo per la marca ed uno per il nome.
    Il campo per la marca è numerico, e il numero inserito corrisponde all'id di una tabella "marche" che ha 2 campi, id e nome. Per cui se nella tabella articoli ho l'inserzione marca: 3 nome: nome articolo, nella tabella marche ho id: 3 nome: nome marca 3.

    Ora, quando vado ad effettuare una query di ricerca estrapolo i dati dei vari campi "nome articolo", però non so proprio come fare per estrapolare anche quelli della marca...

    Ad esempio ho la marca "Dixan" che ha come id 2, e un campo nella tabella articoli che ha come nome dell'articolo "Piatti" e come id della marca 2.

    Se cerco "piatti" la query fa la ricerca nella tabella articoli nel campo "nome articolo", però io vorrei far si che anche se cerco "dixan" mi da come risultato l'articolo "Dixan piatti".


    Non so se mi sono spiegato...

    C'è qualcuno che può darmi qualche suggerimento ?

  2. #2
    beh a capire + o - si è capito, è il procedimento tecnico che è un pò confuso.

    cmq mi pare di aver capito che tu hai due tabelle 1)Articolo(ID,Nome,Marca[numerico]) 2)Marche(ID,Marca)

    quando selezioni un articolo dalla sua tabella, selezioni la anche il campo marca che è un numero,
    questo numero ti serve a farlo corrispondere con l'id dell'altra tabella appunto per estrapolare il nome della marca. Tu fai questo procedimento giusto? mi pare di aver capito!

    Ora tu vuoi fare l'inverso, cioè scegli inizialmente la marca, e poi all'altra tabella estrapolare gli articoli con quella marca...così?

    beh se è così è semplicissimo, basta fare l'inverso.


    Fai la query che seleziona la marca in questo caso "Dixan" id "2", che saranno le variabili $query[Marca] $query[ID]

    ora vai a fare la query alla tabella Articoli mettendo la clausola WHERE Marca = "$query[ID]"


    stop.
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

  3. #3
    Innanzitutto ti ringrazio!
    Hai capito perfettamente come è strutturato il DB e l'hai spiegato molto meglio di come ho potuto farlo io

    Però quello che vorrei fare è diverso: vorrei poter eseguire una query su entrambe le tabelle, però solo sul campo "nome" (quindi marche.nome e articoli.nome), cioè, nell'esempio che abbiamo riportato vorrei avere lo stesso risultato sia che ricerchi "Dixan" sia che ricerchi "Piatti" (con un where di tipo LIKE, quindi anche "xan" o "iatti").

    Ho pensato che forse potrei riuscirci collegando le tabelle con un Join, ma non l'ho mai fatto...

  4. #4
    Dunque, penso di aver trovato una soluzione ma mi sfugge la corretta sintassi per la Query...

    Questa è la query
    "SELECT * FROM articoli INNER JOIN marche WHERE marche.id = articoli.marca"

    E fin qui tutto ok, ora però dovrei specificare un altro WHERE, precisamente vorrei che la query cercasse sia nel campo "nomearticolo" che nel campo "nomemarca" una parola.

    Se ho
    nomemarca: Dixan
    nomearticolo: Piatti

    vorrei far si che mi compaia quel risultato sia se cerco "Dixan" che se cerco "Piatti"...
    è possibile farlo?
    A livello di logica mi verrebbe in mente una cosa del genere "WHERE nomearticolo OR nomemarca LIKE '% piatit %'" ma ovviamente non funziona...

  5. #5
    WHERE variabile = 'Valore' OR variabile2 = 'valore'

    stessa cosaa per l'unione

    WHERE variabile = 'Valore' AND variabile2 = 'valore'
    http://codecanyon.net/category/all?ref=Manuelandro
    And I bet she told a million people that she'd stay in touch, Well all the little promises they dont mean much,When theres
    memories to be made

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.