Form con all'interno un numero di select a piacere

di il
1 risposte

Form con all'interno un numero di select a piacere

Buonasera e grazie per questo spazio di discussione. Sono un nuovo iscritto e questo è il mio primo post. Il mio problema è questo.
Ho una tabella "scrittori" in un database MySQL e una tabella "autori". A volte l'autore di un libro non è una persona sola. L'utente vuole unire insieme due o più scrittori per formare un unico autore: l'autore di quel libro. Ho pensato di procedere così.
Dapprima, attraverso un form chiedo all'utente quanti scrittori vuole unire tra loro. Passo la variabile allo stesso script in modalità POST con action=$_SERVER['PHP_SELF']. Dopo il passaggio di variabile faccio la query, e per creare l'elenco degli scrittori uso un ciclo WHILE. Poi metto la query e il ciclo dentro un tag SELECT. Così facendo ho un comodo elenco a discesa dal quale l'utente può selezionare uno scrittore. Metto tutto dentro un ciclo FOR che si reitera a seconda del numero di scrittori che l'utente ha indicato, in questo modo: (N.B.: i campi della tabella degli scrittori vengono anche preparati per poi inserirli nella tabella degli autori, ma questo non è un problema)

for ($i; $i<=$num_scritt; $i++) {
 echo "<select name='scrittore_$i'>";
 $query = @mysql_query("SELECT * FROM scrittori");
  while ($row = @mysql_fetch_array($query)) {
   $id_scrittore = $row['id_scrittore'];
   $nome = $row['nome'];
   $nomevero = $row['nome'] . ' ' . $row['cognome'];
   $alias_nome = $row['alias_nome'];
   $alias_cognome = $row['alias_cognome'];
   $pseudonimo = $row['alias_nome'] . ' ' . $row['alias_cognome'];
    if (empty($alias_nome) and empty($alias_cognome)) { $scrittore = $nomevero; }
    else { $scrittore = $nomevero . '(' . trim($pseudonimo) . ')'; }
    echo "<option value='$scrittore'>$scrittore</option>";
  } 
  echo "</select> - scegli lo scrittore n. $i<br />";
}
La domanda è la seguente. Come faccio quando devo passare la variabile:
echo "<select name='scrittore_$i'>";
allo script che la elaborerà? qual è la giusta sintassi?

Questa istruzione di certo non funziona...
$var = $_POST['scrittore_$i'];
Concludo dicendo che, arrivato fin qui, non so neanche se questo sia il modo giusto di gestire la faccenda... Non so neanche lavorare con gli array e dovrei studiarmeli dal principio!

Grazie fin d'ora a chi tenterà di farmi capire qualcosa,
Albe72.

1 Risposte

Devi accedere o registrarti per scrivere nel forum
1 risposte