Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Scacchiera in php

  1. #1

    Scacchiera in php

    Sto facendo un esercizio di php: costruire una scacchiera con celle di colore diverso in modo alternato.

    ecco il mio codice, ma mi escono tutte le celle BLU.

    dove sbaglio? (scusate la banalità, ma sono alla seconda lezione

    <?php
    echo '<table>';

    for ($i=1; $i<7; $i++) {
    echo '<tr>';

    for ($i2=1; $i2<70; $i2++) {


    if(($i2+$i)%2 == 0) { // %2 significa resto
    $fondo='black';}
    else{
    $fondo='red';}
    echo '<td bgcolor= $fondo ></td>';
    }

    }

    echo '</tr>';


    echo '</table>';
    ?>

  2. #2
    $fondo viene passato come stringa e non come variabile, dovresti usare il doppi apice oppure il concatenamento
    Codice PHP:
    echo "<td bgcolor= $fondo > </td>"
    Codice PHP:
    echo '<td bgcolor= '.$fondo.' > </td>'

  3. #3
    grazie

    continuando l'esercizio - ho creato un form che decide la quantità di colonne e di celle della scacchiera.

    La dimensione minima è di 2x2, quella massima 15x15. altrimenti esce un messaggio di errore.

    Nel mio codice il messaggio viene ripetuto tante volte (visto che sono al''interno di un ciclo).

    Come faccio a farlo stampare una volta sola? -

    <?php

    $righe = $_POST ['righe'];
    $colonne = $_POST ['colonne'];



    echo '<table>';

    for ($i=0; $i<$righe; $i++) {
    echo '<tr>';

    for ($i2=0; $i2<$colonne; $i2++) {


    if(($i2+$i)%2 == 0) { // %2 significa resto
    $fondo='black';}
    else{
    $fondo='red';}

    if ($righe > 15)

    echo 'SCACCHIERA TROPPO GRANDE';

    if ($colonne > 15)

    echo 'SCACCHIERA TROPPO GRANDE';

    if ($righe < 3)

    echo 'SCACCHIERA TROPPO PICCOLA';

    if ($colonne < 3)

    echo 'SCACCHIERA TROPPO PICCOLA';


    else

    echo '<td bgcolor= '.$fondo.' ></td>';
    }

    }

    echo '</tr>';


    echo '</table>';
    ?>

  4. #4
    metti le condizioni fuori dal ciclo...

    PS

    Esistono anche gli or e gli and ma anche gli else quando crei delle condizioni

  5. #5
    Comincia a funzionare..e comincio anche un po a divertirmi...



    ho messo le condizioni all'inizio, e sto giocando un po con "and" e "or"...se metto "and" funziona logicamente.. con "or"...mica troppo. Vedremo lunedi alla lezione...grazie dei consigli. saluti

    <?php

    $righe = $_POST ['righe'];
    $colonne = $_POST ['colonne'];


    if ($righe and $colonne < 5) {


    echo '<h1>SCACCHIERA TROPPO PICCOLA</h1>';
    }


    if ($righe and $colonne > 16) {

    echo '<h1>SCACCHIERA TROPPO GRANDE</h1>';

    }


    else

    {

    echo '<table>';

    for ($i=0; $i<$righe; $i++) {
    echo '<tr>';

    for ($i2=0; $i2<$colonne; $i2++) {


    if(($i2+$i)%2 == 0) { // %2 significa resto
    $fondo='black';}
    else{
    $fondo='red';}




    echo '<td bgcolor= '.$fondo.' ></td>';

    }

    }







    echo '</tr>';


    echo '</table>';

    }
    ?>

  6. #6
    Boole questo sconosciuto!

    Con l'and ti da errore se sia le righe che le colonne sono minori di 5

    ma a te basta che uno dei due valori sia sballato per avere errore, immagino

    quindi


    if ($righe <5 or $colonne < 5)


    inoltre tu hai scritto

    if ($righe and $colonne < 5)

    ma come viene interpretato dal PHP?

    in pratica sarebbe come scrivere

    if($righe != 0 and $colonne < 5)

    ora non ho tempo di spiegarti il perche' ma lo capirai.

    Il succo e' che la condizione va ripetuta per ogni variabile



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 © 2024 vBulletin Solutions, Inc. All rights reserved.