Visualizzazione risultati 1 fino 4 di 4

Discussione: Join mysql e select

  1. #1
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito Join mysql e select

    Ciao

    ho 2 tabelle
    la prima si chiama 'scadenze' con questi campi:

    id
    numero_doc
    data
    descrizione
    fornitore
    importo
    giono
    datascad
    note
    stato


    la seconda si chiama' fornitori' con questi campi:

    id
    denominazione
    indirizzo
    citta
    ...
    ce ne sono pure altri di campi in questa tabella ma a me serve stampare solo i primi 3

    Devo richiamare i record della prima tabella e
    nel campo fornitore c'è l'id dei fornitori i cui dati sono nella seconda tabella.

    Come avrete già capito devo collegare con una JOIN la prima alla seconda tabella e in pratica stampare tutti i dati della prima e quelli dei primi 3 campi della seconda (basterebbe anche solo la denominazione a dire il vero.

    Mi sto incasinando con la query che avevo abbozzato ad una cosa del genere:

    $query = "SELECT *, date_format(datascad, '%d/%m/%Y') as data_scad FROM scadenze ORDER BY datascad, id";

    dimenticando il JOIN ovviamente.

    Mi potete suggerire come fare?

    Grazie

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Questa dovrebbe funzionare:
    Codice:
    SELECT scadenze.*, denominazione, indirizzo, citta
    FROM scadenze INNER JOIN fornitori ON scadenze.fornitore = fornitore.id
    ORDER BY datascad, scadenze.id
    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    gianlucaweb non è connesso Utente attivo
    Data registrazione
    01-01-2003
    Messaggi
    470

    Predefinito

    Citazione Originalmente inviato da dementialsite Visualizza messaggio
    Questa dovrebbe funzionare:
    Codice:
    SELECT scadenze.*, denominazione, indirizzo, citta
    FROM scadenze INNER JOIN fornitori ON scadenze.fornitore = fornitore.id
    ORDER BY datascad, scadenze.id
    Stammi bene...

    woooow grande. GRAZIE!

    anche se qui era:
    scadenze.fornitore = fornitori.id (fornitori non fornitore..acc ci stavo sbattendo già la testa)

    ti posto la query completa. Va bene così:

    Codice PHP:
    $query = "SELECT scadenze.*, denominazione, date_format(datascad, '%d/%m/%Y') as data_scad FROM scadenze INNER JOIN fornitori ON scadenze.fornitore = fornitori.id ORDER BY datascad, scadenze.id LIMIT $from, $max_results";
    $risultato = mysql_query($query);

    $i = 0;
    while (
    $record = mysql_fetch_array($risultato)) {
    $id = $record["id"];
    $doc = $record["doc"];
    $descrizione = $record["descrizione"];
    Pensavo che questa parte:

    denominazione, date_format(datascad, '%d/%m/%Y') as data_

    potesse darmi dei problemi (non sapevo se la posizione del date format per la data presente in scadenze fosse giusta) ma sembra che sia a posto.

    Confermi?

    Grazie ancora

  4. #4
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Cambiare l'ordine degli attributi visualizzati non dà nessun problema, soprattutto se poi in PHP navighi il record usando le chiavi per nome.

    Se invece usi le chiavi numeriche, devi ricordarti che 0 è il primo campo, 1 il secondo e così via: in questo caso, cambiando l'ordine dei campi cambierà anche l'indice ad essi associato...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •