Come faccio?

di il
5 risposte

Come faccio?

Ciao ho un nuovo problema
...ti spiego meglio...estrapolo dati da un database e fin quì tutto ok...ho problemi con la formattazione di tali dati ...
ti rimetto sotto il mio codice che ora mi visualizza una riga con i titoli di un colore e i risultati sotto in un'altro colore ed invece io vorrei che ogni riga dei risultati fosse la 1.a bianca la 2.a azzurra la 3.a bianca e la 4.a azzurra e così via (titolo + risultati in righe alternate in due colori diversi)....
echo'<table>';
echo'<tr><td bgcolor="#ffcc33"><font color="#FFFFFF"><b>nome</b></font></td>';
echo'<td bgcolor="#ffcc33"><font color="#FFFFFF"><b>indirizzo</b></font></td>';
echo'<td bgcolor="#ffcc33"><font color="#FFFFFF"><b>orario</b></font></td>';
echo'<td bgcolor="#ffcc33"><font color="#FFFFFF"><b>telefono</b></font></td>';
echo'</tr>';
$salta=8;
for($i=0;$i<$salta;$i++){
$row = mysql_fetch_array($id_risult);
echo'<tr>';
echo'<td width="100" bgcolor="#ffff99"><b>'.$row['nome'].'</b></td>';
echo'<td width="150" bgcolor="#ffff99">'.$row['indirizzo'].'</td>';
echo'<td width="150" bgcolor="#ffff99">'.$row['orario'].'</td>';
echo'<td width="155" bgcolor="#ffff99">'.$row['telefono'].'</td>';
}
come posso fare?

cinzia bardella

5 Risposte

  • Re: Come faccio?

    Ciao puoi ulilizzare un metodo abbastanza semplice:

    setti una variabile flag a 0 fuori dal ciclo

    dentro il ciclo controlli che se il flag é uguale a 0 gli fai eseguire:

    ----
    echo'<tr>';
    echo'<td width="100" bgcolor="#ffff99"><b>'.$row['nome'].'</b></td>';
    echo'<td width="150" bgcolor="#ffff99">'.$row['indirizzo'].'</td>';
    echo'<td width="150" bgcolor="#ffff99">'.$row['orario'].'</td>';
    echo'<td width="155" bgcolor="#ffff99">'.$row['telefono'].'</td></tr>';
    $flag = 1;
    ----

    se invece é uguale a 1

    ----
    echo'<tr>';
    echo'<td width="100" bgcolor="#ffff99"><b>'.$row['nome'].'</b></td>';
    echo'<td width="150" bgcolor="#ffff99">'.$row['indirizzo'].'</td>';
    echo'<td width="150" bgcolor="#ffff99">'.$row['orario'].'</td>';
    echo'<td width="155" bgcolor="#ffff99">'.$row['telefono'].'</td></tr>';
    $flag = 0;
    ----

    Spero di essermi spiegato bene
  • Re: Come faccio?

    Scusami ma nn riesco a capire bene cosa vuoi dire...stavo cercando di capire intanto cos'è una variabile flag...e poi nn mi è chiaro come faccio a dirgli di alternare i colori nelle righe che si formano....

    cinzia bardella
  • Re: Come faccio?

    Ciao susa ma c'é un piccolo errore nell' esempio che ti ho fatto:

    nel primo blocco di codice devi mettere al posto di bgcolor="#ffff99" il codice bgcolor="#ffffff"

    per flag intendo invece una variabile in cui metti dentro 0 oppure 1 in maniera alternata.

    Ciao
  • Re: Come faccio?

    In lasso è possibile utilizzare il tag [repetition], non so quale sia il corrispondente in php ma la sintassi per lasso è questa:

    [if: (repetition) == 2]
    riga del colore 1
    [else]
    riga del colore 2
    [/if]

    la logica è molto semplice, ma non so se il repetition in php è usato o meno

    ---------------------
    Lasso, MySQL & Apache
  • Re: Come faccio?

    La logica tra PHP e Lasso è praticamente la stessa.

    La soluzione al problema di kytty ha innumerevoli possibilità di sistemi per la risoluzione.

    Io personalmente imposto una cosa del genere:

    <pre id=code><font face=courier size= id=code>
    <b>Prima del ciclo:</b>
    $flag = 0;
    $colore1 = "#FFFFFF"; // bianco
    $colore2 = "#000000"; // nero

    $colore_riga = $colore1; // assegno ad una nuova variabile il colore che desidero sia il primo

    <b>Prima della chiusura del ciclo WHILE inserisco una chiamata IF di questo tipo:</b>

    if($flag == 0) {
    $colore_riga = $colore2;
    $flag = 1;
    } else {
    $colore_riga = $colore1;
    $flag = 0;
    }
    </font id=code></pre id=code>

    Chiaramente nel tuo codice devi sostituire ad ogni richiamo del background della cella con BGCOLOR invece di #FFFFFF devi metterci la variabile $colore_riga

    Una soluzione ancora piu bella (a livello di realizzazione) sarebbe quella di realizzare una classe che restituisce il colore da mettere come background.... ma di questo volendo se ne può sempre parlare piu avanti per la "eventuale" realizzazione :)

    Fish

    ICQ@Home # 47938486
    ICQ@Work # 246829394 [ NOT AVAIABLE NOW ]
Devi accedere o registrarti per scrivere nel forum
5 risposte