Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    rendere linkabili i nomi dei campi

    ciao,

    tramite questo script, ho stampato i nomi dei campi di una tabella:

    codice:
    <?php
    
    $connessione = mysql_connect('localhost', 'root', '');
    
    $campi = mysql_list_fields("nome_db", "nome_tabella", $connessione);
    $colonne = mysql_num_fields($campi);
    
    for ($i = 0; $i < $colonne; $i++) {
       
      
       echo mysql_field_name($campi, $i) . "
    \n";
    }
    ?>
    però adesso vorrei renderli linkabili, in modo da poter modificare i dati presenti nei campi,uno per uno.
    domanda: come fare?
    come inizio cmq, è corretto utilizzare lo script in quel modo?
    grazie mille.

  2. #2
    codice:
    echo "<a href=\"pagina.htm\">" . mysql_field_name($campi, $i) . "</a>
    \n";
    In questo senso?

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    525
    Può essere un'idea:
    aggiungi il link alla stringa del nome del campo passando tramite una var un valore che t identifica quale campo andare a modificare:

    $campo=mysql_field_name($campi, $i);

    echo "<a href='change_dati.php?campo=$campo'>$campo
    \n";

    Nel file in cui verrai indirizzato in base al valore di $campo
    fai una select dei dati per modificarli

    Select $campo from $table

    Ciclo for che li visualiuzza in un text

    for ($i=0; $i<mysql_num_rows($result); $i++)

    <input type='text' name='<? echo "text".$i ?>' value='<? echo mysql_result("$result",$i,$campo) ?>'>

    Tasto submit per memorizzare le modifiche
    Nota che ho tralasciato alcune assegnazioni, ho suggerito solo uno 'scheletro'

  4. #4
    cioè,
    alcuni campi, hanno come dato inserito ad esempio un titolo, mentre in altri potrebbero avere del testo...in questo caso come faccio a caricare una pagina per la modifica di un semplice titolo oppure una textarea per la modifica del testo formattato?

  5. #5
    grazie simoxxx,
    adesso mi studio l'esempio che mi hai postato

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    525
    mmhhh
    se ho capito bene il problema è che nn sai a priori quant'è grande il testo che andrai a scrivere,qdi se usare un text o una textarea...
    In qsto caso leggi il valore della stringa e ricavane la lunghezza:

    $lungh=str_lenght(mysql_result("$result",$i,$campo ))

    e se la lungh è minore di un certo valore stampi il text altrimenti usi la textarea:

    $value=mysql_result("$result",$i,$campo);

    if ($lungh<15){ ?>

    <input type='text' name='<? echo "text".$i ?>' value='<? echo $value ?>'>

    <? }
    else

    <textarea name='<? echo "text".$i ?>'><? echo $value ?></textarea>

    <? }

  7. #7
    Originariamente inviato da Simoxxx
    mmhhh
    se ho capito bene il problema è che nn sai a priori quant'è grande il testo che andrai a scrivere,qdi se usare un text o una textarea...
    no quello lo so, cioè so quali campi sono riservati per i titoli e quali per il testo, quindi faccio riferimento al tuo primo post?

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    525
    yess...
    il secondo post era perche pensavo che nn avessi quella info a priori
    Ciauzz

  9. #9
    ciao,

    dunque io ho fatto in questo modo:
    nel 1°file, mi estraggo tutti i titoli presenti nel campo della tabella e creo i link:



    codice:
    include("dbconnect.php");
    
    $query = "SELECT titolo_studio FROM studi ";
    $result = mysql_query($query) or die(mysql_error());
    
    while(list($data) = mysql_fetch_row($result)) {
        
    
    echo "
    
    <tr>
        <td style=\"padding:5px\" width=\"35%\"><a href=\"lista_campi.php?id_studio=$data\">$data</a></td>
    nel file lista_campi.php, mi porto dietro la var del titolo:

    codice:
    $nome = $_GET['id_studio'];
    
    
    
    $connessione = mysql_connect('localhost', 'root', '');
    
    $campi = mysql_list_fields("glocal", "studi", $connessione);
    $colonne = mysql_num_fields($campi);
    
    for ($i = 6; $i < $colonne; $i++) {
    
    $campo=mysql_field_name($campi, $i);
    
    echo "<a href='change_dati.php?id_studio=$nome&campo=$campo'>$campo
    \n";
    }
    ho aggiunto all'url oltre alla var $campo anche la var $nome

    e poi per la visualizzazione del text o textarea...qui mi perdo...

    change_dati.php:
    codice:
    <?php
    include("dbconnect.php");
    
    $table = "studi";
    
    $result = mysql_query("SELECT '" . $_REQUEST["campo"]  . "' FROM $table")or die(mysql_error());
      
    
     //Ciclo for che li visualizza in un text
    for ($i=0; $i<mysql_num_rows($result); $i++)
     ?>
     
    <input type='text' name='<? echo "text".$i ?>' value='<? echo mysql_result("$result",$i,$campo) ?>'>

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2001
    Messaggi
    525

    ?

    ehmhh non ho capito in cosa t perdi...nella visualizzazione della textarea o nella success memorizz dei dati??
    Per la vis della textarea ho postato il codice sopra, se nn t serve il controllo sulla lungh della stringa del dato eliminalo altrimenti spiega magari meglio il problema

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.