[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
30
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
F Cerco Hosting con VECCHIE versioni di php Hosting 0
Cosina Captcha php PHP 1
S passare un valore da un form a un file .php con metodo post PHP 4
N php msyql PHP 6
N php problemi a visualizzare video PHP 3
A menu a tendina php PHP 1
D protezione cartelle: blocco visualizzazione/scaricamento contenuto, ma abilitazione utilizzo dati da parte di file .php presenti sul sito Web Server 1
F Php date_diff PHP 1
K [PHP] Aggiungere caratteri ad una stringa in base alla lunghezza della stessa PHP 2
C Wp-admin a file php WordPress 5
Lino80 [Retribuito] Cerco programmatore php per modifica/inserimento funzione/valori da un plugin importer wordpress Offerte e Richieste di Lavoro e/o Collaborazione 0
csi Inviare file jpg in locale alla stampante con php PHP 0
M Passaggio variabili array php su un tasto jq PHP 3
E Php aggiornamento tabella PHP 9
G phpmailer e php 8.1 con estensione mysqli PHP 6
M Invio dati database via email php PHP 0
K [php] Problema con inner join PHP 4
K [php]form invio dati PHP 0
P Codifica caratteri speciali mysql php PHP 0
K [PHP] Problema con variabili concatenate. PHP 1
E Stampante termica escpos-php PHP 6

Discussioni simili