confrontare dati

amhal

Utente Attivo
17 Feb 2011
87
1
8
Ciao a tutti, scusate per i titolo ma non sapevo cosa scrivere.
Ho cominciato da poco con mysql e ho questa necessità:

ho 3 tab:

tab1 : negozi
tab2 : prodotti
tab3 : cap

per il cap selezionato dall'utente, dovrebbero venire visualizzati i negozi appartenenti a quel cap, poi l'utente

sceglierà i prodotti e dovrei vedere quali negozi hanno tutti i prodotti selezionati, come faccio??

es:

TAB negozi : A,B,C,D,E

TAB prodotti: matite, penne, gomme

TAB cap: 00014, 00015


l'utente inserisce il cap 00014 e supponiamo che vengono visualizzati i negozi A, B, D

poi l'utente seleziona matite e gomme, ora dovrei sapere quali negozi tra A, B, D hanno tutte e due i prodotti

selezionati!!!


spero di essere stato chiaro grazie a tutti!!!!
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
si dovrebbe sapere come hai stutturato le tabelle
poi se non ho capito male non ti bastano le tre tabelle che citi, ma dovresti farti una tabella che lega la "quantità" del prodotto al "negozio"
comunque non è semplicissimo.
devi crearti delle query dinamiche (che linquaggio usi? php o asp o...?) in funzione dei prodotti scelti e fare varie considerazioni anche logiche.
sempre da quello che ho capito tu vuoi che il cliente ti faccia un ordine es
dalla selezione del cap gli risultano i negozi A,B,D (e sin qui ok)
e seleziona gomme e matite, puo succederti che:
A ha le matite ma non le gomme
B non ha matite, ma ha le gomme
D non ha ne matite ne gomme
che fai se il cliente vuole farti un ordine che vale 10.000 euro? rinunci?
prima di buttarti considera bene tutte le possibili situazioni
 

amhal

Utente Attivo
17 Feb 2011
87
1
8
Ciao intanto grazie per aver risposto, hai ragione non ho detto il linguaggio... uso php e mysql 5.0
per quanto riguarda la struttura ho dei campi che collegano i prodotti con i negozi, infatti se lancio una query
select * from prodotti,negozi where negozi.id_cli = id_prodotti; ottengo tutti i prodotti per il negozio selezionato ( ovviamente negozi.id_cli ha il valore di una variabile inviata da php )... quello che non so fare è confrontare un numero di negozi con tutti i prodotti... come risultato vorrei che venissero visualizzati solo i negozi con tutti i prodotti selezionati!!

ti ringrazio ancora
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
ribadisco devi farti un'altra tabella che leghi la quantità del prodotto al negozio altrimenti come si fa a sapere se il negozio A ha il prodotto selezionato?
in pratica devi farti una gestione di magazzino. cioè una tabella del tipo

tabella magazzino
id
id_prodotto
id_negozio
quantita

per cui l'utente deve trovare il negozio, per quel cap, dove la quantità di prodotto selezionato è > 0

guardo il sistema migliore e se lo trovo te lo posto, però devi avere pazienza sin dopo pasqua
 

amhal

Utente Attivo
17 Feb 2011
87
1
8
ciao, non c'è problema per pasqua, anzi grazie e auguri :D, solo una delucidazione per imparare qualcosa in più: se solo alcuni negozi hanno tutti i prodotti e le quantità le decide l'utente, non basta solo il nome del prodotto agganciato al negozio per sapere se quello stesso negozio ha quel prodotto? In finale a me servono solo i negozi che hanno tutti i prodotti!! quindi confrontare 'n' negozi, uno ad uno, con la lista dei prodotti... se tutti i nomi dei prodotti sono presenti ok, altrimenti non escono...

grazie ancora e scusa se sono di coccio!!!!!!
 

MMDesign

Utente Attivo
15 Apr 2014
76
0
0
Google Inc.
www.mmwebservice.it
Secondo me,
prima di iniziare a buttare su il codice si dovrebbe fare un'attenta analisi per l'ottimizzazione e l'incrocio dei dati.

In Dettaglio:

N° Aziende
N° Prodotti

Per quanto riguarda la selezione multipla tra aziende>Prodotti>Quantità.

Si potrebbe partire :

-------------------------------------
AZIENDE
|
|- Id
|- Nome Aziende
|- Città
|- Via
|- Cap
-------------------------------------

-------------------------------------
PRODOTTI
|
|- Id
|- Id_Azienda
|- Nome Prodotto
|- Quantità
-------------------------------------

Adesso tramite un form php potresti far vedere all'utente un menu' a tendina con tutte le aziende/CAP della tabella "AZIENDE".
Una volta selezionato premendo il pulsante fai inviare alla pagina successiva l'id Azienda selezionato in $_POST.

