- Home
- Categorie
- Coding e Sistemistica
- Coding
- Variabile con tanti valori
-
Variabile con tanti valori
Ciao a tutti,
vi spiego il mio problema.
Ho una pagina piena di div di questo tipo:
<div><a href="<?php echo $urlsito;?>NOME"><img src="<?php echo $urlsito;?>immagini/NOME/0.jpg" alt=""></a><p>NOME</p></div>Vorrei creare una variabile $nome dove inserire tutti i Nomi e scrivere una sola volta
<div><a href="<?php echo $urlsito;?><?php echo $nome;?>"><img src="<?php echo $urlsito;?>immagini/<?php echo $nome;?>/0.jpg" alt=""></a><p><?php echo $nome;?></p></div>
Che da come risultato tanti div quanti sono i valori della variabile.
Probabilmente non è una cosa complicatissima ma le mie conoscenze di php sono molto limitate.
Grazie Mille
-
Ciao Ivan88,
puoi utilizzare un array e ciclarlo.
-
Grazie!
sapevo che era semplice.
E nel caso volessi dare una caratteristica ai valori?Mi spiego: io volevo includere questo array in tutte le pagine, ma in alcune pagine devono comparire solo alcuni valori.
Tipo
Valore 1- Pagina 1, pagina 2
Valore 2 - Pagina2 , Pagina 5
Valore 3 Pagina 4Mentre nella home compaiono tutti.
Hai un idea di come fare?
-
Non ho ben chiaro cosa vuoi fare per cui ti indico una possibile via da quello che ho capito:
[php]
$array = array(
'pagina1' => array('valore1', 'valore2'),
'pagina2' => array('valore1', 'valore3'),
'pagina3' => array('valore1')
);
[/php]
-
OK in questo modo nella pagina 1 compariranno solo i valori tra parentesi no?
Ma come faccio ora nella home a farli comparire tuttiGrazie e scusa se ti sembrano cose ovvie ma di php sono piuttosto a digiuno

-
COsi dovrebbe andare (non ho testato):
[php]
$array = array(
'pagina1' => array('valore1', 'valore2'),
'pagina2' => array('valore1', 'valore3'),
'pagina3' => array('valore1')
);// Metto in home tutti i valori non ripetuti
$home = array();
foreach($array AS $page)
foreach($page AS $value)
if(!in_array($value, $home))
$home[] = $value;
[/php]
-
OK ora provo ma nella pagina 1 cosa scrivo per far comparire l' array?
tipo <?php echo $array;? (pagina1?)>
-
Per stampare il contenuto dell'array puoi fare cosi:
[php]
$array = array(
'pagina1' => array('valore1', 'valore2'),
'pagina2' => array('valore1', 'valore3'),
'pagina3' => array('valore1')
);foreach($array['pagina1'] AS $value)
echo $value;
[/php]Ti consiglio una lettura sugli array, trovi qui una guida base.
-
Ok mi sono letto la guida sugli array e ne ho creato uno che funziona bene!
Solo che ora non riesco a mostrare i risultati come vorrei:
for ($contatore=0; $contatore < $lungh_all; $contatore++) {
$allnome="$all[$contatore]";
echo "<img src="$allnome;/0.jpg" alt="">";
}
?>Credo che l' errore sia nell' echo ma non riesco a venirne a capo.
Che devo fare?
-
Prova cosi:
[php]
for ($contatore=0; $contatore < $lungh_all; $contatore++) {
$allnome=$all[$contatore];
echo '<img src="'.$allnome.'/0.jpg" alt="">';
}
[/php]
-
No, col codice che mi hai dato non mi da errore ma comunque le immagini non compaiono....
-
No aspetta ora va mettendo l' url completo thanks!
-
Ciao Thedark
grazie ai tuoi consigli e all' utile guida di GT sono riuscito a fare ciò che volevo, ma c'è ancora un problema che non riesco a risolvere.
<?php
while (list($chiave,$valore) = each($all)){
$chiave2 = array ($chiave);
}
$chiave3 = array_rand ($chiave2, 8 );In pratica per usare array_rand x le sole chiavi dovrei fare in modo che tutti i valori $chiave fossere "traslati" nel nuovo array $chiave 2
Ma la scrittura è sbagliata e non ho trovato la soluzione nella guida array.
Come Faccio?