Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

visualizzazione sql - join table

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Triumph Of Steel, archimede

visualizzazione sql - join table

Postdi vsilviaus » 04/11/07 14:09

Ciao a tutti,
probblema:

2 tabelle:

a_cat contenente le categorie: xxx
yyy
a_cat_sotto contenente le sottocategorie: 111 AAA
111 BBB
222 AAA
222 BBB
avrei bisogno di vizzualizare ogni categoria con le relative sottocategorie. a me invece viene la prima categoria con le sottocategorie della deconda categoria. :cry:

dove sto sbagliando?

$cat_1 = "SELECT * FROM a_cat LEFT JOIN a_cat_sotto ON a_cat.cat_id = a_cat_sotto.cat_sotto_id";
$result = mysql_query($cat_1, $conex);
while ($row = mysql_fetch_array($result))
{
echo "$row[cat_nome]<br> <b>$row[a_cat_sotto_valore]</b><br>";

}

grazie 1000
vsilviaus
Utente Junior
 
Post: 17
Iscritto il: 10/05/07 21:14

Sponsor
 

Re: visualizzazione sql - join table

Postdi archimede » 04/11/07 14:30

La query non è chiarissima, almeno per me. Provo a interpretare:
Codice: Seleziona tutto
SELECT c.cat_nome, s.valore FROM
       a_cat c, a_cat_sotto s WHERE c.cat_id = s.cat_id ORDER BY 1, 2;
HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi Dylan666 » 04/11/07 14:37

La tua query dice:

Seleziona qualunque record da a_cat in base a_cat_sotto solo dove a_cat.cat_id è uguale a a_cat_sotto.cat_sotto_id.

Io comunque non ho ancora capito come sono fatte le due tabelle, che campi hanno e cose vuoi vedere di esse.
Vuoi vedere tutti i campi si di una che dell'altra?
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi vsilviaus » 04/11/07 14:42

grazie tante alessandro, ma purtroppo nn funziona.

quello che io ho ottenuto si può vizzualizare qui: http://www.napoli5.it/prova.php

io avrei bisogno di visualizzarlo cosi:

xxx
111 AAA
111 BBB

yyy
222 AAA
222 BBB
vsilviaus
Utente Junior
 
Post: 17
Iscritto il: 10/05/07 21:14

Postdi Dylan666 » 04/11/07 14:51

Prova con un ciclo a due query.
Il primo ciclo estrapola uno per volta il nome dellle categorie e lancia il secondo ciclo che estrae tutte le sottocategorie
Avatar utente
Dylan666
Moderatore
 
Post: 38040
Iscritto il: 18/11/03 16:46

Postdi archimede » 04/11/07 14:56

vsilviaus ha scritto:purtroppo nn funziona.
Purtroppo nn funziona è un po' vago.

In ogni caso dovrai mettere un controllo nel codice php (linguaggio che conosco molto poco) per scrivere la categoria (xxx, yyy, ec.) solo quando questa è diversa dalla categoria del record precedente.

In alternativa, ma non lo raccomando, puoi fare due query (una per le categorie e un'altra per ogni record che trovi nella prima).

HTH.

Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi vsilviaus » 04/11/07 14:58

ho già provato. nn va, Dylan 666
ti faccio vedere le tables stesso nela pagina data come esempio
http://www.napoli5.it/prova.php
vsilviaus
Utente Junior
 
Post: 17
Iscritto il: 10/05/07 21:14

Postdi vsilviaus » 04/11/07 16:23

tabella categorie a_cat

Immagine



tabella sottocategorie a_cat_sotto

Immagine
vsilviaus
Utente Junior
 
Post: 17
Iscritto il: 10/05/07 21:14

Postdi archimede » 04/11/07 17:09

Codice: Seleziona tutto
SELECT c.cat_nome, s.a_cat_sotto_valore FROM
       a_cat c, a_cat_sotto s WHERE c.cat_id = s.cat_sotto_id ORDER BY 1, 2;
Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi vsilviaus » 04/11/07 18:01

grazie alessandro. xo il tuo script mi fa visualizzare questo:

xxx
111 AAA
xxx
111 BBB
yyy
222 AAA
yyy
222 BBB

io sto cercando questo:

xxx
111 AAA
111 BBB

yyy
222 AAA
222 BBB



grazie .
vsilviaus
Utente Junior
 
Post: 17
Iscritto il: 10/05/07 21:14

Postdi archimede » 04/11/07 18:35

archimede ha scritto:In ogni caso dovrai mettere un controllo nel codice php (linguaggio che conosco molto poco) per scrivere la categoria (xxx, yyy, ec.) solo quando questa è diversa dalla categoria del record precedente.
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi vsilviaus » 04/11/07 18:46

scusa archimede,
ma con questo io riesco solo a visualizzare 1 categoria per pagina con le relative sottocategorie. avrei bisogno di tirare fuori entrambe le categorie oppure più di due nella stessa pagina.

se mi facessi un esempio, forse riuscirei a chiarirmi le idee. semplicemente nn ci arrivo... :cry: :cry: :cry:

grazie
vsilviaus
Utente Junior
 
Post: 17
Iscritto il: 10/05/07 21:14

Re: visualizzazione sql - join table

Postdi archimede » 04/11/07 20:05

Mah, io l'esempio te lo faccio (anche se francamente non ne vedo la necessità), ma siccome php non è il mio forte ci sono buone probabilità che questo codice non funzioni:
Codice: Seleziona tutto
$oldcat = " ";
while ($row = mysql_fetch_array($result))
{
  if ($oldcat != $row[cat_nome]) {
    $oldcat = $row[cat_nome];
    echo "$row[cat_nome]<br />";
  }
  echo "<b>$row[a_cat_sotto_valore]</b><br />";
}
Alessandro
archimede
Moderatore
 
Post: 2755
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi vsilviaus » 05/11/07 11:02

una meraviglia!!!
grazie alessandro. grazie a tutti.
vsilviaus
Utente Junior
 
Post: 17
Iscritto il: 10/05/07 21:14


Torna a Programmazione


Topic correlati a "visualizzazione sql - join table":

SCOPRIRE UNA VISUALIZZAZIONE
Autore: asta72
Forum: Discussioni
Risposte: 1

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite