• User

    Scheda di dettaglio da elenco Mysql

    Aiutissimo!
    Ho impostato su una pagina (lista.php) un elenco di record da cui linkare alla relativa pagina di dettaglio (scheda-imp.php).

    Il codice della pagina elenco (lista.php) è:
    <?php
    include("config.inc.php");
    // parametri del database
    $db = mysql_connect ($db_host, $db_user);
    mysql_select_db ($db_name);
    $query = "SELECT id, nome FROM impression ORDER BY id ASC";
    $result = mysql_query ($query);
    print ('<table with=80% border=1>');
    while ($row = mysql_fetch_object ($result))
    {
    print ("
    <tr>
    <td>$row->id</td>
    <td>$row->nome</td>
    <td>[url='scheda-imp.php?id=$row->id']vai al dettaglio</td>
    </tr>
    ");
    }
    print ('</table>');
    mysql_free_result ($result);
    ?>

    il codice della scheda dettaglio (scheda-imp.php) invece è:
    <?
    include("config.inc.php");
    // parametri del database
    $db = mysql_connect ($db_host, $db_user);
    mysql_select_db ($db_name);
    $query = "SELECT * FROM impression WHERE id='$id'";
    $result = mysql_query ($query);
    $row = mysql_fetch_object ($result);
    mysql_free_result ($result);
    ?>

    <?php echo $row->id ?>

    <?php echo $row->nome ?>

    <?php echo $row->citta ?>

    <?php echo $row->commenti ?>

    Perché quando clicco sul link mi appare questo segnale di errore:
    Notice: Undefined variable: id in c:?\scheda-imp.php on line 15 (quella della $query)

    Premetto che sono un vero neofita in materia, quindi può anche essere un errore stupido, ma le ho provate tutte e non riesco a venirne a capo.

    Un?altra cosa: si possono inserire immagini in un data base Mysql? Se sì, come si richiamano in una tabella o in una pagina di dettaglio?
    Grazie a tutti quelli che vorranno darmi una mano


  • Super User

    prova in questo modo:

    
    isset&#40;$_GET&#91;'id'&#93;&#41;?$id=$_GET&#91;'id'&#93;:$id=0
    if &#40;$id>0&#41;
    &#123;
    $query = "SELECT * FROM impression WHERE id='$id'"; 
    &#125;
    else
    &#123;
    echo "id non corretto";
    &#125;
    

    in pratica devi recuperare il valore passato nella query string utilizzando l'array associativo $_GET.
    questa è una variabile di sistema che ti permette appunto di avere tutti i valori passati nell'indirizzo. allo stesso modo dalvora la variabile $_POST ma per i valori passati da un form via post appunto.


  • User

    Grazie Tymba,
    con il tuo provvidenziale intervento ho risolto il problema dei link alle schede di dettaglio.
    Già che ci sei dammi qualche dritta anche sul secondo problema: si possono inserire immagini in un data base Mysql? Se sì, come si richiamano in una tabella o in una pagina di dettaglio?
    Ancora grazie, saluti a tutti gli amici