Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 29
  1. #1
    Utente di HTML.it L'avatar di TWD
    Registrato dal
    Apr 2003
    Messaggi
    155

    SQL - chi mi aiuta con una query?

    Ciao a tutti, ho bisogno del vostro aiuto per una stringa di SQL e poi di PHP; grazie in anticipo a chi potrà aiutarmi.

    La situazione é la seguente: sito di un fotografo; il fotografo aggiungerà le sue foto sul sito associando a ogni immagine una serie di parole chiave (vedi immagine allegata), le quali andranno ad aggiungersi alla colonna (di tipo text) "keywords" dove le parole chiave sono separate da virgola (esempio: mare,caraibi,delfini,blu).
    La fonte delle keywords é un'altra tabella di MySQL che contiene 2 colonne: id_keyword e keyword.
    (preferisco utilizzare questo sistema piuttosto che una relazione many to many perché in questo modo per fotografo sarà più semplice associare le parole chiave)

    Sul sito dovranno essere visualizzate le miniature cliccabili di queste foto e ogni foto dovrà contenere le relative parole chiave. Fino a qui tutto bene; il problema nasce quando devo rendere le parole chiave cliccabili singolarmente, e una volta cliccata devo trasmettere il valore (id) di quella parola.
    Io sono in grado di mostrare le parole chiave del campo text della tabella foto (per intenderci dove sono separate da virgola) ma quello che non so fare é mostrare le singole parole pescate dalla tabella keywords, in modo che siano cliccabili singolarmente.

    Spero di essere stato chiaro. Grazie in anticipo per il vostro aiuto
    Immagini allegate Immagini allegate

  2. #2
    cioe', non ho capito, non riesci a trasmettere le parole o i links ad esse?

  3. #3
    Utente di HTML.it L'avatar di TWD
    Registrato dal
    Apr 2003
    Messaggi
    155
    Originariamente inviato da beta_persei
    cioe', non ho capito, non riesci a trasmettere le parole o i links ad esse?
    Ciao, mi spiego meglio: posso tranquillamente mostrare il contenuto della cella con le keywords separate da virgola, con un risultato simile: "mare,patagonia,pesci tropicali,delfini" ma se assegno un link a queste keywords tra gli attributi a href ci sono tutte le keywords, ovvero: ; quello che serve a me é la situazione seguente:
    codice:
    mare, patagonia, pesci
    e così via.

    Spero di essermi spiegato

  4. #4
    allora di consiglio di usare una explode per separare ogni parola nel momento in cui si incontra una virgola e creare un array con le parole separate ognuna delle quali sarà cliccabile come dici te...

    Ora pero' non ho tempo per farti l'esempio perche' sto uscendo, se non riesci, domani posso farti vedere come si fa...
    ciao

  5. #5
    Utente di HTML.it L'avatar di TWD
    Registrato dal
    Apr 2003
    Messaggi
    155
    wow, gentilissimo grazie! Vado a cercarmi sul manuale di php qualche cosa sugli explode, ci provo, ma credo che avrò ancor abisogno del tuo aiuto...
    grazie!

  6. #6
    prova così...
    Codice PHP:
    $dati "mare,patagonia,pesci tropicali,delfini";
    $separa explode(","$dati);
    for(
    $i=0$i<count($separa); $i++){
    echo 
    "<a href=\"pagina.php?id_keyword=$i\">".$separa[$i]."</a><>"
    ps. cambio di programma... si esce piu' tardi

  7. #7
    Utente di HTML.it L'avatar di TWD
    Registrato dal
    Apr 2003
    Messaggi
    155
    eh eh...
    ho provato, mi da il seguente errore: Parse error: syntax error, unexpected $end in "percorso" on line 15 (la linea 15 é vuota, é quella dopo il tag di chiusura </html>).

    Faccio un piccola correzione, l'elenco delle parole chiave non lo inserisco manualmente ma prende i dati da una query SQL, credo che cambi qualche cosa, no?

  8. #8
    fai una cosa....
    fai un test solo alle righe che ti ho scritto io e vedi se va tutto ok... io l'ho provato e funziona

    per il fatto che i dati vengono presi da una query sql non fa assolutamente nulla, al posto della variabile $dati ci metti quella che a te pesca i valori dal db

    ops, mi sa che ho dimenticato di chiuderti il for....
    Codice PHP:
    $dati "mare,patagonia,pesci tropicali,delfini"
    $separa explode(","$dati); 
    for(
    $i=0$i<count($separa); $i++){ 
    echo 
    "<a href=\"pagina.php?id_keyword=$i\">".$separa[$i]."</a>
    "
    ;


  9. #9
    Utente di HTML.it L'avatar di TWD
    Registrato dal
    Apr 2003
    Messaggi
    155
    Che meraviglia, funziona!!!
    Ho aggiunto la fonte delle keywords dalla mia query e funzia perfettamente. Un'ultima correzione (mi ero sbagliato io scusa) il valore che deve passare nella variabile dovrebbe essere la keyword stessa che é stata cliccata (nel tuo codice il valore mi sembra che venga preso dalla variabile $i=0 incrementata di 1 ogni volta). Se mi aiuti con quest'ultima correzione possiamo considerare il caso chiuso e tu avrai un nuovo adepto (vabbé esagero mo...)

  10. #10
    come le estrai le tue keyword? le hai separate da virgola, tutte in una variabile o ognuna in una variabile?

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.