Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    182

    Fare un ciclo con le variabili

    Salve volevo fare in modo che il seguente codice si ripetesse per 10 volte (penso attraverso FOR) con la variabile r_s1 che ogni volta aumenta di +1, cioè r_s2, r_s3, r_s4 etc... fino a 10. Come posso fare?

    Le variabili in cui al numero va aggiunto ogni volta +1 sono:
    - $r_s1
    - $row['s1']
    - r_s1

    Grazie

    codice:
    $r_s1 = mysql_query("SELECT * FROM persone WHERE tessera = '{$row['s1']}'");
    $r_s1 = mysql_fetch_array($r_s1);
    if ( $r_s1['tessera'] != "") {echo "<input type='text' name='r_s1' value='{$r_s1['tessera']}' />{$r_s1['cognome']}";}
    else {echo "<input type='checkbox' name='r_s1' value='{$_SESSION['tessera']}' />";}

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Per quanto ne so non puoi cambiare nome a una variabile dinamicamente.
    Devi usare un array nel quale metti i valori che metteresti nelle variabili di cui hai parlato e a quel punto puoi ciclare sugli indici dell'array.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    182
    Originariamente inviato da Alhazred
    Per quanto ne so non puoi cambiare nome a una variabile dinamicamente.
    Devi usare un array nel quale metti i valori che metteresti nelle variabili di cui hai parlato e a quel punto puoi ciclare sugli indici dell'array.
    Potresti farmi un esempio?

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Codice PHP:
    $array_rs = array();
    for(
    $i=0;$i<10;$i++)
    {
        
    $array_rs[$i] = //il valore che devi metterci

    Alla fine avrai
    in $array_rs[0] il valore che metteresti in $r_s1
    in $array_rs[1] il valore che metteresti in $r_s2
    in $array_rs[2] il valore che metteresti in $r_s3
    ...
    in $array_rs[9] il valore che metteresti in $r_s10

  5. #5
    oppure
    Codice PHP:
    <?php

    for($i 0$i 10$i++)
    {
        
    $var 'r_s'.$i;

        $
    $var mysql_query("SELECT * FROM persone WHERE tessera = '{$row[$var]}'");
        $
    $var mysql_fetch_array($$var);
        if ( ${
    $var}['tessera'] != "") {echo "<input type='text' name='$var' value='{${$var}['tessera']}' />{${$var}['cognome']}";}
        else {echo 
    "<input type='checkbox' name='$var' value='{$_SESSION['tessera']}' />";}
    }

    ?>

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2006
    Messaggi
    182
    Originariamente inviato da dreamer86
    oppure
    Codice PHP:
    <?php

    for($i 0$i 10$i++)
    {
        
    $var 'r_s'.$i;

        $
    $var mysql_query("SELECT * FROM persone WHERE tessera = '{$row[$var]}'");
        $
    $var mysql_fetch_array($$var);
        if ( ${
    $var}['tessera'] != "") {echo "<input type='text' name='$var' value='{${$var}['tessera']}' />{${$var}['cognome']}";}
        else {echo 
    "<input type='checkbox' name='$var' value='{$_SESSION['tessera']}' />";}
    }

    ?>
    Non funziona...

  7. #7
    oppure

    $array[rs_1]
    $array[rs_2]
    ecc....

    Codice PHP:
    $array = array();
    for(
    $i=0;$i<10;$i++) {
        
    $array['rs_' $i] = 'miovalore';

    EDIT:
    http://www.php.net/manual/en/languag...s.variable.php

    Si possono rinominare le variabili dinamicamente.
    Secondo me però è molto più elegante, leggibile e semplice la soluzione degli array...

    Quella delle variabili variabili (che gioco di parole ) è solo un casino.

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 © 2024 vBulletin Solutions, Inc. All rights reserved.