[PHP] ciclo while non scrive dove dovrebbe...

gandalf1959

Utente Attivo
21 Nov 2013
208
1
18
Buongiorno a tutti.
in una struttura di backoffice che ho scritto qualche tempo fa devo fare una variazione. Si tratta di una sezione cje si occupa della registrazione di lezioni di cucina. In particolare con questa pagina devo dare la possibilità all'operatore, per le lezioni che si ripetono, di inserire il numero di appuntamenti previsti. In seguito all'inserimento di tele numero genero il numero di righe corrispondente in cui insìdicare giorno, mese, anno e dettagli di quella particolare lezione.
Il ciclo while funziona, salvo che non viene scritto nel div che contiene il codice, e non so come mai.

Qui il codice della pagina:
Codice:
<?php
session_start();
//se non c'è la sessione registrata
if (!$_SESSION['autorizzato']) {
  echo "<h1>Area riservata, accesso negato.</h1>";
  echo "Per effettuare il login clicca <a href='index.php'><font color='blue'>qui</font></a>";
  die;
}
 
//Altrimenti Prelevo il codice identificatico dell'utente loggato

$cod = $_SESSION['cod']; //id cod recuperato nel file di verifica


/* Recupero i dati delle lezioni */
$evento = $_POST['evento'];
$chef2 = $_POST['chef2'];
$titolo2 = $_POST['titolo2'];
$sottotitolo = $_POST['sottotitolo'];
$euro2 = $_POST['prezzo2'];
$posti2 = $_POST['posti2'];
if (isset($_POST['ok']))
righe();


?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Inserimento calendario scuola di cucina</title>
<link href="backoffice.css" rel="stylesheet" type="text/css" />
<script src="backoffice.js"></script>



</head>


<body>


<div id="inserimento" class="testi">
  Bene, <? echo "$cod"; ?> <br />
  Ti ricordo che stai registrando:<br>
  <b><? echo "$evento"; ?></b><br>
  A cura dello chef <? echo "$chef2"; ?><br>
  Titolo: <? echo "$titolo2"; ?><br>
  (<? echo "$sottotitolo"; ?>)<br>
  Dettagli:<br>
  <? echo "$dettagli2"; ?><br>
  I posti disponibili sono: <? echo "$posti2"; ?> e il prezzo indicato è di Euro <? echo "$euro2"; ?>.<br>
  <hr>
  <p>
    <form name="appuntamenti" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
    <b>INSERISCI IL NUMERO DI APPUNTAMENTI: </b>
  
    <input name="appuntamenti" id="appuntamenti" type="text" size="3">
    &nbsp; &nbsp; &nbsp;
    <input name="ok" type="submit" id="ok" value=" Conferma "/>
  </form>
  </p>
</div>

  

  <div id="lerighe">

    <table width="600px" border="0" cellspacing="0" cellpadding="0" bgcolor="#CCCCCC" border="1">
    <?
      function righe() {
        $righe = $_POST['appuntamenti'];

        while ($righe > 0) {
          echo "<tr>";
          echo "<td bgcolor='#FFFFFF'>";
          echo "Anno: ";
          echo "<select name='anno1' id='anno1' class='h5b'>
                  <option value='' selected='selected'>==</option>
                  <option value='2013'>2013</option>
                  <option value='2014'>2014</option>
                  <option value='2015'>2015</option>
                  <option value='2016'>2016</option>
                  <option value='2017'>2017</option>
                  <option value='2018'>2018</option>
                  <option value='2019'>2019</option>
                  <option value='2020'>2020</option>
                </select>";
          echo "Mese: ";
          echo "<select name='mese1' id='mese1' class='h5b'>
                  <option value='' selected='selected'>==</option>
                  <option value='1'>Gennaio</option>
                  <option value='2'>Febbraio</option>
                  <option value='3'>Marzo</option>
                  <option value='4'>Aprile</option>
                  <option value='5'>Maggio</option>
                  <option value='6'>Giugno</option>
                  <option value='7'>Luglio</option>
                  <option value='8'>Agosto</option>
                  <option value='9'>Settembre</option>
                  <option value='10'>Ottobre</option>
                  <option value='11'>Novembre</option>
                  <option value='12'>Dicembre</option>
                </select>";
          echo "Giorno: ";
          echo "<select name='giorno1' id='giorno1' class='h7b'>
                  <option value='' selected='selected'>==</option>
                  <option value='1'>1</option>
                  <option value='2'>2</option>
                  <option value='3'>3</option>
                  <option value='4'>4</option>
                  <option value='5'>5</option>
                  <option value='6'>6</option>
                  <option value='7'>7</option>
                  <option value='8'>8</option>
                  <option value='9'>9</option>
                  <option value='10'>10</option>
                  <option value='11'>11</option>
                  <option value='12'>12</option>
                  <option value='13'>13</option>
                  <option value='14'>14</option>
                  <option value='15'>15</option>
                  <option value='16'>16</option>
                  <option value='17'>17</option>
                  <option value='18'>18</option>
                  <option value='19'>19</option>
                  <option value='20'>20</option>
                  <option value='21'>21</option>
                  <option value='22'>22</option>
                  <option value='23'>23</option>
                  <option value='24'>24</option>
                  <option value='25'>25</option>
                  <option value='26'>26</option>
                  <option value='27'>27</option>
                  <option value='28'>28</option>
                  <option value='29'>29</option>
                  <option value='30'>30</option>
                  <option value='31'>31</option>
                </select>";
           echo "</td>";
           echo "</tr>";
           echo "<br>";
           echo "<tr><td>";
           echo "<textarea name='dettagli' id='dettagli' cols='50' rows='6'></textarea>";
           echo "</td></tr>";
           echo "<br>";

          $righe--;
        }
      }
      
    ?>
  </table>
  </div>



