• ModSenior

    Ciao Fabrizio23,

    Da ciò che hai detto non si capisce molto, è impossibile darti qualsiasi indicazione con solo queste informazioni.


  • User Attivo

    Immaginiamo questo nome PINCO PALLO, ci clicco e viene fuori:

    indirizzo
    telefono
    cellulare

    La pagina php lo già fatta e va bene, solo che vorrei che ci fosse scritto il nome di PINCO PALLO e poi sotto il suo indirizzo, telefono e cellulare.

    Grazie!


  • ModSenior

    Fai un echo dal campo no?


  • User Attivo

    Theda, ho fatto così ma mi vengono fuori tutti i nomi registrati nel db. Sicuramente perchè chiusi nel while, ma come faccio? ho provato e riprovato ma nulla...

    Ti posto il codice che è veramente incasinato 🙂

    [PHP]<?php
    // avvio la sessione
    session_start();
    // Dati connessione al database
    $db_host = 'localhost'; // Host - solitamente localhost
    $db_utente = 'root'; // Nome utente del Database
    $db_password = ''; // Password del Database
    $db_nomedb = ''; // Nome del Database
    // Effettua la connessione al database
    $dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
    mysql_select_db($db_nomedb);

    //inserimento dei nuovi dati
    $query="INSERT INTO parametri (
    pa,
    fc,
    fr,
    data_registrazione)
    VALUES('" .
    addslashes ( $_POST['pa'] ) . "', '" .
    addslashes ( $_POST['fc'] ) . "', '" .
    addslashes ( $_POST['fr'] ) . "', '" .

    $risultato = mysql_query( $query ) or die ( "query '$query' fallita

    " . mysql_error() );

    $query=mysql_query("SELECT cognome, nome FROM elenco_clienti");
    echo "<table>";
    while($_POST=mysql_fetch_array($query)){
    $cognome=$_POST['cognome'];
    $nome=$_POST['nome'];
    echo "<tr><td>$cognome</td><td>$nome</td></tr>";
    }
    echo "</table>";

    while ( $parametri = mysql_fetch_array( $risultato ) )
    {

    echo "<table>

    <head>
    <style>
    table {
    border: solid 2px #000000;
    text-align: center;
    }
    td {
    solid 1px;
    color: Black;
    background: #F1EBAD;
    }
    </style>
    </head>

           <tr> 
                
                <td>PA  " . stripslashes($parametri['pa']) . "</td></tr> 
                <td>FC  " . stripslashes($parametri['fc']) . "</td></tr> 
                <td>FR  " . stripslashes($parametri['fr']) .  "</td></tr>            
              
                </table><br />";  
    

    ?> [/PHP]

    Grazie!


  • ModSenior

    Che te li stampi tutti è normale, visto che hai fatto un select dell'intera tabella.
    Ti consiglio di evitare di utilizzare le variabili globali per metterci dentro informazioni.


  • User Attivo

    E come dovrei fare? Se tolgo il select della tabella non mi dà più la tabella, se tolto il select del nome e cognome non mi dà più il nome e cognome...:?


  • ModSenior

    Devi dirgli quale nome e cognome deve prendere, con un where.


  • User Attivo

    Ho provato ma mi dà variabile id da definire...ma io l'ho definita :mmm:

    [PHP]<?php
    // avvio la sessione
    session_start();
    // Dati connessione al database
    $db_host = 'localhost'; // Host - solitamente localhost
    $db_utente = 'root'; // Nome utente del Database
    $db_password = ''; // Password del Database
    $db_nomedb = ''; // Nome del Database
    // Effettua la connessione al database
    $dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
    mysql_select_db($db_nomedb);

    //inserimento dei nuovi dati
    $query="INSERT INTO parametri (
    pa,
    fc,
    fr,
    data_registrazione)
    VALUES('" .
    addslashes ( $_POST['pa'] ) . "', '" .
    addslashes ( $_POST['fc'] ) . "', '" .
    addslashes ( $_POST['fr'] ) . "', '" .

    $risultato = mysql_query( $query ) or die ( "query '$query' fallita

    " . mysql_error() );

    $query=mysql_query("SELECT cognome, nome FROM elenco_clienti WHERE id='$id'");
    echo "<table>";
    while($_POST=mysql_fetch_array($query)){
    $id=$_POST['id'];
    $cognome=$_POST['cognome'];
    $nome=$_POST['nome'];
    echo "<tr><td>$id<tr><td>$cognome</td><td>$nome</td></tr>";
    }
    echo "</table>";

    while ( $parametri = mysql_fetch_array( $risultato ) )
    {

    echo "<table>

    <head>
    <style>
    table {
    border: solid 2px #000000;
    text-align: center;
    }
    td {
    solid 1px;
    color: Black;
    background: #F1EBAD;
    }
    </style>
    </head>

           <tr> 
                
                <td>PA  " . stripslashes($parametri['pa']) . "</td></tr> 
                <td>FC  " . stripslashes($parametri['fc']) . "</td></tr> 
                <td>FR  " . stripslashes($parametri['fr']) . "</td></tr> 
                
              
                </table><br />";  
    

    ?> [/PHP]

    Grazie!


  • ModSenior

    $id lo hai definito dopo.
    Credo che tu dovresti ciclare la query, se ho ben capito come stai facendo.
    Ma fare un join tra le 2 tabelle non è meglio?


  • User Attivo

    Id l'ho definito insieme al nome e cognome...cosa intendi per join delle due tabelle? :mmm:

    Grazie!


  • User Attivo

    A me il codice così và bene...ma come e dove dovrei metterlo allora l'id?


  • ModSenior

    Il codice è un pochettino incasinato, anche capire che stai facendo è un impresa.
    Trovi maggiori informazioni sul join qui:
    dev.mysql.com/doc/refman/5.0/en/join.html


  • User Attivo

    Me ne rendo conto, grazie lo stesso comunque.


  • ModSenior

    Guardati il join, in particolare INNER JOIN che dovrebbe fare al caso tuo.


  • User Attivo

    Però aspetta, forse mi sono spiegato male, credo che il problema sia semplice (non per me) 😄

    Io ho un form dove inserisco tutti i dati dei clienti...ok...me li stampa in pagina php...ok...clicco sul cognome del cliente e vado su un altro form dove compilo altri dettagli.

    Il problema che i dettagli me li dà...ma non mi dà il nome e cognome stampato nella stessa pagina php dove mi stampa gli stessi dettagli...forse così mi sono spiegato meglio...


  • ModSenior

    Dovresti fare la query che ti dia i dati dell'altra tabella, e questo puoi farlo con un join invece di fare un altra query.
    Ma quel codice mi sembra faccia altro, perchè prende le tabelle tutte per intero.


  • User Attivo

    Tanto lo leggo...se trovi la soluzione in quel codice dimmela però eh? 😄

    Ciao e grazie!!!


  • User Attivo

    Prova a modificare così il codice :

    [PHP]<?php
    // avvio la sessione
    session_start();
    // Dati connessione al database
    $db_host = 'localhost'; // Host - solitamente localhost
    $db_utente = 'root'; // Nome utente del Database
    $db_password = ''; // Password del Database
    $db_nomedb = ''; // Nome del Database
    // Effettua la connessione al database
    $dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
    mysql_select_db($db_nomedb);

    //inserimento dei nuovi dati
    $query="INSERT INTO parametri (
    pa,
    fc,
    fr,
    data_registrazione)
    VALUES('" .
    addslashes ( $_POST['pa'] ) . "', '" .
    addslashes ( $_POST['fc'] ) . "', '" .
    addslashes ( $_POST['fr'] ) . "', '')";

    $risultato = mysql_query( $query ) or die ( "query '$query' fallita

    " . mysql_error() );

    $query=mysql_query("SELECT cognome, nome FROM elenco_clienti WHERE id='$id'");
    echo "<table>";
    while($rows=mysql_fetch_array($query)){
    $id=$rows['id'];
    $cognome=$rows['cognome'];
    $nome=$rows['nome'];
    echo "<tr><td>$id<tr><td>$cognome</td><td>$nome</td></tr>";
    }
    echo "</table>";

    while ( $parametri = mysql_fetch_array( $risultato ) )
    {

    echo "<table>

    <head>
    <style>
    table {
    border: solid 2px #000000;
    text-align: center;
    }
    td {
    solid 1px;
    color: Black;
    background: #F1EBAD;
    }
    </style>
    </head>

           <tr> 
                
                <td>PA  " . stripslashes($parametri['pa']) . "</td></tr> 
                <td>FC  " . stripslashes($parametri['fc']) . "</td></tr> 
                <td>FR  " . stripslashes($parametri['fr']) . "</td></tr> 
                
              
                </table><br />";  
    

    ?> [/PHP]


  • User Attivo

    Così purtroppo non mi dà neanche più nome e cognome, prima (lo ricordo) me li dava tutti...tutti quelli nel db. E mi dà Notice: Undefined variable: id in c:\programmi\easyphp1-8\www\parametri.php on line 43
    Ma questo anche prima...boh?
    Che si fà?

    Gentilissimo comunque!


  • User Attivo

    Vedi se invece così funziona :
    [PHP]
    <?php
    // avvio la sessione
    session_start();
    // Dati connessione al database
    $db_host = 'localhost'; // Host - solitamente localhost
    $db_utente = 'root'; // Nome utente del Database
    $db_password = ''; // Password del Database
    $db_nomedb = ''; // Nome del Database
    // Effettua la connessione al database
    $dbh=mysql_connect ($db_host, $db_utente, $db_password) or die ('Errore nella stringa di connessione al database: '.mysql_error());
    mysql_select_db($db_nomedb);

    //inserimento dei nuovi dati
    $query="INSERT INTO parametri (
    pa,
    fc,
    fr,
    data_registrazione)
    VALUES('" .
    addslashes ( $_POST['pa'] ) . "', '" .
    addslashes ( $_POST['fc'] ) . "', '" .
    addslashes ( $_POST['fr'] ) . "', '')";

    $risultato = mysql_query( $query ) or die ( "query '$query' fallita

    " . mysql_error() );

    $query=mysql_query("SELECT cognome, nome FROM elenco_clienti WHERE id='$id'");
    echo "<table>";
    while($_POST=mysql_fetch_array($query)){
    $id=$_POST['id'];
    $cognome=$_POST['cognome'];
    $nome=$_POST['nome'];
    echo "<tr><td>$id<tr><td>$cognome</td><td>$nome</td></tr>";
    }
    echo "</table>";

    while ( $parametri = mysql_fetch_array( $risultato ) )
    {

    echo "<table>

    <head>
    <style>
    table {
    border: solid 2px #000000;
    text-align: center;
    }
    td {
    solid 1px;
    color: Black;
    background: #F1EBAD;
    }
    </style>
    </head>

           <tr> 
                
                <td>PA  " . stripslashes($parametri['pa']) . "</td></tr> 
                <td>FC  " . stripslashes($parametri['fc']) . "</td></tr> 
                <td>FR  " . stripslashes($parametri['fr']) . "</td></tr> 
                
              
                </table><br />";  
    

    ?> [/PHP]