• User Newbie

    come posso fare?

    Vorrei porre tre domande agli utenti di php e mysql più esperti di me:
    1)se io inserisco in un campo di una tabella mysql un collegamento con tag html (del tipo: <a href=http://www.nomesito.com/pagina.php>nome pagina</a> ), quando l'utente ricerca nella tabella con una query SELECT, nei risultati questo link verrà mostrato come testo (cioè come l'ho scritto) o come un vero e proprio collegamento (cioè mostra solo il nome pagina che ho impostato e nel caso in cui l'utente lo clicca gli apre la pagina corrispondente)?
    2)Si può fare in modo che, usando la query SELECT con un form l'utente possa compilare più campi della tabella, però quando gli viene illustrato il risultato della ricerca vengano mostrati solo altri campi? (Per esempio, l'utente inserisce nome, numero di telefono ed email, ma poi nei risultati viene illustrato sempre solo il nome e l'email).
    3)se io nella pagina php di cui parlo sopra al punto 1 inserisco dopo l'estensione .php "?nome=tizio" quando l'utente clicca e si apre la pagina con codice php la variabile nome è gia impostata a tizio, vero?

    Grazie a tutti coloro che mi risponderanno alle mie 3 domande, mi sarete VERAMENTE d'aiuto.
    Tompase


  • User

    Ciao

    1. come vero collegamento, in quanto puoi inserire codice html nel db poi viene letto correttamente.

    2)Certo estrai i dati dalla tabella e poi mostri solo quelli che ti interessano

    1. ti conviene utilizzare sempre $_GET[nome]

    Ciao


  • User Newbie

    In merito al secondo punto, come si può dirgli di estrarre i dati e poi di mostrarne all'utente solo alcuni? potete farmi un esempio di script così capisco meglio e poi elaboro il mio?
    Grazie,
    Tompase


  • User

    una volta che i dati sono nella tabella, estrai solo quelli che ti servono, cioè quelli che vuoi mostrare all'utente

    prova questo script cambiando i dati del database e giu in fondo al posto di $fetch['nomecampo1'] e $fetch['nomecampo2'] dovresti mettere i nomi dei campi che ti interessano.

    <?php 
    // configurazione 
    $db_host = "localhost"; 
    $db_user = "db_user"; 
    $db_password = "db_pass"; 
    $db_name = "db_name"; 
    $tab ='tabella';
    
    
    
    // connessione 
    $db = mysql_connect&#40;$db_host, $db_user, $db_password&#41;; 
    $db_sel = mysql_select_db&#40;$db_name, $db&#41;; 
    
    					  
    // esecuzione prima query
    $count = mysql_query&#40;"SELECT COUNT&#40;id&#41; FROM $tab"&#41;;
    
    
    $res_count = mysql_fetch_row&#40;$count&#41;;
    
    // numero totale di records
    $tot_records = $res_count&#91;0&#93;;
    
    // risultati per pagina&#40;secondo parametro di LIMIT&#41;
    $per_page = 10;
    
    // numero totale di pagine
    $tot_pages = ceil&#40;$tot_records / $per_page&#41;;
    
    // pagina corrente
    $current_page = &#40;!$_GET&#91;'page'&#93;&#41; ? 1 : &#40;int&#41;$_GET&#91;'page'&#93;;
    
    // primo parametro di LIMIT
    $primo = &#40;$current_page - 1&#41; * $per_page;
    
    
    // formattazione query 
    $query = "SELECT * FROM $tab ORDER BY id DESC LIMIT $primo, $per_page"; 
    
    // esecuzione query 
    $query_results = mysql_query&#40;$query&#41;; 
    
    // stampa risultati 
    while&#40;$fetch = mysql_fetch_array&#40;$query_results&#41;&#41; 
    &#123; 
    
    echo &#40;"&#123;$fetch&#91;'nomecampo1'&#93;&#125; 
     &#123;$fetch&#91;'nomecampo2'&#93;&#125;</a>
    
    "&#41;;
    
    &#125; 
    
    ?>
                
    
                                      <?php
    
    $paginazione = "Pagine totali&#58; " . $tot_pages . "
    &#91;";
    for&#40;$i = 1; $i <= $tot_pages; $i++&#41; &#123;
    if&#40;$i == $current_page&#41; &#123;
    $paginazione .= $i . " ";
    &#125; else &#123;
    $paginazione .= "<a href=\"?id=$id&page=$i\" title=\"Vai alla pagina $i\">$i</a> ";
    &#125;
    &#125;
    $paginazione .= "&#93;";
    echo $paginazione ;
    ?>