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

    selezionare dato attraverso un form

    Salve!
    Il mio problema è questo: ho una pagina che riceve l'invio di un form. Questa pagina dovrebbe prendere quell'invio (IDpersona) e usarlo per selezionare determinati dati da tre tabelle del db. Posto il codice per capirci meglio:

    codice:
    // riceviamo i dati del form 
    $IDpersona = $_REQUEST[dipendenti];
    
    // selezioniamo i dati del dipendente 
    $selDip = mysql_query("SELECT * FROM anagrafica 
    			JOIN logistica ON anagrafica.IDpersona = logistica.IDpersona
    			JOIN domicilio ON anagrafica.IDpersona = domicilio.IDpersona
    			WHERE (anagrafica.IDpersona = '$IDpersona')")
    	or die (mysql_error());
    Poi questi dati dovrebbero essere visualizzati qua:
    codice:
    // visualizziamo il dipendente
    while ($a = mysql_fetch_array($selDip)) {
    	if ($a == NULL) {
    		print ("Nessun risultato!");
    	} else {
    		print (tutti i dati formattati...]);
    	}
    };
    Però l'output che da è vuoto, non mi mostra nemmeno il [print ("Nessun risultato!")].
    Secondo voi dov'è che sbaglio?
    Grazie mille

  2. #2
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    hai provato a mettere gli apici?
    $IDpersona = $_REQUEST["dipendenti"];

    e a mettere un echo davanti alla query per vedere se ha un valore?

  3. #3
    Si, ho provato e il valore mi viene restituito :master:

  4. #4
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    se metti un echo prima di questo cosa vedi? c'e' tutto o qualcosa vuoto?
    $selDip = mysql_query("SELECT * FROM anagrafica
    JOIN logistica ON anagrafica.IDpersona = logistica.IDpersona
    JOIN domicilio ON anagrafica.IDpersona = domicilio.IDpersona
    WHERE (anagrafica.IDpersona = '$IDpersona')")
    or die (mysql_error());

  5. #5
    Se metto un echo fra $IDpersona = $_REQUEST["dipendenti"]; e la query mi restituisce un valore numerico, che è l'ID del dipendente, quello che seleziono nella select della pagina di scelta del dipendente...
    Secondo me ho qualcosa di sbagliato nella query

  6. #6
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    cosi' cosa visualizzi?
    echo $selDip = mysql_query("SELECT * FROM anagrafica JOIN logistica ON anagrafica.IDpersona = logistica.IDpersona JOIN domicilio ON anagrafica.IDpersona = domicilio.IDpersona WHERE anagrafica.IDpersona = '$IDpersona'") or die (mysql_error());

    hai provato a fare le query separate? potrebbe essere la sintassi delle join..

  7. #7
    cosi' cosa visualizzi?
    echo $selDip = mysql_query("SELECT * FROM anagrafica JOIN logistica ON anagrafica.IDpersona = logistica.IDpersona JOIN domicilio ON anagrafica.IDpersona = domicilio.IDpersona WHERE anagrafica.IDpersona = '$IDpersona'") or die (mysql_error());
    qualsiasi dipendente scelga, mi visualizza sempre 1
    COmunque provo a fare query separate, come mi hai detto

  8. #8
    Utente di HTML.it L'avatar di marco80
    Registrato dal
    May 2005
    Messaggi
    1,357
    potrebbe essere un problema del form nell'invio allora.. se esce sempre uno prob. non associa il valore corretto...
    se vuoi posta il codice

  9. #9
    Il form di invio recupera i nomi dei dipendenti dal db e li visualizza in una select. Il codice è questo:
    codice:
    Modifica un dipendente
    
    
    <form action="modifica_dip.php" method="post" name="nome_dip">
       <?php
    	$elencoDip = mysql_query("SELECT nome, cognome, IDpersona FROM anagrafica");
    					
    	print ("<select name=\"dipendenti\">");
    	while ($a = mysql_fetch_array($elencoDip)) {
    		print ("<option value=\"". $a[IDpersona] .    "\">" . $a[cognome] . "," . $a[nome] . "</option>");
    	}; 
    	print ("</select>
    
    ");
       ?>
    Però questo funziona... se faccio un echo mi visualizza l'IDpersona del dipendente selezionato :master:

  10. #10
    Ho risolto facendo tre query separate invece che un'unica con i JOIN

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.