Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Stampare risultati (multipli) query mysql da classe php

    Salve a tutti,
    premetto che sono abbastanza un novizio in materia di mysql e php, ma qualcosina so farla.
    Sto cercando di creare in una classe, la funzione per la query, il problema è che riesco ad importare una query, solo se il risultato è singolo, mi spiego meglio con un esempio:

    FILE class.php
    Codice PHP:

    class MySql {

    public 
    $host "nome_host";
    public 
    $user="user";
    public 
    $psw="password";
    public 
    $db="database";

    var 
    $conn;
    var 
    $res;

    function 
    connessione() {
     
    $this->conn mysql_connect($this->host,$this->user,$this->psw);
     
    mysql_select_db($this->db);
    }

    function 
    query(){
     
    $qu=mysql_query("SELECT * FROM tabella");
     
    $riga mysql_fetch_array($qu);
     
    $this->res $riga;
    }

    function 
    close(){
     
    mysql_close($this->conn);
    }


    FILE index.php
    Codice PHP:
    <?php
    include "class.php";
    //ecc ecc...

    $cn = new Mysql();
    $cn->connessione();
    $cn-> query();
    echo 
    $cn->res;
    $cn->close();

    ?>
    Risultato?
    al richiamo della pagina index.php, mi ritrovo la scritta Array.
    se invece specifico nella query (ad esempio):
    Codice PHP:
    $qu=mysql_query("SELECT id FROM tabella WHERE id=1");
    //ecc ecc...
    $this->res $riga['id']; 
    mi viene stampto l' id corretto.
    Come posso stampare con la select avendo come argomento l' *?
    Non so piu dove sbattere la testa

    Grazie a tutti per le risposte

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Butta via tutto il lavoro, e riparti da 0, non ha senso ciò che vuoi fare e una classe simile
    è inutile, poi potresti usare PDO come classe per gestire il database e le query

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    159
    Ma tu cosa vuoi stampare? tutti i valori che hai nel db di tutti i campi? o ti serve solo l'id?

  4. #4
    in realtà l' ho messa giu' semplice, ma quello che mi occorre è che passandogli dei parametri dal file index.php lui deve verificare se i parametri esistono in alternativa, deve farmi un select generico attraverso l' *.
    Perche' sarebbe inutile perdonami?
    Qual' ora comunque fosse tale, saperlo non credo faccia male, considera che sono le prime classi che cerco di realizzare, quindi mi acculturerebbe in merito all' argomento.


    L' id iresco a stamparlo, vorrei riuscire a stampare tutti i rultati della query attraverso
    Codice PHP:
    select from tabella 

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    159
    Allora devi fare tipo

    codice:
    while ($row = mysql_fetch_array($qu) {
        echo $row['id'];
        echo $row['altrocampo'];
        echo $row['altrocampoancora'];
    }
    in questo modo ti scorre tutto il database e ti stampa i valori di tutti i campi che hai.

  6. #6
    temevo in questo, io cercavo qualcosa con la quale non dovessi specificare i campi, in quanto in futuro saranno all' incirca una 60ina.

    speravo ci fosse un modo "automatico".
    Sarà un bagno di sangue se esiste solo il richiamo manuale.

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2012
    Messaggi
    159
    Forse ti può aiutare qualcosa del genere

    codice:
    <?php
    $query="select * from tabella order by Id";
    $result= mysql_query($query); 
    $numfields = mysql_num_fields($result); 
    echo "<table>\n<tr>";
    for ($i=0; $i < $numfields; $i++) { 
    echo '<th>'.mysql_field_name($result, $i).'</th>'; 
    } echo "</tr>\n"; 
    while ($row = mysql_fetch_row($result)) { 
    echo '<tr><td>'.implode($row,'</td><td>')."</td></tr>\n";
    } 
    echo "</table>\n";
    ?>

  8. #8
    Allora, son giunto ad una conclusione, credo possa farmi automatizzare il tutto:
    Codice PHP:
    //dichiaro un array che conterrà il nome dei campi
    $array = array();
    //estraggo il numero dei campi, inclusi nella tabella (qui mi servirà una mano);
    $num=mysql_query("select count(*) from information_schema.columns where table_schema='$this->db' and table_name='$this->tabella';");
    //creo una variabile con tale numero;
    $campi = ???? // <- qui mi serve una mano, in quanto non riesco ad estrarre il numero (la query è corretta) se eseguita da terminale, ma con php mi dice "Resource id #7" i campi attualmente sono 4
    //eseguo un for per estrarre i nomi dei campi e li inserisco in un array
    for ($i=0;$i<=$campi;i++; ) {
    $nomazzo mysql_field_name($qu,$i);
    array_push($this->array$nomazzo);

    Praticamente se qualcuno sa dirmi cosa usare per estrarre il risultato dalla variabile $num, dovrei farcela

    Grazie ancora a tutti

    ALTTTTT ho provato l' istruzione suggeritami (credevo di averla già provata senza risultati)

    Codice PHP:
    $nummysql_query("SELECT * from staff"); 
    $numysql_num_fields($num); 
    funzionaaaaa!! yeahhhh

    mo spero che fili tutto liscio

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.