Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Classi e html

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

    Classi e html

    Sto sempre provando le classi, però non ho capito una cosa, se volessi stampare i risultati all'interno di tabelle nell'html?

    codice:
    <?php
    
    class db_mysql {
    
    	function variabili() {  //variabili per connessione db
    	
    	$this->host = "localhost" ;
    	$this->user = "root" ;
    	$this->pw = "" ;
    	$this->nomedb = "ProvaFunzioni" ;
    	
    	$this->connetti = mysql_connect($this->host,$this->user,$this->pw) or die (mysql_error());
    	$this->connettidb = mysql_select_db($this->nomedb,$this->connetti) or die (mysql_error());
    	}
    
    	function query($query) { //eseguo query
    	
    	$this->variabili() ;  //richiamo variabili per connessione
    		if($this->connetti){
    			$this->sql = mysql_query($query,$this->connetti) ;
    			while($this->res = mysql_fetch_array($this->sql)){
    			echo $this->res['Nome']."
    " ;
    			}
    		}	 
    	}
    }
    $query = "select * from prova" ;
    
    $ogg = new db_mysql() ;
    $ogg->query($query) ;
    ?>
    	
    	
    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    
    <body>
    <table width="50%" border="1">
      <tr>
        <td>Se volessi stampare qua il ciclo dei risultati ?</td>
        <td></td>
      </tr>
      <tr>
        <td></td>
        <td></td>
      </tr>
    </table>
    </body>
    </html>
    Funziona tutto, ma non capisco come stampare all'interno dell'html.
    Se qualcuno mi corregge la classe ben vengano le spiegazioni.

    Grazie

  2. #2
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    Codice PHP:
    <?php

    class db_mysql {

        function 
    variabili() {  //variabili per connessione db
        
        
    $this->host "localhost" ;
        
    $this->user "root" ;
        
    $this->pw "" ;
        
    $this->nomedb "ProvaFunzioni" ;
        
        
    $this->connetti mysql_connect($this->host,$this->user,$this->pw) or die (mysql_error());
        
    $this->connettidb mysql_select_db($this->nomedb,$this->connetti) or die (mysql_error());
        }

        function 
    query($query) { //eseguo query
        
        
    $this->variabili() ;  //richiamo variabili per connessione
            
    if($this->connetti){
                
    $this->sql mysql_query($query,$this->connetti) ;
                while(
    $this->res mysql_fetch_array($this->sql)){
                echo 
    $this->res['Nome']."
    ;
                }
            }     
        }
    }
    $query "select * from prova" ;

    $ogg = new db_mysql() ;
    $res $ogg->query($query) ;
    ?>
        
        
    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>
    <table width="50%" border="1">
      <tr>
        <td><? echo $res ?></td>
        <td> </td>
      </tr>
      <tr>
        <td> </td>
        <td> </td>
      </tr>
    </table>
    </body>
    </html>
    così ti aggiunge tutti i nomi, uno sotto l'altro nella colonna indicata da te...

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    555
    Si scusami però io vorrei mettere all'interno del ciclo tutta la riga della tabella, così stampa tutto su un tr, mentre io dovrei fare un ciclo while all'intrerno dell'html.
    Appena ho tempo al limite posto il codice per farvi vedere come vorrei fare.

    Grazie

    La classe andava bene?

  4. #4
    nella funzione query della classe non fai un echo dei risultati ma semplicemente li metti in un array e restituisci quello, poi fai un foreach nella tua pagina per stampare i risultati della query.

    Visto che le classi son fatte per esser riutilizzate è assai raro di mettere delle funzioni che stampano direttamente il risultato perché non ti permette di usarlo e dunque ti limita nell'uso della classe.

  5. #5
    Utente di HTML.it L'avatar di luke83
    Registrato dal
    Jul 2000
    Messaggi
    1,217
    Codice PHP:
    <?php

    class db_mysql {

        function 
    variabili() {  //variabili per connessione db
        
        
    $this->host "localhost" ;
        
    $this->user "root" ;
        
    $this->pw "" ;
        
    $this->nomedb "ProvaFunzioni" ;
        
        
    $this->connetti mysql_connect($this->host,$this->user,$this->pw) or die (mysql_error());
        
    $this->connettidb mysql_select_db($this->nomedb,$this->connetti) or die (mysql_error());
        }

        function 
    query($query) { //eseguo query
        
        
    $this->variabili() ;  //richiamo variabili per connessione
            
    if($this->connetti){
                
    $this->sql mysql_query($query,$this->connetti) ;
                while(
    $this->res mysql_fetch_array($this->sql)){
                echo 
    "<tr><td>"$this->res['Nome']."</td></tr>" ;
                }
            }    
        }
    }
    $query "select * from prova" ;

    $ogg = new db_mysql() ;
    $res $ogg->query($query) ;
    ?>
        
        
    <html>
    <head>
    <title>Documento senza titolo</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>

    <body>
    <table width="50%" border="1">
      <? echo $res ?>
    </table>
    </body>
    </html>
    metodo pezzottissimo come fa giustamente osservare spoon25..

    ..::Luca::..
    » "se nn riesci a venirene a capo.. usa il tasto INVIO" © 2005 Luke83
    » "letta la documentazione, spazio all'immaginazione.." © 2006 Luke83
    [frasi random] - [Lucopedia] - [laFetta]

  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    555
    nella funzione query della classe non fai un echo dei risultati ma semplicemente li metti in un array e restituisci quello, poi fai un foreach nella tua pagina per stampare i risultati della query.

    Ho capito il raggionamento, purtroppo però all'atto pratico mi blocco.
    L'array lo lascio all'interno della funzione? E dopo lo richiamo nella pagina? Il problema è che ora come ora non saprei come richiamare solo l'array di quella funzione all'interno della pagina.
    Nel senso che ok richiamo l'oggetto e poi le funzioni che mi occorrono.
    Comunque provo e vi faccio sapere. All'inizio mi sa che è sempre un pò difficile.
    Abbiate pazienza.

    Grazie

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    555
    Scusate ma non son riuscito a combinare niente, mi potreste fare un piccolo esempio.

    grazie

  8. #8
    Codice PHP:
    function query($query) { //eseguo query 
         
    $result = array();
        
    $this->variabili() ;  //richiamo variabili per connessione 
            
    if($this->connetti){ 
                
    $this->sql mysql_query($query,$this->connetti) ; 
                while(
    $this->res mysql_fetch_array($this->sql)){ 
                
    $result[] = $this->res['Nome']; 
                } 
            }
        return 
    $result;
     } 
    così ti restituisce un array contenente i risultati, poi fanne quello che vuoi ...

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2003
    Messaggi
    555
    Ok è chiarissimo, però ho qualche domanda se posso. Così la funzione non è diciamo indipendente dal programma perchè richiamo il campo nome, quindi in altri progetti dovrei cambiare quello, e se fossero tanti i campi del db?
    Poi non ho capito come richiamare $return nell'html, diciamo fuori dalla funzione.
    Hai sempre pazienza?

  10. #10
    Codice PHP:
    <?php 

    class db_mysql 

        function 
    variabili() {  //variabili per connessione db 
        
            
    $this->host "localhost" 
            
    $this->user "root" 
            
    $this->pw "" 
            
    $this->nomedb "ProvaFunzioni" 
            
            
    $this->connetti mysql_connect($this->host,$this->user,$this->pw) or die (mysql_error()); 
            
    $this->connettidb mysql_select_db($this->nomedb,$this->connetti) or die (mysql_error()); 
        } 
        
        function 
    query($query) { //eseguo query 
            
    $result = array();
            
    $this->variabili() ;  //richiamo variabili per connessione 
            
    if($this->connetti){ 
                
    $this->sql mysql_query($query,$this->connetti) ; 
                while(
    $this->res mysql_fetch_array($this->sql)){ 
                    
    $result[] = $this->res
                } 
            }
            return 
    $result;  
        } 
    }

    $query "select * from prova" 

    $ogg = new db_mysql() ; 
    $res $ogg->query($query) ; 
    ?> 


    <html> 
    <head> 
    <title>Documento senza titolo</title> 
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
    </head> 

    <body> 
    <table width="50%" border="1">
    <?php
    foreach($res as $t){
        print 
    "<tr><td>{$t['Nome']}</td></tr>";
    }
    ?> 
    </table> 
    </body> 
    </html>

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.