Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 22
  1. #1

    Problema con gestione elementi array

    Salve ragazzi, spero possiate aiutarmi, sono un principiante del php.
    Ho un database mysql da cui devo estrarre dei dati e e sottoporli a costrutto if else.
    Il problema nasce dal fatto che ho una serie lunga di elemento di array del tipo $row['elemento1'], $row['elemento2'].....e lo stesso vale per $row['argomento1'] $row['argomento2'] etc...
    Come posso fare per evitare di scrivere 60 volte il codice sottostante?
    Ho provato con un ciclo for, ma mi va in timeout.
    Forse non sono stato molto chiaro...


    Codice PHP:
    if ($row['elemento1']==$row['argomento1']==0.0)
            {
    $par 'qualcosa';} 
    elseif (
    $row['elemento1']>$row['argomento1']<=10 $row['testo1']==0.0
            { 
    $par 'qualcosa';} 

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    1,611
    hai provato con la doppia & .... &&
    NON ABBANDONATE CANI O GATTI!!!

  3. #3
    Originariamente inviato da activ
    hai provato con la doppia & .... &&
    Mhh, non ncapisco, evidentemente non mi sono spiegato bene

    In pratica devo fare una cosa del genere:

    $query="SELECT * FROM tabella WHERE dato='$dato'";
    $risultato=mysql_query($query);
    $row = mysql_fetch_array($risultato);

    In questo modo ogni elemento $row mi darà un campo della tabella.
    Io ho 60 campi del tipo $row['elemento1'], $row['elemento2']......$row['elemento60']
    Poi ho 60 campi del tipo $row['argomento1'], $row['argomento2']......$row['argomento60']
    e cosi via....
    Da qui ho la necessità di porre delle condizioni attraverso if else o switch del tipo:

    Codice PHP:
    if ($row['elemento1']==$row['argomento1']==0.0)
            {
    $par 'qualcosa';}
    elseif (
    $row['elemento1']>$row['argomento1']<=10 $row['testo1']==0.0)
            { 
    $par 'qualcosa';} 
    questo lo devo fare per tutti i campi in modo che $par sia univoco a seconda dell'elemento che sto trattando, ad esempio:

    Codice PHP:
    if ($row['elemento1']==$row['argomento1']==0.0)
            {
    $par1 'qualcosa';}
    elseif (
    $row['elemento1']>$row['argomento1']<=10 $row['testo1']==0.0)
            { 
    $par1 'qualcosa';} 
    Oppure:

    Codice PHP:
    if ($row['elemento2']==$row['argomento2']==0.0)
            {
    $par2 'qualcosa';}
    elseif (
    $row['elemento2']>$row['argomento2']<=10 $row['testo2']==0.0)
            { 
    $par2 'qualcosa';} 
    e così via fina a 60.

  4. #4
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Codice PHP:
    for ($n=1;$n <=60$n++)
      {
      if (
    $row["elemento$n"]==&& $row["argomento$n"]==0.0)                          eval ("\$par$n = 'qualcosa';");
      elseif (
    $row["elemento$n"]>&& $row["argomento$n"]<=10 && $row["testo$n"]==0.0) eval ("\$par$n = 'qualcosa';");
      } 
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  5. #5
    Grazie infinite dottwatson!!
    Adesso sembra funzionare a dovere!!

  6. #6
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    mi fa piacere

    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  7. #7
    Vi disturbo ancora, ho un altro problema.
    Se volessi in seguito catturare $par$n che sta dentro eval per riassegnarla a seguito di altre condizioni?

    Impostando come sempio sotto non va:

    Codice PHP:
    for ($n=1;$n <=60$n++)
      {
    if (
    $row["elemento$n"]==&& $row["argomento$n"]==0.0)  
                            eval (
    "\$par$n = 'qualcosa';");
    elseif (
    $row["elemento$n"]>&& $row["argomento$n"]<=10 && $row["testo$n"]==0.0
                            eval (
    "\$par$n = 'qualcosa';");

    if (
    $row['localita']=="milano")
            {eval (
    "\$parmi$n = '$par$n';");}
            elseif (
    $row['localita']=="palermo")
            {eval (
    "\$parpa$n = '$par$n';");}
      } 

  8. #8
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    Codice PHP:
    if ($row['localita']=="milano")
            {eval (
    "\$parmi$n = \$par$n;");}
            elseif (
    $row['localita']=="palermo")
            {eval (
    "\$parpa$n =\$par$n;");} 
    così dpvrebbe funzionare correttamente

    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  9. #9
    Originariamente inviato da dottwatson

    così dpvrebbe funzionare correttamente

    Perfetto

    Sei un grande!!

  10. #10
    Adesso mi trovo in una situazione di stallo.
    Col codice che vedete sotto riesco ad ottenere l'impaginazione, ma praticamente a causa del while i dati vengono stampati a video uno sopra l'altro, nella mia niubbiagine non capisco dove sta l'errore.
    Codice PHP:
    $query="SELECT * FROM tabella WHERE (
    localita = 'milano'
    OR localita = 'palermo'"
    ;

    $risultato=mysql_query($query);
    while (
    $row mysql_fetch_array($risultato)) 
    {    
    for (
    $n=1;$n <=60$n++)
      {
    if (
    $row["elemento$n"]==&& $row["argomento$n"]==0.0)  
                            eval (
    "\$par$n = 'qualcosa';");
    elseif (
    $row["elemento$n"]>&& $row["argomento$n"]<=10 && $row["testo$n"]==0.0)
                            eval (
    "\$par$n = 'qualcosa';"); 

    if (
    $row['localita']=="milano")
            {eval (
    "\$parmi$n = \$par$n;");}
            elseif (
    $row['localita']=="palermo")
            {eval (
    "\$parpa$n =\$par$n;");}
    }
    $pagina = isset($_GET['pag']) ? (int)$_GET['pag'] : 1;

    if (
    $row["dato"]=="0")
    {
    if (
    $pagina<=3)
    {
    echo 
    "<div id='mi'>$parmi50</div>",
    "<div id='pa'>$parpa50</div>";
    }
    elseif (
    $pagina>3)
    {
    echo 
    "<div id='mi'>$parmi52</div>",
    "<div id='pa'>$parpa52</div>";
    }
    }
    else
    {echo 
    "nessun dato";}



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