Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Relazioni tra tabelle e estrazione dati

    Vi spiego il mio problema

    Nel mio db ho due tabelle: giocatori e squadre

    Tabella giocatori
    IDGiocatori | Nome
    ------------------------
    1 | Mario
    2 | Rosa
    3 | Adelaide
    4 | Alfonso

    Tabella squadre
    Idsquadra | giocatore1 | giocatore2
    --------------------------------------
    1 | 1 | 4


    Le due chiavi primarie sono IDGiocatori e IDSquadra.
    Ho creato una relazione tra le due tabelle attraverso PHPmyadmin in cui sono in relazione l'idGiocatori con i campi giocatore1,2 ec...

    PHPmyadmin mi ha restituito questo codice
    ALTER TABLE `squadre` ADD FOREIGN KEY ( `giocatore1` ) REFERENCES `db`.`giocatori` (`idGiocatori`);
    ALTER TABLE `squadre` ADD FOREIGN KEY ( `giocatore2` ) REFERENCES `db`.`giocatori` (`idGiocatori`);

    Prima domanda: la relazione è costruita correttamente?

    Quello di cui ho bisogno è una query che mi selezionia del giocatore1, giocatore2, ecc.. dando solo in input solo l'IDSquadra.
    In pratica voglio che dall'id squadra, mi prenda l'id dai campi giocatore1,2 ecc.. e che attraverso questo mi dia come output i nome dei giocatori.

    Spero di esser stato chiaro e un grazie a chi riuscirà ad aiutarmi.

    Ne approfitto per complimentarmi con il forum visto che se sto imparando a programmare decentemente lo devo ai molti suggerimenti trovati sul forum e sul sito.

  2. #2
    Cercando in rete ho trovato un modo, attraverso l'utilizzo di join.
    E, incredibilmente, funziona anche.

    Potete pure chiudere e grazie comunque.

  3. #3
    Un'altra cosa semplice vi chiedo:


    Codice PHP:
    $query 'SELECT nome,nick FROM utenti order by id desc'$result mysql_query($query$db); 
    while (
    $row mysql_fetch_array($result))  echo "<tr><td align=\"center\" width=\"12%\"><font face=\"Verdana\" size=\"1\">???</font></td> <td width=\"50%\"><font face=\"Verdana\" size=\"1\">{$row[nome]}</font></td> <td width=\"38%\"><font face=\"Verdana\" size=\"1\">{$row[nick]}</font></td></tr>"

    Io estraggo due dati nome e nick e per ogni record mi costruisce una riga di una tabella con tre celle. La seconda e la terza cella la riempo con nome e nick.
    La prima cella vorrei che ci fosse un ordine del tipo:
    1. nome nick
    2. nome nick
    3. nome nick

    Il problema è che ho provato diversi modi ma non ne vengo a capo. So che è una cosa semplice ma non mi viene la soluzione.

    Grazie.

  4. #4
    Utente di HTML.it L'avatar di deleted_id_48586
    Registrato dal
    Nov 2002
    Messaggi
    1,732
    Non so se ho capito bene, nel caso ti basta aggiungere alla fine della query:

    Codice PHP:
    order by nome ascnick asc 

  5. #5
    Originariamente inviato da Sgurbat
    Non so se ho capito bene, nel caso ti basta aggiungere alla fine della query:

    Codice PHP:
    order by nome ascnick asc 
    Non è una questione di ordinamento. Escono già ordinati come voglio.
    con la query escono dati del tipo

    Giorgio Nick
    Giuseppe nick

    Il problema è che vorrei che ci fosse un numero ordinale dei record che escono.
    cioè vorrei:

    1. Giorgio Nick
    2. Giuseppe Nick

    Come genero la variabile 1. 2. ecc...?
    Ho provato delle cose del tipo

    $contatore=0;
    poi dentro il while
    $contatore++
    e poi richiamo la variabile $contatore in tabella.
    Ma non funziona perchè esce errore.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.