faretesto > comp.www.* > comp.www.php

Enrico Maria Chellini (06.11.2017, 14:15)
perche axo la prima funziona e la seconda no?

$qcateg = $rvdb->prepare('SELECT DISTINCT categoria FROM aziende INNER
JOIN luogo ON aziende.idLuogo=luogo.idluogo WHERE
aziende.idLuogo=:idLuogomenu AND classificazione=:classificazione ORDER BY
categoria ');
$qcateg->bindParam(':idLuogomenu', $idluogomenu, PDO::PARAM_STR);
$qcateg->bindParam(':classificazione', $classificazionem, PDO::PARAM_STR);
$qcateg->execute();

$icat = $rvdb->prepare('SELECT DISTINCT aziende.categoria FROM aziende
INNER JOIN luogo ON aziende.idLuogo=luogo.idluogo WHERE
luogo.provincia=:provincia AND aziende.classificazione=:classificazione
ORDER BY aziende.categoria ');
$icat->bindParam(':provincia', $provincia, PDO::PARAM_STR);
$icat->bindParam(':classificazione', $classificazionem, PDO::PARAM_STR);
$icat->execute();

ho la suluzione punk , ma vorrei capire.

Thank .
Enrico
Leonardo Serni (06.11.2017, 21:08)
On Mon, 06 Nov 2017 13:15:51 +0100, Enrico Maria Chellini <bitit>
wrote:

>$icat = $rvdb->prepare('SELECT DISTINCT aziende.categoria FROM aziende
>INNER JOIN luogo ON aziende.idLuogo=luogo.idluogo WHERE
>luogo.provincia=:provincia AND aziende.classificazione=:classificazione
>ORDER BY aziende.categoria ');
> $icat->bindParam(':provincia', $provincia, PDO::PARAM_STR);
> $icat->bindParam(':classificazione', $classificazionem, PDO::PARAM_STR);
>$icat->execute();


>ho la suluzione punk , ma vorrei capire.


Definisci "non funziona". D errore? Non ritorna nulla?

Che tipo e che valore ha $provincia?

Leonardo
Enrico Maria Chellini (07.11.2017, 13:05)
Leonardo Serni wrote:

> On Mon, 06 Nov 2017 13:15:51 +0100, Enrico Maria Chellini <bitit>
> wrote:
> Definisci "non funziona". D errore? Non ritorna nulla?
> Che tipo e che valore ha $provincia?
> Leonardo


nessun risultato della query

$provincia ha valore AR o FI etc..

se levvo inner join nessun problema , per una o l'altra tabella. ma con
inner join picche

anche
("SELECT COUNT(*) FROM ..... ")->fetchColumn()

con inner join non mi andava .

forse va utilizzata un altra sintassi. boh?
fmigliori (07.11.2017, 22:23)
Sei sicuro che ci siano record con id corrispondenti tra le due tabelle?

tab1
1, fasfsf
2, fsfsafsf
3, fsfsafsa

tab2
9, abdlu
16, djfklsjfm

se eseguo un'inner join relazionandole tramite l'id mi restituisce un insieme vuoto.
Mario Rossi (10.11.2017, 20:05)
Il 06/11/2017 13:15, Enrico Maria Chellini ha scritto:
[..]
> $icat->bindParam(':provincia', $provincia, PDO::PARAM_STR);
> $icat->bindParam(':classificazione', $classificazionem, PDO::PARAM_STR);
> $icat->execute();


$classificazionem ?
Leonardo Serni (10.11.2017, 23:40)
On Fri, 10 Nov 2017 19:05:39 +0100, Mario Rossi <mr> wrote:


>$classificazionem ?


E' all'accusativo :-)

(o abbreviazione di 'merceologica')

Leonardo
Enrico Maria Chellini (13.11.2017, 13:34)
Leonardo Serni wrote:

> On Fri, 10 Nov 2017 19:05:39 +0100, Mario Rossi <mr> wrote:
> E' all'accusativo :-)
> (o abbreviazione di 'merceologica')
> Leonardo


la variabile che ho nominato differentemente per non far casino.

la posso chiamare anche $pacchero solo un valore
Enrico Maria Chellini (13.11.2017, 13:39)
fmigliori wrote:

> Sei sicuro che ci siano record con id corrispondenti tra le due tabelle?
> tab1
> 1, fasfsf
> 2, fsfsafsf
> 3, fsfsafsa
> tab2
> 9, abdlu
> 16, djfklsjfm
> se eseguo un'inner join relazionandole tramite l'id mi restituisce un
> insieme vuoto.


si .

comunque qui ho trovato la soluzione, ho rimodificcao il capo della tabella
lugo da idluogo a idLuogo , come il capo nella tabella aziende

che per broccineria avevo scritto in minuscolo. e ho fatto un left join
invece di inner join

cos funziona .
Alessandro Pellizzari (13.11.2017, 13:58)
On 13/11/2017 11:39, Enrico Maria Chellini wrote:

> comunque qui ho trovato la soluzione, ho rimodificcao il capo della tabella
> lugo da idluogo a idLuogo , come il capo nella tabella aziende


Ti conviene adottare uno standard per i nomi e forzarti a usarlo sempre.
Io uso:

- SQL: snake_case
- PHP: $camelCase
- JS: camelCase
- CSS: kebab-case
- HTML: kebab-case

Bye.
Leonardo Serni (13.11.2017, 19:40)
On Mon, 13 Nov 2017 12:39:45 +0100, Enrico Maria Chellini <bitit>
wrote:

>comunque qui ho trovato la soluzione, ho rimodificcao il capo della tabella
>lugo da idluogo a idLuogo , come il capo nella tabella aziende


Scusa, ma com' che non hai ricevuto un messaggio di errore? Questo mi pare
un problema pi pressante dei dati non validi.

Leonardo
Enrico Maria Chellini (14.11.2017, 17:59)
Leonardo Serni wrote:

> On Mon, 13 Nov 2017 12:39:45 +0100, Enrico Maria Chellini <bitit>
> wrote:
> Scusa, ma com' che non hai ricevuto un messaggio di errore? Questo mi
> pare un problema pi pressante dei dati non validi.
> Leonardo


perch la query l'avevo scritta considerando il fatto che i campi si
chiamavano differentemente

INNER JOIN luogo ON aziende.idLuogo=luogo.idluogo WHERE
Enrico Maria Chellini (14.11.2017, 18:07)
Alessandro Pellizzari wrote:

> On 13/11/2017 11:39, Enrico Maria Chellini wrote:
> Ti conviene adottare uno standard per i nomi e forzarti a usarlo sempre.
> Io uso:
> - SQL: snake_case
> - PHP: $camelCase
> - JS: camelCase
> - CSS: kebab-case
> - HTML: kebab-case
> Bye.


Si giusto quello che cerco di fare di solito, solo cha in questo caso,
visto l'errore, ho pensato di puntare prima alla fine del progetto, come al
solito son corto con i tempi .

ancora grazie

Enrico
Discussioni simili