- Home
- Categorie
- Coding e Sistemistica
- PHP
- richiamare "blocchi" di immagini
-
Non ho capito una parola
penso che devi spiegare un pò meglio il problema...
-
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 2ecc.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
-
non ci hai detto dove stanno queste foto
-
: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.
-
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
-
$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 = 2codice da testare, comunque si usa l'operatore % che ritorna il resto di una divisione.
ciao,
r
-
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?
-
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.
-
<?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>
-
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?