Dopo fai selezionare i vari prodotti e la Quantità, e sempre in post ti vai a costruire la query mysql con i dettagli da cercare visto che l'id ricavano in $_POST lo tieni salvato.
 

amhal

Utente Attivo
17 Feb 2011
87
1
8
ciao e grazie per esserti unito. La soluzione che mi proponi la vedo un pò scomoda per l'utente, considerando che se fossi al suo posto, non scorrerei mai una tendina con 'n' voci cercando una delle aziende che mi ispirano di più sperando che ha tutto quello che mi serve. :eek:
Credo sia più logico:
1) Inserire il cap della mia zona
2) scegliere i prodotti
3) vedere a video le aziende della mia zona che hanno quei prodotti

dimmi se fila!!
grazieeee
 

MMDesign

Utente Attivo
15 Apr 2014
76
0
0
Google Inc.
www.mmwebservice.it
Si per quanto riguarda la procedura puoi gestirla come vuoi ma visto che devi recuperare informazioni su piu' tabelle il consiglio era quello di ottimizzare con la logica per creare anche un sorgente pulita senza troppi giri.
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
sono di passaggio,
il metodo che ti ha suggerito mm puo andar bene se la tabella prodotti è così semplice, ma se per esempio contiene oltre al nome altri campi (codice prodotto, prezzo, descrizione e altro) diventa estremamente ridondante
è meglio in questo caso è meglio tener diviso i prodotti dalla loro distribuzione e quantità tra le aziende
 
Discussioni simili
Autore Titolo Forum Risposte Data
F confrontare due stringhe "numeriche" PHP 7
S [PHP] Confrontare due array con valori quasi uguali PHP 2
A Confrontare il tipo Generics a runtime Presentati al Forum 1
E [PHP] confrontare stringhe importate da csv PHP 19
otto9due Confrontare due array: verificare che tutti i valori di un'array siano contenuti in un'altra. jQuery 1
P [PHP] Confrontare due password e due email PHP 4
D confrontare numero di file Classic ASP 0
N Confrontare due Stringhe PHP 2
M Confrontare data, ora e aula per evitare sovrapposizioni PHP 8
S Stringhe: confrontare immissione con stringa d'esempio e costruire stringhe da più campi PHP 10
P Unire, confrontare due tabelle da due db diversi fati in phpmyadmin Database 5
max_400 Database: Confrontare una variabile con una colonna di numeri PHP 6
G Confrontare due stringhe PHP 11
F confrontare due stringhe c Programmazione 0
R Confrontare prodotti PHP 36
I Confrontare Variabile con Array PHP 8
A Confrontare 2 stringhe in JScript Classic ASP 0
L confrontare automaticamente due liste excell Windows e Software 0
F confrontare due date PHP 1
Couting95 inserire dati da un file di testo in una tabella in php PHP 1
F Scrivere dei dati in word con php PHP 0
otto9due $_FILE non passa i dati dal form PHP 1
N dati tabella non presi PHP 0
M Riportare in tabella HTML dati estratti con query SQL MySQL 0
I Assegnare dati fetch request ad una variabile globale Javascript 0
L PHPSpreadsheet inserire dati da file .xlsx/.xls su database PHP 2
L Ricezione dei dati su file php da modulo html PHP 6
L inserimento form dati multipli ? PHP 0
S Leggere dati da API e visualizzarli PHP 0
S problema con recupero dati tabella mysql PHP 2
E Progressbar estrazione dati da tabella mySQL Ajax 9
A invio massivo dati a file php Javascript 4
M Inviare dati nel db dopo risposta alert PHP 0
A recuperare i dati passati nel post PHP 1
L Estrazione dati php Database 6
L Estrazione dati casuali non doppioni MySQL 1
J Form inserimento dati in database Ajax 1
D Recupero dati da HDD esterno Hardware 0
L non duplicare dati in stato "aggiornamento" PHP 6
L inserire dati multi livello PHP 8
L input (rilevare cambio dati) PHP 3
L input dati con inser into select ? PHP 4
W Invio Dati ad un altra pagina Classic ASP 1
A Mostrare dati database per pagine PHP 2
Samuele Ronzani Sposta dati in una tabella eliminandolo MySQL 6
S Gestire scelta dropdown con dati da Mysql PHP 2
C Estrarre dati stringa Sql Database 1
elpirata Query per leggere dati da una tabella mysql e mostrarli a video in base a parametri passati tramite GET PHP 5
W Evitare ridondanza dei dati Classic ASP 3
MarcoGrazia Dati nulli su join tra più tabelle MySQL 1

Discussioni simili