[PHP] Form con elenco a tendina con dati DB

valerio matrix

Nuovo Utente
7 Mag 2015
33
0
6
Sono giorni che ci provo ma senza successo. So che dovrebbe essere un passaggio semplice, ma non riesco a venirne a capo.
Ho un piccolo DB con quattro tabelle. Le prime tre tabelle hanno già dei record mentre la quarta racchiude solo le chiavi primarie delle tre tabelle.
Ora il problema è: come faccio a inserire le chiavi primarie dentro la quarta tabella? e cosa più importante devo capire prima il nome di ogni singola persona prima di relazionarla con il posto dove lavora e la sua funzione.
Avevo provato varie cose ma tutte senza risultato. Posto il poco di lavoro che ho fatto:
Codice:
<?php
//dati connessione
...
$get_lavoratori_query = "SELECT cognome FROM lavoratori";
   $risultato_lav = mysqli_query($conn, $get_lavoratori_query);
   
   $get_fa_query = "SELECT nome FROM funz_aziendale";
   $risultato_fa = mysqli_query($conn, $get_fa_query);
   
   $get_strut_query = "SELECT nome FROM struttura";
   $risultato_strut = mysqli_query($conn, $get_strut_query);

   if($risultato_lav === false){
       die("<p> Errore </p>");
   }
   
       
       while ($lavoratori = mysqli_fetch_array($risultato_lav))
       {
           
            $lavoratori['cognome'] ;
           
       }

   
   
       
?>
e l'html
Codice:
<?php
require '../scripts/select_organigramma.php';

?>
<html>
<head>
   <link href="css/stile.css" rel="stylesheet" type="text/css">
   <link href="css/classi.css" rel="stylesheet" type="text/css">
   <title> Seleziona Organigramma </title>
</head>
<body>
   <div class="conteiner_titolo">
       <h1> SELEZIONA ORGANIGRAMMA </h1>
   </div>
   
   <div class="conteiner_ext_form_new">
       <form action="scripts/" method="POST">
       <select name="nome">
       <option value= "<?php $lavoratori; ?>"> <?php echo "$lavoratori"; ?> </option>
       <option value="scelta due">scelta due</option>
       </select>
       </form>
       
   </div>
   
   
</body>
</html>
 

AdeKnite

Utente Attivo
3 Ago 2016
161
35
28
30
Ciao, scusa ma non ho capito. Hai detto che la quarta tabella racchiude le chiavi delle prime tre tabelle. Subito dopo però chiedi come inserire tali chiavi nella quarta tabella.

Questa tabella è, dunque, vuota?
 

valerio matrix

Nuovo Utente
7 Mag 2015
33
0
6
esatto. sono quattro tabelle (lavoratore, funzione_aziendale, struttura, organigramma). Organigramma è vuota e deve racchiudere oltre il proprio id anche gli id delle altre tre tabelle in modo da poter avere un organigramma.
ad esempio, "Mario Rossi" "presidente" della struttura "ospedale". In organigramma metto solo gli id dei campi appena citati..
 

AdeKnite

Utente Attivo
3 Ago 2016
161
35
28
30
Ok. Il tuo obiettivo è quello di creare un form in cui vai a smistare ogni singola persona presente in lavoratori, secondo funzione aziendale e struttura, all'interno della tabella organigramma?
 

valerio matrix

Nuovo Utente
7 Mag 2015
33
0
6
esatto. Calcolando che per adesso è un DB molto semplice, ma l'ho creato per capire. Piano piano cerco di migliorarlo. Sono giorni che però sbatto e risbatto su questo punto.
 

valerio matrix

Nuovo Utente
7 Mag 2015
33
0
6
Sto provando a leggere ma non comprendo proprio tutto in inglese. Comunque, se non volessi fare con il menù a tendina, come li posso relazionare le mie tre tabelle?
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
il problema non è il menu a tendina, ma come gestire una gerarchia di dati in un database relazionale
 

valerio matrix

