Visualizzazione dei risultati da 1 a 7 su 7

Discussione: oggetti e html

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    555

    oggetti e html

    Scusate ma vorrei capire se così è corretto.
    Questa funzione in una classe restituisce il contenuto del carrello di un cliente.
    Scrivo anche il codice html, e vorrei capire se è giusto o no scrivere il codice che poi stampa la tabella a video.
    Dimenticavo funziona tutto, volevo solo capire se è corretto come ragionamento o se il risultato per l'html lo devo gestire diversamente.

    grazie

    function carrello1(){
    $sql = $this->gestcarrello->query1("select * from tb_acquisti join tb_prodotti
    on tb_acquisti.tb_acquisti_idprod = tb_prodotti.tb_prodotti_id
    where tb_acquisti_idutente = '$_SESSION[ses_idacq]' and tb_acquisti_qta > '0'
    ");
    $html = "<form name=\"form1\" method=\"post\" action=\"../Carrello/carrello1_upd.php \">
    " ;

    $html .= "<table width=\"100%\" border=\"1\">
    <tr>
    <th>Codice</th>
    <th>Descrizione</th>
    <th>Prezzo</th>
    <th>qta</th>
    <th>canc</th>
    </tr>" ;

    while($righe = mysql_fetch_array($sql)) {
    $html .= "<tr><td>$righe[tb_prodotti_codice]</td>" ;
    $html .= "<td><A href=\"#\" onClick=\"window.open ('../Prodotti/dettaglioprodotti.php?idprod=$righe[tb_prodotti_id];','',
    'top=10,left=10,width=500,height=400,scrollbars=ye s');\">$righe[tb_prodotti_descr]</td></a>" ;

    if($righe['tb_prodotti_promoz'] == 0){
    $prezzo = $righe['tb_prodotti_prezzo'] ;
    $html .= "<td>$prezzo</td>" ;
    }else{
    $t = (($righe['tb_prodotti_prezzo'] - ($righe['tb_prodotti_prezzo'] * $righe['tb_prodotti_promoz'])
    / 100)) ;
    $prezzoscont = number_format($t,2) ;
    $prezzo = $prezzoscont." "."scontato del"." "."$righe[tb_prodotti_promoz]" ;
    $html .= "<td>$prezzo</td>" ;
    }
    $html .= "<td><input size=\"5\" type=\"text\" name=\"qta[$righe[tb_prodotti_id]]\" value=\"$righe[tb_acquisti_qta]\"></td>" ;
    $html .="<td width=\"5%\"><input size=\"5\" type=\"checkbox\" name=\"canc[$righe[tb_prodotti_id]]\"></td></tr>" ;

    $t = (($righe['tb_prodotti_prezzo'] - ($righe['tb_prodotti_prezzo'] * $righe['tb_prodotti_promoz'])
    / 100)) ;
    //$tot = $righe['tb_prodotti_prezzo'] * $righe['tb_acquisti_qta'] ;
    $tot = $t * $righe['tb_acquisti_qta'] ;

    $totale += $tot ;
    $totale1 = number_format($totale,2) ;
    $pezzi += $righe['tb_acquisti_qta'] ;


    } //fine ciclo while
    $html .= " </table>" ;
    $html .= "<input name=\"Aggiorna\" type=\"submit\" value=\"Aggiorna\" >" ;

    $html .= "<a href=\"../Carrello/carrello2_cassa.php\"><img src=\"../Immagini/imm.png\" border=\"0\" alt=\"Vai alla Cassa\"></a>"."
    " ;
    $html .= " </form>" ;

    return $html ;

    }

  2. #2

    ...........

    Ciao.
    La regola migliore da seguire separare
    il codice php js xhtml e naturalmente css.
    La funziona messa così serve a poco un
    minimo miglioramento lo avresti ie passando
    la query come parametro.




    Without faith, nothing is possible. With it, nothing is impossible
    http://ilwebdifabio.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    272
    La tendenza è separare il più possibile il codice HTML e quello php per ovvi vantaggi.
    Non ho visto bene il metodo, vedi se puoi usare un template HTML oppure togli l'HTML dalla classe. Personalemente non mi piace mettere codice HTML dentro una classe perché limita il suo riutilizzo in ambiti diversi oltre che la leggibilità della stessa.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    555
    Ok vi ringrazio. Quello che mi mette in difficoltà è stampare il risultato di un ciclo while nell'html, ecco perchè metto tutto insieme, così all'interno del cilco stampo anche i vari td della tabella.
    Se potete farmi un esempio di come stampate voi i risultati di un ciclo presi da una classe, vi ringrazierei assai.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    272
    Certo è comodo mettere tutto insieme ma se quegli stessi valori ti servono all'interno dello stesso progetto in un altro ambito? Se devi sviluppare un altro progetto? Altre funzioni altro codice. La classe che diventerà un chilometro ma ciò che peggio un insieme di funzioni disconnesse e non metodi che lavorano insieme.
    Il metodo si deve mantenere su di un piano astratto secondo me. Deve eseguire la query, magari passata come parametro, e deve restituirti i risultati in un array. Io, per dirti, ho fatto una piccola classe che esegue le operazioni di accesso più comuni al database e la riutilizzo sempre.
    Il ciclo while che ti popola la tabella lo esegui fuori dalla classe con i risultati del metodo oppure, non so, memorizzi i risultati in variabili di classe se pensi che questi ti servano molto spesso.

    Io la vedo in questo modo, non sono un mago della OOP e quello che ti dico è in base alle mie osservazioni e alla mia poca esperienza.

    Spero ti sia utile

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    555
    Concordo pienamente, il fatto è che la mia difficoltà è stampare i risultati lasciando la classe il + astratta possibile; volevo giusto un esempio di un risultato di un ciclo da stampare.

    Grazie


  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    272
    Ora non ho tempo vedo di farti un esempio entro stasera magari se ci arrivo (se non te lo fa prima qualcun altro)

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.