• User Attivo

    richiamare "blocchi" di immagini

    ho 5 blocchi di foto e in ogni blocco ce ne sono 40.
    vorrei far si che ogni utente visualizi un blocco , ad esempio il numero 1, il secondo il blocco 2 ecc ecc.. cosi' in maniera rotativa per ogni utente.
    Alla fine dei 5 blocchi si ricomincera' cosi che l'utente 6 avra' di nuovo il blocco 1.
    che consiglio mi date ?


  • ModSenior

    Non ho capito una parola 😄

    penso che devi spiegare un pò meglio il problema...


  • User Attivo

    :lol:riprovo...

    dunque.. ho delle foto, in tutto 500. ogni utente ne vedra'(per un test) solo 50, quindi
    500/50=10 che sono i blocchi contenenti ognuno le 50 foto già decise.

    ora, io vorrei che una volta creato l'ordine delle foto nei blocchi, si crei anche un ordine dei blocchi delle foto per ogni utente, in modo da rendere ogni utente con la sua sequenza di foto(blocco) che sara' il blocco 1, cosi' a seguire.

    quindi
    blocco 1 (con 50 foto) per l'utente 1
    blocco 2 ......... per l'utente 2

    ecc.ecc.

    quindi vorrei richiamare un blocco di foto in base ad una caratteristica dell'utente, per esempio il suo id e porre come condizione che se l'utente ha nel suo numero id_autoincrement 1 nelle unita' avra' il blocco 1
    se ha 2 avrà il blocco 2--

    ecc. ecc..
    spero di essere stato sufficientemente comprensibile.
    grazie per l'aiuto


  • User Attivo

    non ci hai detto dove stanno queste foto


  • User Attivo

    :bho:
    per ora sono semplicemente da richiamare in una cartella in locale. se potessi evitare una tabella contenente le foto sarebbe meglio...
    aspetto i vostri preziosi e saggi consigli.


  • User Attivo

    se vuoi prendere le immagini da una cartella fai così

    
    if ($handle = opendir('./immagini')) {
                while (false !== ($file = readdir($handle))) { 
                    if ($file != "." && $file != "..") { 
                        //gestisci il path dell'immagine che ti arriva tramite la variabile $file
                    } 
                }
                closedir($handle); 
            }
    

    Per il resto non ho capito cosa vuoi fare


  • Bannato User Attivo

    $bloccoUtente = (($idUtente+1)%($numeroDiFoto/$fotoPerBlocco));

    per esempio:
    $numeroDiFoto = 500;
    $fotoPerBlocco = 50;
    $idUtente = 1 => $bloccoUtente = 1
    $idUtente = 2 => $bloccoUtente = 2
    ....
    $idUtente = 10 => $bloccoUtente = 10
    $idUtente = 11 => $bloccoUtente = 1
    $idUtente = 12 => $bloccoUtente = 2

    codice da testare, comunque si usa l'operatore % che ritorna il resto di una divisione.

    ciao,
    r


  • User Attivo

    pero' credo sia comunque corretto, dato che ogni blocco deve essere visualizzato per un utente per volta, e finiti gli stessi blocchi , ricominceranno dal primo, richiamerei le foto per nome e metterei delle variabili che mi servono dicendo che se l'id dell'utente che sta visualizzando questo blocco e' 23, che si visualizzino per la sua sezione solo le foto che sono contenute nel blocco di foto numero 3 e non (prendendo in considerazione le unita' di ogni id).
    POI VORREI FAR SI CHE SE PER ESEMPIO, IL VOTO ALLA FOTO 3 E 44 E' 2, VORREI CHE IL TUTTO VENISSE ANNULLATO E CHE NON VENGA SALVATO NULLA NEL DATABASE.
    COME POSSO FARE?


  • User Attivo

    allora, cerco di spiegarmi:
    ho costruito un test che visualizza all'utente delle foto e l'utente risponde ad un questionario per ogni foto.
    ogni utente ha 50 foto da visualizzare.
    io ho 500 foto
    voglio suddividere 10 blocchi da 50 foto per utente
    voglio che i blocchi(le 50 foto) siano richiamati in ordine in base ad una variabile che possa rendere "circolare" la visualizzazione di questi blocchi di foto; ovvero se i blocchi sono 10 vorrei mettere che se l'id dell'utente che accede è 1 allora abbia il blocco delle 50 foto numero 1, se ha 2 come id allora il blocco sara' 2, ecc.
    infine vorrei porre una variabile, per verificare che il test non sia fatto a caso, ovvero che se in uno dei blocchi x la risposta dei soggetti per 2 foto è y il risultato non verra' registrato nel database perchè considerato impossibile e quindi l'utente non ha risposto correttamente al test.


  • User Attivo

    <?php
    session_start();
    ?>
    <html>
    <head>
    <body bgcolor="black">
    <p align="center">

    <title>Step1foto</title>
    </head>
    <body onLoad="setTimeout('document.step1.submit();', 3000);">
    <form name="step1" action="step1.php" method="get">
    <?php
    $nr_immagine = ($id_user - 1) * 10 + 1 + $offset;
    $image_src = $directory . "image" . $nr_immagine . ".jpg";
    echo "<img src="$image_src">";
    if($offset < 50) {
    $offset++;
    echo "<a href="pagina.php?offset=$offset">Avanti</a>";
    } else {
    echo "Test completato!";
    }
    ?>
    <?php
    $_SESSION['id_user'] = $_GET['id_user'];
    $_SESSION['user'] = $_GET['user'];
    $_SESSION['gender'] = $_GET['gender'];
    $_SESSION['year'] = $_GET['year'];
    $_SESSION['month'] = $_GET['month'];
    $_SESSION['day'] = $_GET['day'];
    $_SESSION['country'] = $_GET['country'];
    ?>
    </body>
    </html>


  • User Attivo

    ho fatto un echo ma nn rialscia nulla

    if (isset($id_user) && isset($offset)) { echo $id_user; echo "<br>"; echo $offset;}

    ...

    <?php
    session_start();

    ?>
    <html>
    <head>

    <body bgcolor="black">
    <p align="center">

    <title>Step1foto</title>
    </head>

    <body onLoad="setTimeout('document.step1.submit();', 3000);">
    <form name="step1" action="step1.php" method="get">
    <?php
    if (isset($id_user) && isset($offset)) { echo $id_user; echo "<br>"; echo $offset;}

    $nr_immagine = ($id_user - 1) * 10 + 1 + $offset;

    $image_src = $directory . "image" . $nr_immagine . ".jpg";
    echo "<img src="$image_src">";

    if($offset < 50) {
    $offset++;
    echo "<a href="pagina.php?offset=$offset">Avanti</a>";
    } else {
    echo "Test completato!";
    }

    ?>
    <?php
    $_SESSION['id_user'] = $_GET['id_user'];
    $_SESSION['user'] = $_GET['user'];
    $_SESSION['gender'] = $_GET['gender'];
    $_SESSION['year'] = $_GET['year'];
    $_SESSION['month'] = $_GET['month'];
    $_SESSION['day'] = $_GET['day'];
    $_SESSION['country'] = $_GET['country'];

    ?>
    </body>

    </html>

    dove devo correggere?