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

    menù tendina in modifica

    ciao a tutti
    ho un menù a tendina che, in fase di modifica, deve posizionarsi con "selected" nel comune di residenza della persona scelto nella fase di inserimento. il select che faccio prende i dati da due tabelle, comuni e utenti. (SELECT * FROM comuni,utenti).
    la funziona invece è questa
    .....
    while ($row = mysql_fetch_array($result)){
    $com_id=$row[com_id];
    $utenti_citta=$row[utenti_citta];

    echo "<option value=".$row[com_id]."";
    if($utenti_citta==$com_id)
    {
    echo" SELECTED";
    }
    echo ">".$row[com_nome]."</option>\n";
    ....
    ricevo un risultato strano. i comuni si ripetono tante volte quanto utenti ho inserito.
    ho provato con distinc e group by nella query ma senza risultato...

  2. #2
    La query è sbagliata! Così fai una cross-join ed avrai ogni comune ripetuto per ogni utente!
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  3. #3
    ho provato anche con distinct ma ottengo comunque un risultato errato. cosa mi consigli?
    ciao e grazie

  4. #4
    Non ti serve un distinct ma una clausola where però dovrei sapere cosa deve fare la query e come sn fatte le tabelle
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

  5. #5
    ho fatto così ma ricevo come risultato solo i comuni degli utenti iscritti e non tutto l'eleconco con il "selected" su un solo risultato e cioè il comune dell'utente.

    SELECT * FROM comuni,utenti WHERE comuni.com_id=utenti_citta

  6. #6
    Prova a dirci come son fatte le 2 tabelle, da che campi son composte?
    .: Teju.it - Una vita da raccontare
    .: 8s8.it - Wordpress gratis per tutti
    .: Vado.li - Accorcia URL

  7. #7
    eccole:
    `com_id` int(11) default NULL,
    `com_nome` varchar(200) default NULL,
    `com_stato` char(3) default NULL

    `utenti_id` int(5) NOT NULL auto_increment,
    `utenti_data_ins` date default NULL,
    `utenti_data_mod` date NOT NULL default '0000-00-00',
    `utenti_cod_cat` varchar(10) default NULL,
    `utenti_codice` varchar(15) NOT NULL,
    `utenti_denominazione` varchar(80) default NULL,
    `utenti_descrizione` varchar(200) NOT NULL default '',
    `utenti_indirizzo` varchar(60) default NULL,
    `utenti_numero` varchar(5) default NULL,
    `utenti_cap` varchar(10) default NULL,
    `utenti_citta` int(11) default NULL,
    `utenti_provincia` varchar(40) default NULL,
    `utenti_nazione` varchar(30) default NULL,
    `utenti_tel1` varchar(20) default NULL,
    `utenti_tel2` varchar(20) default NULL,
    `utenti_fax` varchar(20) default NULL,
    `utenti_cell` varchar(20) default NULL,
    `utenti_email1` varchar(50) default NULL,
    `utenti_email2` varchar(50) default NULL,
    `utenti_login` varchar(20) default NULL,
    `utenti_password` varchar(20) default NULL,
    `utenti_imm1` varchar(30) default NULL,
    `utenti_imm2` varchar(30) default NULL,
    `utenti_imm3` varchar(30) default NULL,
    `utenti_did_imm1` varchar(80) default NULL,
    `utenti_did_imm2` varchar(80) default NULL,
    `utenti_did_imm3` varchar(80) default NULL,
    `utenti_web` varchar(80) default NULL,
    `utenti_note` mediumtext,
    `utenti_stato` varchar(5) NOT NULL default ''

  8. #8
    In pratica: devi fare una query solo sulla tabella dei comuni, così che li prendi tutti, poi x ciascuno devi confrontare l'ID del comune con quello dell'utente e se è == allora mettere il SELECT
    .: Teju.it - Una vita da raccontare
    .: 8s8.it - Wordpress gratis per tutti
    .: Vado.li - Accorcia URL

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 © 2024 vBulletin Solutions, Inc. All rights reserved.