Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Tabella in PHP con diagonale colorata

    Buongiorno, per la scuola devo fare questo compito:
    "Scrivere un programma php che riceva in input due numeri positivi N ed M tali che N<=M (controllare ed eventualmente richiedere) e visualizzi una tabella NxM con diagonali colorate a partire dall'angolo superiore sinistro fino all'angolo inferiore destro."

    Ho una form con due campi (N e M) e il file PHP è il seguente:

    codice:
    <HTML> <HEAD>
      <TITLE>
        Tabella
      </TITLE>
     </HEAD>
       <BODY>
    <?php
    $N=$_POST["N"];
    $M=$_POST["M"];
    if(($N>0)&&($M>0)&&($N<$M))
    { 
     echo"<TABLE BORDER=1>";
     for($i=1;$i<=$M;$i++)
     {
      echo"<TR>";
      for($j=1;$j<=$N;$j++)
      {
       echo"<TD>";
       if()
       {
        echo"$i";
       }
       else
       {
        echo"&nbsp;";
       }
       echo"</TD>";
      }
      echo"</TR>";
     }
     echo"</TABLE>";
    }
     
    ?>
        </BODY>
    
    </HTML>


    Non appare praticamente nulla, dove sbaglio?

    Grazie a tutti

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Hai un if vuoto
    if()
    devi mettere una condizione lì dentro altrimenti php da errore, se non ti appare nessun errore vuol dire che hai la visualizzazione disabilitata, all'inizio dello script metti uno dei seguenti 2

    Codice PHP:
    <?php
    // se usi php >= 5.4
    error_reporting(E_ALL);

    // se usi una versione precedente
    error_reporting(E_STRICT);
    ?>

  3. #3
    Quote Originariamente inviata da Alhazred Visualizza il messaggio
    Hai un if vuoto
    if()
    devi mettere una condizione lì dentro altrimenti php da errore, se non ti appare nessun errore vuol dire che hai la visualizzazione disabilitata, all'inizio dello script metti uno dei seguenti 2

    Codice PHP:
    <?php
    // se usi php >= 5.4
    error_reporting(E_ALL);

    // se usi una versione precedente
    error_reporting(E_STRICT);
    ?>
    Mi restituisce:

    Parse error: syntax error, unexpected ')'

    in corrispondenza dell'If vuoto. Come risolvo? Grazie e scusate, sono neofita...

  4. #4
    Utente di HTML.it
    Registrato dal
    Apr 2011
    residenza
    Arezzo
    Messaggi
    194
    Quote Originariamente inviata da Calcio24 Visualizza il messaggio
    Mi restituisce:

    Parse error: syntax error, unexpected ')'

    in corrispondenza dell'If vuoto. Come risolvo? Grazie e scusate, sono neofita...

    Sicuramente mettendo tra le parentesi dell' if() una condizione da analizzare
    Riccardo Sadocchi
    Microsoft MCP C#

  5. #5
    Quote Originariamente inviata da rikyeko Visualizza il messaggio
    Sicuramente mettendo tra le parentesi dell' if() una condizione da analizzare
    Nell'If ho messo la seguente condizione:

    Codice PHP:
    ($N>0)&&($M>0)&&($N<$M
    e mi appare la tabella a patto che N sia inferiore a M. Come faccio a mostrare la diagonale colorata?

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2011
    residenza
    Arezzo
    Messaggi
    194
    Quindi controlli due volte la stessa condizione? secondo me non serve, la controlli all'inizio e basta, a questo punto puoi rimuovere direttamente l'if vuoto e stampare direttamente $i

    Per la diagonale colorata.... credo la cosa sia un po' complicata, sinceramente non credo sia una cosa che fai su una tabella, probabilmente dovrai creare dinamicamente un'immagine tracciando la linea, non è una cosa facile, almeno per me!
    comunque ci provo a studiare un po'!
    Riccardo Sadocchi
    Microsoft MCP C#

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2011
    residenza
    Arezzo
    Messaggi
    194
    Leggi questo articolo
    http://www.mrwebmaster.it/php/creare...inea_6534.html

    secondo me ti tornerà utile
    Riccardo Sadocchi
    Microsoft MCP C#

  8. #8
    e se invece volessi colorare progressivamente le celle come per creare un'immaginaria diagonale da un angolo all'altro?

  9. #9
    Tipo così?

    (ma non funziona...)

    Codice PHP:
    j0=1

    While(j0<=(M-N+1)) 
    {
      
    j=j0
      
    for(i=1i<=Ni++) 
    {

    Cella(i,j).Backgroundcolore 

    j
    ++ 



    j0++ 



  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2011
    residenza
    Arezzo
    Messaggi
    194
    Tanto per cominciare, per vedere la tabella togli l'if vuoto, tipo:

    Codice PHP:
    if(($N>0)&&($M>0)&&($N<$M))

     echo 
    "<TABLE BORDER=1>";
     for(
    $i=1;$i<=$M;$i++)
     {
      echo 
    "<TR>";
      for(
    $j=1;$j<=$N;$j++)
      {
       echo 
    "<TD> $i </TD>";
      }
      echo 
    "</TR>";
     }
     echo 
    "</TABLE>";


    poi se vuoi colorare le celle a mo di diagonale, potresti ad esempio dare una classe CSS specifica a determinate celle, che però devi scegliere bene nei vari for
    Riccardo Sadocchi
    Microsoft MCP C#

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.