Nuovo Utente
7 Mag 2015
33
0
6
Cosa intendi per gerarchia? A me le tabelle servono solo in relazione tra loro. Organigramma è solo una tabella che mi registra che il lavoratore X dal giorno Y in poi, svolge dentro la struttura Z il compito W. E' solo un dato indicativo che viene stampato quando serve in una pagina dinamica. Io poi non devo interagire in modo differente in base al grado o ruolo che ricoprono in azienda, e quindi con il quale sono stati registrati.
 

AdeKnite

Utente Attivo
3 Ago 2016
161
35
28
30
Per una questione di comodità immediata io inserirei le chiavi delle tabelle funzioni e struttura all'interno di due colonne della tabella lavoratori (chiamandole ad esempio fk_struttura e fk_funzioni), facendo a meno della tabella organigramma. E poi sviluppare da lì ciò che ti serve.

In ogni caso, la mia idea è quella di ciclare direttamente sulla tabella lavoratori, inserendo ogni riga all'interno di un form, il quale a sua volta conterrà due select con i possibili valori assumibili da fk_struttura e fk_funzioni e poi andare in update sulla lavoratori.
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
Per una questione di comodità immediata io inserirei le chiavi delle tabelle funzioni e struttura all'interno di due colonne della tabella lavoratori (chiamandole ad esempio fk_struttura e fk_funzioni), facendo a meno della tabella organigramma. E poi sviluppare da lì ciò che ti serve.
l'articolo citato in un mio post suggeriva di evitare la tabella organigramma e proponeva due metodi per gestire la gerarchia
ma, se l'inglese è un problema ...
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
scusate se mi intrometto, ma se non ho capito male il problema valerio matrix chiede come fare per riempire una tabella con i vari id selezionati.
se è così non capisco perchè la facciate così complicata, schematizzo
PHP:
<?php
//dati di connessione
if(isset($_POST['invia'])){
    $id_lav=$_POST['lav'];
    $id_fun=$_POST['fun'];
    $id_str=$_POST['str'];
    $query="INSERT INTO organigramma(id_lav,id_fun,id_str) VALUES($id_lav,$id_fun,$id_str)";
    if(mysqli_query($query)){
        echo "OK";
    }else{
        echo "KO";
    }
}
echo "<form action='".$_SERVER['PHP_SELF']."' method='post'>";
$q_lavoratori=mysqli_query($conn,"SELECT * FROM FROM lavoratori ORDER BY cognome");
echo "<select name='lav'>";
while($riga=mysqli_fetch_assoc($q_lavoratori)){
    echo "<option value='".$riga['id']."'>".$riga['cognome']."</option>";
}
echo "</select><br>";
//stessa cosa per la funzione aziendale e la struttura
//evidetemente cambiando nomi tabella e sekect
echo "<input type='submit' name='invia' value='invia'>";
echo "</form>";
?>
a cosa servirà poi quella tabella, probabilmente per creare delle relazioni, sarà un problema successivo

p.s.
quando inserite codice usate gli appositi bccode
 
Ultima modifica:

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
@Borgo, non è complicata ... ora, ma lo sarà in caso di modifiche alla struttura organizzativa che è memorizzata nel db
ma ... chi vivrà vedrà
at salut
 

marino51

Utente Attivo
28 Feb 2013
3.203
207
63
Lombardia
ricorda che si impara di più dai propri errori che da quelli degli altri
caro Gianni, le massime filosofiche non aiutano l'apprendimento, i libri e qualche articolo ben fatto, si
spesso si affrontano soluzioni con meno del minimo delle conoscenze, ma è la vita di oggi

ps suggerivo una buona lettura non errori ....
 

valerio matrix

Nuovo Utente
7 Mag 2015
33
0
6
Buongiorno. Vi ringrazio per gli utili consigli. Sto provando a studiare php e mysql su dei libri e cerco di fare pratica, realizzando questi piccoli db. Ora, per quello che ho capito, le cose che si studiano entrano in testa se vengono poi applicate a livello pratico e per questo motivo, sto cercando di realizzare questa struttura. Il problema è che carico i dati nel db, li riesco a stampare ma non riesco a fare ciò che ho chiesto nel post e non trovo nemmeno un metodo per farlo su il libro. Sicuramente devo provare e riprovare ma vi ringrazio per l'aiuto.
borgo italia ho provato il tuo codice, ma quando lo eseguo mi stampa solo il form con il menu a tendina, vuoto. Sto cercando di capire il perchè.
 

