problema con gli array

minatore

Utente Attivo
25 Set 2007
410
0
0
Salve sono nuovo da queste parti, dopo una serie di tentativi ho scelto di porvi il mio problema
Ho l'alfabeto su 3 righe, ogni lettera è un link
Quando clicco su di esse deve apparire la lettera scelta in un'altra riga

Come è scritto il codice quando clicco sulla lettera mi restituisce l'indice array

P.S. nel caso in cui ci riusciste vi pregherei di darmi anche la spiegazione, sto studiando e se non capisco il perchè, mi ritrovo sempre il problema. Grazie in anticipo

<?
session_start();

$a_alfabeto = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'z');

print"
<table border='1'>";

$x = 0;
for($a = 0; $a < 3; $a++)
{
print"
<tr>";

for($c = 0; $c < 7; $c++, $x++)
{
print"
<td width='25'>
<a href='tastiera.php?id=$x'>$a_alfabeto[$x]</a>
</td>";
}
print"
</tr>";
}

if(isset($id))
{
$video[] = $id;

session_register('video');

for($i = 0; $i < count($video); $i++)
{
print"
<tr><td>" . $video[$i] . "<tr></td>";

}

}
print"
</table";

?>
 
Ultima modifica:
Vediamo se ho capito, vorresti che per esempio se clikko A nella riga sotto và A e non "0" (cioè l'indice di A)?

Ma allora perchè creare un altro ciclo? L'array è stato già ciclato all'inizio del codice.

Quindi:
PHP:
if(isset($_GET['id']))
{
$id = $_GET['id'];
$_SESSION['video']= $id;
print"
<tr><td>" . $a_alfabeto[$id] . "<tr></td>";
}
 
Ultima modifica:
solo a metà

ciao Eliox e grazie per il tuo consiglio, ma cliccando la lettera (f)
mi stampa la "f", dopo clicco sulla (d) mi stampa la "d", ma la "f" diventa "d" trovandomi 2 lettere "d", se provo a cliccare la (z) le 2 "d" vengono sostituite con la "z", trovandomi con 3 "z"
Perchè?
Grazie
 
strano, a me invece succede che se calcolo la "d" me ne stampa una, se clicko su "z" la "d" sparisce e appare la "z". Dovrebbe essere come serve a te se non ho sbagliato.

In ogni caso posto il codice:
PHP:
<?
session_start();

$a_alfabeto = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'z');

print"
<table border='1'>";

$x = 0;
for($a = 0; $a < 3; $a++)
{
print"
<tr>";

for($c = 0; $c < 7; $c++, $x++)
{
print"
<td width='25'>
<a href='tastiera.php?id=$x'>$a_alfabeto[$x]</a>
</td>";
}
print"
</tr>";
}

if(isset($_GET['id']))
{
$id = $_GET['id'];
$_SESSION['video']= $id;
print"
<tr><td>" . $a_alfabeto[$id] . "<tr></td>";
}
print"
</table";

?>
 
Ok

Scusami Eliox, penso che te ne sia accorto che sono ancora un pivellino,
va benissimo anche se non ho capito cosa mi hai scritto, ad es. Get che cos'è,
Ultima cosa l'esercizio mi diceva che i dati scelti non dovevano scomparire ma dovevano essere visualizzati in sequenza, SESSION_REGISTER, dovrebbe aiutarmi in questo, ma non va.
Forse ci sono diversi modi di insegnare
ti invio il codice di un altro esercizio, in risposta alla tua domanda perchè faccio un altro ciclo.
Comunque grazie tanto, adesso ho un punto di riferimento

<table border='1'>
<tr>
<?
session_start();
for($j = 0, $k = 1; $j < 2; $j++)
{
print"
<tr>";
for($i = 0; $i < 5; $i++, $k++)
{
print"
<td width='20' align='center'>
<b><a href='lotto.php?id=$k'>$k</a></b>
</td>";
}
print"
</tr>";
}
?>
<tr>
<td colspan="5">&nbsp;</td>
</tr>
<tr>
<?
if(isset($id))
{
if(count($casella)< 5)
{
$casella[] = $id;
}
session_register('casella');
for($x = 0; $x < count($casella); $x++)
{
print"
<td align='center'>
<b>$casella[$x]</b>
</td>";
}
}
?>
</tr>
</tr>
</table>
 
Quando tu invii una variabile tramite link (nel tuo caso 'id'), questa viene trasmessa tramite un "metodo" che può essere o GET o POST.
Nel tuo caso stai utilizando GET quindi la variabile trasmessa è $_GET['id'].
 

Discussioni simili