Pagina 3 di 3 primaprima 1 2 3
Visualizzazione dei risultati da 21 a 24 su 24
  1. #21
    La risposta dal forum non mi è arrivata via e-mail e quindi e' da quando ho postato che ci sbatto la testa. Non sono sul mio pc e quindi non avevo querybrowser installato. Alla fine mi sno detto che solamente con quello otev risolvere il problema. L'ho scaricato, installato e ho effettuato l'accesso al db. Ho copiato ed incollato la query e quindi mi sono messo a sbattere la testa non so quante volte nel muro: la parola keys era evidenziata in modo diverso. fatte le dovute modifiche da keys a keywords la query cme per magia ha cominciato a funzionare! Che stupido!

    Per ciò che riguarda la struttura della query mi sono accorto che c'è qualcosa "in più" ma onestamente la query me l'hanno suggerita più su e quindi non ho la minima idea di come poterla snellire. Ora ti posto la query definitiva e magari se hai tempo e voglia me la correggi! Ok?

    codice:
    $query = "SELECT catalog_products.id AS id ,
    			                 catalog_products.name AS name ,
                                 catalog_objects.obj AS obj , 
                                 objectsL.obj AS objL ,
                                 catalog_products.code AS code , 
                                 catalog_brands.brand AS brand ,  
                                 catalog_materials.material AS material ,
    							 materialsL.material AS materialL ,
                                 catalog_products.price AS price , 
                                 catalog_products.discount AS discount , 
                                 catalog_products.avStatus AS avStatus , 
                                 catalog_targets.target AS target , 
                                 targetsL.target AS targetL ,
    							 catalog_products_description.description AS description ,
    							 descriptionL.description AS descriptionL ,
    							 catalog_products_keywords.keywords AS keywords ,
    							 keywordsL.keywords AS keywordsL ,
                                 catalog_products.inserted AS inserted , 
                                 catalog_products.views AS views 
    
                            FROM catalog_products
                       LEFT JOIN catalog_objects AS objectsL ON objectsL.ref = catalog_products.obj 
                       LEFT JOIN catalog_brands AS brandsL ON brandsL.id = catalog_products.brand 
                       LEFT JOIN catalog_materials AS materialsL ON materialsL.ref = catalog_products.material 
                       LEFT JOIN catalog_targets AS targetsL ON targetsL.ref = catalog_products.target 
    				   LEFT JOIN catalog_products_description AS descriptionL ON descriptionL.product = catalog_products.id
    				   LEFT JOIN catalog_products_keywords AS keywordsL ON keywordsL.product = catalog_products.id , catalog_objects , catalog_brands , catalog_materials , catalog_targets , catalog_products_description , catalog_products_keywords
                           WHERE catalog_objects.lang = '$lang'
    					     AND objectsL.lang = 1
                             AND catalog_materials.lang = '$lang'
    						 AND materialsL.lang = 1
                             AND catalog_targets.lang = '$lang'
    						 AND targetsL.lang = 1
    						 AND catalog_products_description.lang = '$lang'
    						 AND catalog_products_description.lang = 1
    						 AND catalog_products_keywords.lang = '$lang'
    						 AND catalog_products_keywords.lang = 1
                             AND catalog_objects.ref = catalog_products.obj
                             AND catalog_materials.ref = catalog_products.material 
                             AND catalog_targets.ref = catalog_products.target
    						 AND catalog_products.id = $id" ;
    PS
    Ho riportato in rilievo un 3d sui libri di hp e mysql. magari se gli dai un occhiata un tuo cnsiglio è sempre ben accetto! Grazie ancora! Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  2. #22
    Ok, a query che ho postato sopra non funziona.Se in una lingua i dati non sono presenti non estrae un bel niente! Cacchio! ma è possibile che sia così difficile? Non mi trovavo con un problema così da quando ho cominciato ad usare php! A questo punto mi cnviene fare tre queries ( 1 per i dati "universali", una per la descrizione ed una per le keywords)?

    Ma mi sembrano un po' troppe!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

  3. #23
    ciao,

    non credo di poter essere di molto aiuto. Rivedrei la struttura del db. Mi pare di vedere troppe ripetizioni, ma forse ci vogliono. bisognerebbe studiare bene i dati, visto cosi' pero' non saprei.

    Per esempio perche' fare tante righe (prendo un esempio a caso) in catalogo_targets piuttosto di non fare tanti campi lingua nella stessa tupla. es.:
    codice:
    id - rif -  ita  - en
    -------------------------
    1  -  1  - uomo  - man
    2  -  2  - donna - woman
    in questo modo semplifichi l'estrazione, riduci i dati duplicati, per la stampa basta che fai... per esempio:
    codice:
    $lang1 = 'ita';
    $lang2 = 'en';
    
    $product['target'] = $prod[$lang1] != ''  ? $prod[$lang1] : $prod[$lang2] ;
    Dove puoi invertire i valori di $lang1 e $lang2 a seconda della scelta lingua effettuata.

    Questa e' una mia opinione, purtroppo pero' non conosco il progetto e quindi e' e rimane una mia opinione....

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

  4. #24
    certo, potrei fare come hai detto tu ma non hai considerato alcuni fattori come per esempio il fatto che per aggiungere una nuova lingua devo mettere mano al db. Con questa struttura, invece, per aggiungere una nuova lingua mi basta aggiungere in un file di config un elemento ad un array per aggiungere una nuova lingua. Lo script in qutomatico (se mai riusciro a finirlo! ) riconoscerà che c'è una nuova lingua e mi permetterà di "aggiornare" tutti i dati.

    inoltre in quest modo non ci sono affatto ripetizioni, anzi!
    Nel db sono memorizzati solo dati esistenti e non h campi vuoti. Certo, magari utilizzando più campi potrei gestirepiù facilmente le query ma credo che anche in questo modo si possa fare quello che chiedo: solo non riusciamo a trovare il modo per farlo! Per adesso, cmq, ho "arrangiato" eseguendo 3 queries ma ritrnerò sull'argoment e cercherò di trovare una sluzione, autato anche da voi ovviamente!

    Per adesso mi tengo lo script così! poi vedrò come migliorarlo! grazie cmq per l'aiuto! nel fratempo nei post spra c'è il dump del db per poter fare delle prove! Se qualcuno riuscisse a trovare una soluzione bhe, me lo faccia sapere! Ancora grazie mille! Ciao!
    eCommerceRS.NET - Commerciante, vendi on-line!
    Il mio nick è mircov e non mirco!!!

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.