Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: gioco memory

  1. #1

    gioco memory

    ciao
    vorrei creare una tabella dinamica con php per giocare al memory (le immagini sono facili da mettere quando ho una tabella ).
    la tabella si deve creare in base alle scelte fatte in una select.
    ho trovato come crearla con il DOM ma io vorrei usare esclusivamente php.
    È possibile?

    Il codice è un montaggio di vari pezzi di codici e quindi potrebbe essere non proprio stabile , se avete dei cosigli per migliorarlo li accetto volentieri.
    Penso che il problema sia che non riesce a trovare la funzione che crea la tabella.

    qui il codice che ho scritto ma che non funziona (il codice php si trova dentro il body dove dovrebbe, per l'appunto, trovarsi la tabella):

    codice:
    <select name="tabella" onchange="aggiorna();">
    <option value="scegli">Scegli una dimensione ...</option>
    <option value="piccola">10x10</option>
    <option value="grande">20x20</option>
    </select>
    Codice PHP:
    function aggiorna() {
    <?php
    function aggiorna() {
       echo 
    '<table>';
       if (
    $_POST['tabella'] == "piccola") {
          for (
    $i 1$i 11$i++) {
             echo 
    '<tr>';
             for (
    $y 1$y 11$y++) {
                echo 
    '<td style="border:1px black solid; border-collapse:collapse;">';
                echo 
    $i ',' $y;
                echo 
    '</td>';
              }
              echo 
    '</tr>';
           }
        }
        else if (
    $_POST['tabella'] == "grande") {
            for (
    $i 1$i 21$i++) {
                echo 
    '<tr>';
                for (
    $y 1$y 21$y++) {
                    echo 
    '<td style="border:1px black solid; border-collapse:collapse;">';
                    echo 
    $i ',' $y;
                    echo 
    '</td>';
                 }
                 echo 
    '</tr>';
             }
         }
         echo 
    '</table>';
    }
    ?>
    Grazie in anticipio.

  2. #2
    Non puoi chiamare il PHP all'interno di una funzione javascript. Qualdo esegui il codice javascript il PHP ha già terminato la sua esecuzione. Javascript è lato client mentre PHP è lato server. Solito argomento trito e ritrito.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    io ho preso la funzione dal web (http://www.allwebfree.it/php_funzioni_utente.php), funzione che ho adattato per la mia situazione.
    Se non posso far interagire funzioni js e php come posso fare ?

  4. #4
    Originariamente inviato da bigdada
    Se non posso far interagire funzioni js e php come posso fare ?
    Ajax oppure ricarichi la pagina.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    posso ricaricare la pagina ma non riesco a creare comunque la tabella perchè verrebbero reinizializzate le variabili e il select tornerebbe alla prima selezione, e quindi gli if sarebbero falsi e esegue una alert che chiede di scegliere un formato (non l'ho messo prima per accorciare il codice).
    altre idee?

  6. #6
    Originariamente inviato da bigdada
    posso ricaricare la pagina ma non riesco a creare comunque la tabella perchè verrebbero reinizializzate le variabili e il select tornerebbe alla prima selezione, e quindi gli if sarebbero falsi
    Hai le idee confuse. Se fai il submit della pagina non avviene nulla di tutto questo.


    Originariamente inviato da bigdada
    altre idee?
    Studiare e capire come funziona il PHP e soprattutto afferrare il concetto che l'html che vedi nella pagina è stato generato dal PHP lato server.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    ho provato a modificare il codice togliendo la funzione js e facendo il reload della pagina, ma quando faccio una scelta, come previsto , mi risetta i valori del select e il problema non è ancora risolto

    codice:
    <select name="tabella" onchange="window.location.reload();">
    <option value="scegli">Scegli un questionario...</option>
    <option value="19">Questionario TRI base (19 domande)</option>
    <option value="21">Questionario TRI sostegno (21 domande)</option>
    </select>
    Codice PHP:
    <?php
    echo '<table>';
       for (
    $i 1$i $_POST['questionario']; $i++) {
          echo 
    '<tr>';
             for (
    $y 1$y 3$y++) {
                echo 
    '<td style="border:1px black solid; border-collapse:collapse;">';
                echo 
    $i ',' $y;
                echo 
    '</td>';
             }
          echo 
    '</tr>';
       }
    echo 
    '</table>';
    ?>

  8. #8
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Credo che le possibili soluzioni siano:

    1. Usi le sessioni (carichi la pagina ogni volta)
    2. Usi Ajax
    3. Il tuo memory lo fai in javascript ed usi php solo per inizializzare la tabella


    In qualunque caso

    <select name="tabella" onchange="window.location.reload();">

    non va bene

  9. #9
    Come fatto notare da boots non puoi utilizzare la funzione window.location.reload() per ricaricare la pagina, ma devi effettuare il submit di un form o al limite utilizzare la sessione per il passaggio dei parametri.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  10. #10
    ajax non lo conosco e non ho abbastanza tempo per studiarmelo, non lo posso fare in js perchè la pagina è in formato php dal momento che contiene degli elementi in php e le sessioni non mi sembrano una bella scelta.
    per questo volevo farlo salamente con php.

    se provo a scrivere la funzione in php?
    Cosi: print="<script>function controlla(){controlli e stampa tabella}</script>"
    potrebbe funzionare (faccio la stessa cosa per creare un alert js)?

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.