• User

    quale query?

    ho 3 tabelle

    Prima tabella: tbl_itinerari

    itinerarioID nomeitinerario brevedescrizionetour
    1 tour umbria un tour di 3 gg tra i monti
    2 tour bruxelles un tour di 1 gg nel centro citta

    Seconda tabella: tbl_giornicardinali

    giornoID giornocardinale
    1 PRIMO GIORNO
    2 SECONDO GIORNO
    3 TERZO GIORNO

    Terza tabella: tbl_itinerarianalitici

    analiticoID itinerario (che deve riprendere itinerarioID dalla 1^ tabella)
    giornoX cittaX
    1 1
    1 Assisi
    2 1
    1 Perugia
    3 1
    2 Assisi
    4 1
    2 Gubbio
    5 1
    3 Terni
    6 2
    1 Bruxelles

    Le voci dinamiche dovrebbero comparire cosi nella pagina del Tour
    dell'umbria:

    PRIMO GIORNO
    Assisi
    Perugia

    SECONDO GIORNO
    Assisi
    Gubbio

    TERZO GIORNO
    Terni

    La query e il filtro attuali sono cosi e ovviamente ma non mi richiamano il
    giorno cardinale corrispondente perchè non so come impostarlo, magari già
    adattata in maniera tale che poi possa visualizzare anche singole giornate
    per ogni pagina tramite una barra di navigazione dinamica con i classici
    tasti avanti, indietro, inizio e fine che creerò in un secondo momento:

    $colname_rs_itinerarioanalitico_filtrato = "-1";
    if (isset($_POST['nomeitinerario'])) {
    $colname_rs_itinerarioanalitico_filtrato = (get_magic_quotes_gpc()) ?
    $_POST['nomeitinerario'] : addslashes($_POST['nomeitinerario']);
    }

    mysql_select_db($database_server, $server);
    $query_rs_itinerarioanalitico_filtrato = sprintf("SELECT
    itinerarioanaliticoID, itinerario, giornoX, cittaX FROM
    tbl_itinerarianalitici WHERE itinerario = %s",
    GetSQLValueString($colname_rs_itinerarioanalitico_filtrato, "int"));
    $rs_itinerarioanalitico_filtrato =
    mysql_query($query_rs_itinerarioanalitico_filtrato, $server) or
    die(mysql_error());
    $row_rs_itinerarioanalitico_filtrato =
    mysql_fetch_assoc($rs_itinerarioanalitico_filtrato);
    $totalRows_rs_itinerarioanalitico_filtrato =
    mysql_num_rows($rs_itinerarioanalitico_filtrato);

    grazie infinite


  • User

    penso di aver risolto cosi....ma mi da' un errore come mai?

    $query_rs_itinerarioanalitico_filtrato = sprintf("SELECT giornocardinale AS giorno, group_concat(itinerarioanaliticoID, itinerario, giornoX, cittaX, profilocittaX, cosavederecittaX, curiositacittaX) AS visite FROM tbl_itinerarianalitici, tbl_giornicardinali WHERE tbl_giornicardinali.giornoID = tbl_itinerarianalitici.giornoX AND itinerario = %s GROUP BY giornoX", GetSQLValueString($colname_rs_itinerarioanalitico_filtrato, "int"));

    caricando la pagina mi spunta questo errore

    Column 'giornocardinale' in field list is ambiguous


  • Super User

    Ciao thenax e benvenuto nel forum GT,
    quell'errore significa che il campo giornocardinale è presente sia in tbl_itinerarianalitici che in tbl_giornicardinali, devi specificare a quale tabella MySQL deve fare riferimento. 🙂

    Esempio:
    tbl_itinerarianalitici.giornocardinale

    ciao 😉


  • User

    ok ho risolto ma rimane sempre la query che non riesco proprio a trovarla in quanto non posso utilizzare "group count" in quanto cittaX e giorno devono rimanere formattati con stili diversi una volta visualizzati! chi mi puo' aiutare?

    ho 2 tabelle

    Primaa tabella: tbl_giornicardinali

    giornoID giornocardinale
    1 PRIMO GIORNO
    2 SECONDO GIORNO
    3 TERZO GIORNO

    Seconda tabella: tbl_itinerarianalitici

    analiticoID itinerario giornoX cittaX descrizione
    1 1 1 Assisi molto bella
    2 1 1 Perugia grande
    3 1 2 Assisi molto bella
    4 1 2 Gubbio piccola
    5 1 3 Terni simpatica
    6 2 1 Bruxelles enorme

    Le voci dinamiche dovrebbero comparire cosi nella pagina del Tour
    dell'umbria (itinerario 1) (tra parentesi il testo statico):

    PRIMO GIORNO
    (citta di) ASSISI
    (descrizione) MOLTO BELLA

    (citta di)PERUGIA
    (descrizione) GRANDE

    SECONDO GIORNO
    (citta di) ASSISI
    (descrizione) MOLTO BELLA
    (citta di) GUBBIO
    (descrizione) PICCOLA

    TERZO GIORNO
    (citta di) TERNI
    (descrizione) SIMPATICA

    La query e il filtro attuali sono cosi ma ovviamente non mi richiamano il
    giorno cardinale corrispondente perchè non so come impostarlo. Io vorrei impostarlo in maniera tale che per un singolo itinerario (dato da itinerario = %s) possa visualizzare gruppi di singole giornate su ogni pagina con una barra di navigazione dinamica che creerò in un secondo momento:

    $colname_rs_itinerarioanalitico_filtrato = "-1";
    if (isset($_POST['nomeitinerario'])) {
    $colname_rs_itinerarioanalitico_filtrato = (get_magic_quotes_gpc()) ?
    $_POST['nomeitinerario'] : addslashes($_POST['nomeitinerario']);
    }

    mysql_select_db($database_server, $server);
    $query_rs_itinerarioanalitico_filtrato = sprintf("SELECT
    itinerarioanaliticoID, itinerario, giornoX, cittaX, descrizione FROM
    tbl_itinerarianalitici WHERE itinerario = %s",
    GetSQLValueString($colname_rs_itinerarioanalitico_filtrato, "int"));
    $rs_itinerarioanalitico_filtrato =
    mysql_query($query_rs_itinerarioanalitico_filtrato, $server) or
    die(mysql_error());
    $row_rs_itinerarioanalitico_filtrato =
    mysql_fetch_assoc($rs_itinerarioanalitico_filtrato);
    $totalRows_rs_itinerarioanalitico_filtrato =
    mysql_num_rows($rs_itinerarioanalitico_filtrato);

    grazie infinite


  • User

    ok risolto tutto grazie