AdeKnite

Utente Attivo
3 Ago 2016
161
35
28
30
Sulla base di ciò che ti avevo detto nella mia ultima risposta, avevo messo insieme del codice che faceva ciò di cui hai bisogno. Ed è contenuto nel file in allegato.

Le strutture non sono le tue originali (viene a mancare la tabella organigramma).

EDIT:
ho visto solo ora che hai risolto. Come non detto.
Al limite puoi vederla come un'alternativa o esercizio. ;)
 

Allegati

  • sample.txt
    7,7 KB · Visite: 370
Discussioni simili
Autore Titolo Forum Risposte Data
S passare un valore da un form a un file .php con metodo post PHP 4
G Invio form con PHP PHP 3
S [PHP] Recupero nome immagine da Form con input file PHP 3
C [PHP] Form con Inserimento dati dalla maschera e un menù a discesa che prende i dati dal db PHP 1
I [PHP] inviare form con allegato tramite una mail PHP 1
P PHP - Leggere una pagina passata con Form e Captcha PHP 0
alessandra86 [PHP] Popolamento database con form ricorsivi - problema array (foreach ) PHP 5
U [PHP] Form stessa pagina con qualche complicazione PHP 0
S [PHP] form con metodo get e recupero id PHP 4
michela90 [PHP] Refresh page on submit - Form con Swiftmailer PHP 14
G [PHP] FORM INVIO VALORI A QUERY CON TRE CONDIZIONI PHP 2
F [PHP] Validare form prenotazione appuntamento tattoo con upload image PHP 0
S Html con form e action .php PHP 6
bubino8 [PHP] Auto Submit form con dati PHP 7
Matteo Lorenzon [PHP][WORDPRESS] Form in Wordpress, creazione PDF con dati del form ed invio tramite email WordPress 1
zammaeng [PHP] Problema form con lista PHP 8
asevenx [PHP] form con select che non invia dati se con apostrofo PHP 4
SimooRu [PHP] Non riesco a far passare i dati con i form PHP 4
S [PHP] Form iscrizione senza DB con comandi deprecated PHP 10
Fuego2806 [PHP] Stampare dati Form su immagine di sfondo con html PHP 70
C [PHP] Upload immagine in un form con target _blank: non funziona PHP 7
M form php con checkbox PHP 4
D form php con chapta PHP 1
P invio mail da form con dati php PHP 7
P PHP mailer invio form con 2 allegati. PHP 3
F controllo form php con restituzione errori nella form PHP 10
S Form invio mail html, con invio tramite file denominato invio.php PHP 8
P Verifica form solo con php senza javascript PHP 15
F Form Multipli con PHP e SQL PHP 0
M Tabella PHP con sorgente dati csv: selezionare le riche e compilare Form eMail PHP 1
elpirata Generazione dinamica righe form con php PHP 2
L come passare il campo allegato dal file html al fiel php per spedirlo con un form PHP 12
S Problema php con form PHP 0
A Pulsante per compilare una form php in automatico con dati presi da un db PHP 6
S Problema con l'invio del form in php PHP 0
P controllo dati form con jquery e php PHP 8
S Form PHP e validazione con ritorno di parametro PHP 0
A problema con un semplice form per un loggin in php PHP 2
C problema invio mail con form php PHP 0
alessandro1997 Form con campi multipli in PHP PHP 5
B Creare form contatti con php PHP 4
M [Cerco retribuito] Form info varie con allegato FLASH + PHP Offerte e Richieste di Lavoro e/o Collaborazione 0
I [PHP]Problema sito con form login in ogni pagina PHP 7
A Form per alimentare un DB con PHP: aiuto!! PHP 17
W [Php - MySql] ricerca con form select diversi PHP 14
A Nascondere gli elementi di un form con php PHP 5
P Problema moduli Form.php con browser diversi PHP 2
SolidSnake4 invio file video con form php PHP 8
T ho un problema con un form in php PHP 1
F ordinare una form con uno script php PHP 2

Discussioni simili