- Home
- Categorie
- Coding e Sistemistica
- PHP
- quale query?
-
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 cittaSeconda tabella: tbl_giornicardinali
giornoID giornocardinale
1 PRIMO GIORNO
2 SECONDO GIORNO
3 TERZO GIORNOTerza 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 BruxellesLe voci dinamiche dovrebbero comparire cosi nella pagina del Tour
dell'umbria:PRIMO GIORNO
Assisi
PerugiaSECONDO GIORNO
Assisi
GubbioTERZO GIORNO
TerniLa 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
-
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
-
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.giornocardinaleciao
-
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 GIORNOSeconda 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 enormeLe 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) GRANDESECONDO GIORNO
(citta di) ASSISI
(descrizione) MOLTO BELLA
(citta di) GUBBIO
(descrizione) PICCOLATERZO GIORNO
(citta di) TERNI
(descrizione) SIMPATICALa 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
-
ok risolto tutto grazie