</body>
</html>
In pratica, una volta insserito il numero di righe che mi servono, queste vengono sovrascritte al div con id "inserimento" invece che all'interno del div "lerighe", come mi sarei aspettato.
Dove sbaglio?
Grazie
 

AdeKnite

Utente Attivo
3 Ago 2016
161
35
28
28
Ciao.
La soluzione diretta al tuo problema è quella di richiamare la funzione righe() all'interno del div #lerighe.

PHP:
  <div id="lerighe">

    <table width="600px" border="0" cellspacing="0" cellpadding="0" bgcolor="#CCCCCC" border="1">

<?php
  if (isset($_POST['ok'])) {
    righe();
  }
?>
  </table>
  </div>

Come hai fatto tu, la funzione viene richiamata (e quindi le righe stampate) prima ancora della dichiarazione del DOCTYPE.
 

gandalf1959

Utente Attivo
21 Nov 2013
208
1
18
Accidenti... era così semplice...
Grazie tantissimo per il rapido suggerimento.
Alla prossima
 
Discussioni simili
Autore Titolo Forum Risposte Data
M [PHP] Come inserire codice html in un ciclo while PHP 2
N [PHP] Controllare condizione ciclo While PHP 9
MattiaBL [PHP] Problema ciclo while PHP 3
elpirata [PHP][RISOLTO] Sommare gli importi estratti da un ciclo while PHP 3
gandalf1959 [PHP] query all'interno di un ciclo while PHP 3
A [PHP] metodo di una classe per estrarre i dati con ciclo while PHP 1
S [risolto] Aiuto: ciclo php ( for / while). popolare select dinamicamente da array id. PHP 9
E Inviare variabile a PHP da ciclo in JS Javascript 0
I Eecuzione di javascript in ciclo foreach php. PHP 7
B [PHP] formula e ciclo PHP 5
T con oop creare un ciclo per una pagina dinamica html con php PHP 3
G [PHP] totale per ogni id di un ciclo PHP 1
S [PHP] Ciclo foreach su più array PHP 2
maxnegri [PHP] Eliminare risultati duplicati da ciclo foreach ottenuti da una select php mysqli PHP 18
N [PHP] Registrare variabili all'interno di un ciclo PHP 3
C [PHP] Ciclo for dinamico PHP 14
Z [PHP] ciclo for PHP 9
valvasori [PHP] Problema ciclo for PHP 12
H [PHP] Ciclo per calcolare i chilometri PHP 4
S [PHP] Recupero più dati da form realizzata ciclo FOR PHP 5
Monital [PHP] ciclo su un file json molto grande PHP 1
M [PHP] Errore in ciclo foreach PHP 1
G Ciclo if php per far comparire un pulsante solo nel caso in cui una variabile sia 0 PHP 2
S Ciclo PHP molto complesso PHP 2
B ciclo in PHP per creare numero progressivo PHP 2
A [risolto] caricare con un ciclo For dei file PHP inclusi in una variabile array PHP 3
IImanuII Ciclo in php e tempo PHP 6
neo996sps PHP: problema con ciclo for PHP 1
S Problema ciclo php ed errore [object XMLHttpRequest] Ajax 0
M Visulizzare immagine con php PHP 8
G [PHP] Creare script di prenotazione con controllo disponibilità. PHP 7
G leggere file txt e stampare con php il contenuto a video PHP 7
F Ricreare struttura php+mysql su Xampp Apache 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Array associativi php su 2 campi mysql PHP 10
G Invio form con PHP PHP 3
T fatture con voci fattura in php PHP 0
T ALTRO PROBLEMA CON ARRAY PHP PHP 1
M Collegamento tra form html e script php PHP 4
M Problemi con la stampa dei valori in php PHP 1
W [Cerco collaborazioni] Sviluppatore Web (PHP) Offerte e Richieste di Lavoro e/o Collaborazione 1
D passare valori da database sql a php PHP 1
L Ricezione dei dati su file php da modulo html PHP 6
A form PHP prenotazione tramite query PHP 2
A Form php prenotazione di un azienda sanitaria locale presso studio medico PHP 1
F menù select dinamico da db in php PHP 3
L Problemi form Pagina php HTML e CSS 3
L php mysql non salva solo id PHP 21
L php mysql cerca e visualizza pagina PHP 0
F Il codice php è giusto? PHP 2

Discussioni simili