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

    [database, inserimento di un link in un campo record]

    Salve A TUTTI.

    Sto costruendo un database 'indirizzi web'.
    Ho cominciato a creare una tabella 'guide' in cui ciascun record è formato dai seguenti campi: N°, Nome, Indirizzo, Sito tematico, Note.
    Ad esempio:
    2, Guida WordPress, http://basic.html.it/guide/leggi/141/guida-wordpre... , basic - HTML.it ,NULL
    Chiedo: è' possibile inserire nel campo Indirizzo non l'indirizzo, ma il corrispondente link? In tal modo, con un clic sul link vado direttamente all'indice della Guida, evitando il cammino più lungo di copiare l'indirizzo dal campo ed incollarlo nella finestra degli indirizzi del browser.

    GRAZIE

    Cicerone80.

  2. #2
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    salvati pure l' indirizzo, poi sarà in visualizzazione del record che costruirai il VERO link

    Codice PHP:
    $sql="select * from tabella";
    $query=mysql_query($sql);

    while(
    $res=mysql_fetch_assoc($query))
      {
      echo 
    "Nome: {$res['Nome']}
    "
    ;
      echo 
    "Indirizzo: <a href=\"{$res['Indirizzo']}\">{$res['Indirizzo']}</a>
    "
    ;
      echo 
    "Sito tematico: {$res['Sito_tematico']}
    "
    ;
      echo 
    "Note: {$res['Note']}
    "
    ;  
      } 
    un' ultima osservazione: non usare nel database nomi di campi con spazi.. non è consigliabile piuttosto utilizza un _ ma evita gli spazio nei nomi dei campi



    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  3. #3

    [database, inserimento di un link in un campo record]

    Egr. dottwatson,

    ho unito con il segno 'underscore le parole del nome del campo, in modo da non lasciare spazio.

    Il codice SQL che mi hai inviato è il seguente:
    Codice PHP:
    $sql="select * from tabella"
    $query=mysql_query($sql); 

    while(
    $res=mysql_fetch_assoc($query)) 
      { 
      echo 
    "Nome: {$res['Nome']}
    "

      echo 
    "Indirizzo: <a href=\"{$res['Indirizzo']}\">{$res['Indirizzo']}</a>
    "

      echo 
    "Sito tematico: {$res['Sito_tematico']}
    "

      echo 
    "Note: {$res['Note']}
    "
    ;   
      } 
    Ho costruito la tabella con PhpMyAdmin. Ho scarse conoscenze di SQL. Mi pare che il codice voglia dire questo:
    [list=1][*]seleziona tutto dalla tabella 'guide', assegnandolo alla variabile $sql;[*]fai una query di questo tutto ($sql), ed assegnalo alla variabile $query;[*]scorrendo il record campo per campo, per il campo che ha un nuovo valore associato sostituisci tale valore a quello vecchio, e vai avanti così fino alla fine del record, visualizzandomi ciascun valore;[/list=1]

    Mi rendo conto che la mia interpretazione del tuo codice potrebbe suscitare commenti umoristici presso tutti i professionisti di HTML.it Forum Sezione PHP. Però, è il solo modo per farti capire dove sbaglio. Oltre tutto, non sono riuscito a trovare le due funzioni del codice: mysql_fetch_assoc(), e mysql_fetch_assoc().

    Ma il vero problema, avendo utilizzato PhpMyAdmin nella creazione della tabella 'guide', è rappresentato dal fatto che non so nè dove e nè come inserire questo codice.
    Un posto probabile per l'inserimento potrebbe essere la finestra Mostra, cliccando precisamente su Modifica, e sovrascrivendo la scritta: 'SELECT * FROM `guide`' con il tuo codice (ovviamente mantenendo 'guide', al posto della tua generica 'tabella'). Però, onestamente, anche questa seconda ipotesi assomiglia tanto ad un clic javascript, tipo alert, con un messaggio inequivocablile: "risata: ... AhAhAh !!!".

    Potresti darmi una dritta?
    Nel frattempo, continuerò la ricerca di quelle due funzioni, e proverò a mettere a soqquadro la mia tabella 'guide' ... perchè posso sempre ricostruirne una eguale alla precedente.

    Grazie, e cordiali saluti.

    Cicerone80

  4. #4
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    esimio e stimatissimo SIgn. Cicerone,

    in merito alla sua riguardo alla funzione 'mysql_fetch_assoc', le vorrei esporre , relativamente a quest' ultima, il suo scopo, che la potrà giudare nel carpìre a pieno le funzionalità del codice da lei citato e da me medesimo illustrato nel post precedente.

    la suddetta funzione semplifica il riconoscimento dei valori estratti dal database e , nell' ottenere le informazioni riguardo al record appena estratto, crea un array dove le chiavi corrispondono al nome del campo.

    Nel caso in cui si abbia, come nell' esempio precedente uan situazione del genere

    Codice PHP:
    while($res=mysql_fetch_assoc($query)) 
    il suo significato intrìnseco e verbale è:

    finchè $query rappresenta una risorsa derivata dalla precedente interrogazione, assegna alla variabile $res un array associativo dell' attuale record appena identificato in $query, facendo in modo che nell' array le corrispondenze tra campo ==> valore siano gestite in
    $res[nome_campo] = valore

    quindi ogni intervento sul singolo record potrà essere fatto solo all' interno del ciclo while, dove $res diventa ogni qualvolta il record successivo nello scorrere la risorsa $query.

    Certo di averVi fatto cosa gradita

    porgo distinti Saluti

    Mirko
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  5. #5

    [database, inserimento di un link in un campo record]

    Egr. Sig. mirko dottwatson.

    La ringrazio per la sua ottima descrizione sul significato e sul ruolo della funzione mysql_fetch_assoc(), presente nel codice da lei inviatomi, e che di seguito per chiarezza riporto, anche per aggiornare l'eventuale utente che dovesse leggere le righe del presente post.
    Quindi, il codice da lei inviatomi è il seguente:
    Codice PHP:
    $sql="select * from tabella"
    $query=mysql_query($sql); 

    while(
    $res=mysql_fetch_assoc($query)) 
      { 
      echo 
    "Nome: {$res['Nome']}
    "

      echo 
    "Indirizzo: <a href=\"{$res['Indirizzo']}\">{$res['Indirizzo']}</a>
    "

      echo 
    "Sito tematico: {$res['Sito_tematico']}
    "

      echo 
    "Note: {$res['Note']}
    "
    ;   
      } 
    Tale codice serve a creare in fase di visualizzazione un link all'indirizzo del campo, direttamente cliccabile, evitando quindi il copia ed incolla dell'indirizzo stesso nella finestra del browser.

    Ed ora, passiamo al secondo punto, dove dico:
    Ma il vero problema, avendo utilizzato PhpMyAdmin nella creazione della tabella 'guide', è rappresentato dal fatto che non so nè dove e nè come inserire questo codice.
    Intanto, ho interpretato il fatto che lei non ha risposto a questa domanda come una prova inequivocabile che le mie risposte-ipotesi al riguardo sono sbagliate.
    Allora, mi sono ricordato di una mia precedente esperienza in questa stessa sezione PHP (discussione iniziata ad Agosto con il titolo 'Configurazione di PhpMyAdmi', e poi sfociata in una installazione Apache/MySQL/PHP con annessi msql e msqli,... con interventi suoi, di piero.mac, daniele.dll, ecc); poi, sono stato tutto settembre nella sezione Javascript et similia, e ciò mi ha fatto dimenticare parecchie cose precedentemente apprese! Ma ora qualcosa l'ho ricordata, e la mia seconda ipotesi è la seguente.
    Siccome ho installato e configurato in locale un server Apache/MySQL/PHP con annessi msql e msqli, e PhpMyAdmin, debbo far finta che quest'ultimo non esiste affatto, e debbo invece cercare di collegarmi con Php a MySQL, e lanciare il suo codice.
    Penso di lanciare un file htm con dentro incorporato il suo codice, sperando che i connectors msql e msqli siano stati ben configurati, e che il tutto funzioni. Ovviamente, penso che dovrei inserire qualche istruzione all'inizio del suo blocco di codice, per connettermi e selezionare il database; poi, il suo codice farà tutto il resto.

    Io ci provo, e le faccio sapere. Però, potrebbe dirmi se la strada è giusta?

    Grazie, e cordiali saluti

    Cicerone80.

  6. #6
    Utente di HTML.it L'avatar di dottwatson
    Registrato dal
    Feb 2007
    Messaggi
    3,012
    più che giusta, Emèrito!

    E le dirò di più... DOVEROSA !!

    Sicchè non esiste esito senza azione!
    Non sempre essere l'ultimo è un male... almeno non devi guardarti le spalle

    il mio profilo su PHPClasses e il mio blog laboweb

  7. #7

    [database, inserimento di un link in un campo record]

    Egr. Sig. mirko dottwatson.

    grazie ai suoi consigli, e sopratutto a quel blocco-chiave di script php da lei inviatomi, il problema da me posto, e che quì riporto per chiarezza finale:
    Sto costruendo un database 'indirizzi web'.
    Ho cominciato a creare una tabella 'guide' in cui ciascun record è formato dai seguenti campi: N°, Nome, Indirizzo, Sito tematico, Note.
    Ad esempio:
    2, Guida WordPress, http://basic.html.it/guide/leggi/141/guida-wordpre... , basic - HTML.it ,NULL
    Chiedo: è' possibile inserire nel campo Indirizzo non l'indirizzo, ma il corrispondente link? In tal modo, con un clic sul link vado direttamente all'indice della Guida, evitando il cammino più lungo di copiare l'indirizzo dal campo ed incollarlo nella finestra degli indirizzi del browser.
    è stato risolto.
    Riporto lo script ('guide_address_link.php):
    Codice PHP:
    <?php
    // Connessione al database  
    $con mysql_connect("localhost","root","inaisz1357") or die('Could not connect: ' mysql_error()); 
    echo 
    "connesso!!
    "


    // Selezione del database 
    mysql_select_db("indirizzi web"$con) or die("Error selecting database: " mysql_error()); 
    echo 
    "database selezionato!!
    "

    echo 
    "
    "
    ;
     
    //Selezione del recordset della tabella 'guide'
    $sql mysql_query("SELECT * FROM guide ");

    //finchè $sql!=0, assegna a $res un array associativo del record appena identificato in $ql,
    //e visualizza come $res[nome_campo] = valore le corrispondenze tra campo ==> valore dell' array  
      
    while($res mysql_fetch_array($sql))
      {
      echo 
    "Nome: {$res['Nome']}
    "

      echo 
    "Indirizzo: <a href=\"{$res ['Indirizzo']}\">{$res['Indirizzo']}</a>
    "

      echo 
    "Sito tematico: {$res ['Sito_tematico']}
    "

      echo 
    "Note: {$res ['Note']}
    "
    ;   
      }

      
    mysql_close($con);
    ?>
    ed una parte dell'output:
    Codice PHP:
    connesso!!
    database selezionato!!

    NomeGuida Drupal
    Indirizzo
    : [url]http://basic.html.it/guide/leggi/146/guida-drupal/[/url]
    Sito tematicobasic HTML.it
    Note

    NomeGuida WordPress
    Indirizzo
    : [url]http://basic.html.it/guide/leggi/141/guida-wordpress/[/url]
    Sito tematicobasic HTML.it
    Note

    NomeGuida Joomla
    Indirizzo
    : [url]http://basic.html.it/guide/leggi/138/guida-joomla/[/url]
    Sito tematicobasic HTML.it
    Note

    Sembra tutto ok, ed invece proprio ora entriamo nel vivo del problema che io mi ero proposto.


    Mi spiego meglio.
    Innanzitutto, debbo dichiarare un mio errore. Nel mio primo post di apertura della nuova discussione, non le ho detto che ho creato con PhpMyAdmin il mio database 'indirizzi web' e la tabella 'guide'. In un eccesso di ottimismo, pensavo di rendere clicclabile l'indirizzo direttamente sulla interfaccia di Mostra di PhpMyAdmin. Oggi, con qualche conoscenza in più, so che PhpMyAdmin mette i suoi file all'indirizzo c:\Programmi\MySQL\MySQL 5.0\data, con estensione .frm, inaccesibili al nostro script (ci ho provato!!!).
    Una conferma del mio errore è palese quando in un post successivo le chiedevo:
    Ma il vero problema, avendo utilizzato PhpMyAdmin nella creazione della tabella 'guide', è rappresentato dal fatto che non so nè dove e nè come inserire questo codice.
    Un posto probabile per l'inserimento potrebbe essere la finestra Mostra, cliccando precisamente su Modifica, e sovrascrivendo la scritta: 'SELECT * FROM `guide`' con il tuo codice (ovviamente mantenendo 'guide', al posto della sua generica 'tabella').
    Premesso ciò, questo è il mio problema:
    è tecnicamente possibile creare un sito interattivo e dinamico, completo di database e interfacce grafiche ecc., senza ricorrere minimamente a PhpMyAdmin, e poi trovare un hosting free che me lo (cioè, il db!) faccia utilizzare?

    Se invece utilizzo il db messo a disposizione dell'hosting, posso personalizzarlo?

    In definitiva, posso fare quello che ho già fatto con un sito a pagine statiche e artigianale? Per artigianale, intendo una costruzione fatta istruzione per istruzione.

    Grazie e cordiali saluti.

    Cicerone80

  8. #8

    [database, inserimento di un link in un campo record]

    Egr. Sig. mirko dottwatson.

    Credo che ci siano su HTML.it anche regole non scritte e dettate dal buonsenso, e, nel mio caso, la regola è questa: se l'utente (nel contesto, leggere dottwatson) non interviene su una tua ipotesi, o l'utente non ha avuto tempo, oppure l'ipotesi è sbagliata.
    Pensando ad una ipotesi sbagliata, ho riconsiderato la seguente mia affermazione:
    Oggi, con qualche conoscenza in più, so che PhpMyAdmin mette i suoi file all'indirizzo c:\Programmi\MySQL\MySQL 5.0\data, con estensione .frm, inaccesibili al nostro script (ci ho provato!!!).
    Ho quindi messo uno script di update, facente parte di un insieme di moduli di connessione, selezione, ecc, in una cartella sotto la cartella PhpMyAdmin (indirizzo browser: http://localhost/phpmyadmin/mia_cart...ipt_update.php), e ha funzionato perfettamente.
    Allora, ho messo anche il nostro script nella stessa cartella, ma non funziona.
    Ovviamente, continuerò a pensarci su, e continuerò a provare, ma lei potrebbe darmi nel frattempo qualche piccolo suggerimento?

    Grazie, e cordiali saluti

    Cicerone80

  9. #9
    permettimi di essere molto esplicito.

    Il linguaggio tra programmatori DEVE essere molto piu' diretto. Evitando eufemismi e "raggiri" di parole che hanno l'unica valenza di 10 gocce di guttalax. Questo andra' bene in letteratura ma non nelle scienze informatiche. Dopo un primo sorriso portera' inevitabilmente a trascurare il sofista letterato.

    Poi la regola non scritta (ma anche no) dei forum e' che si risponde quando si ha tempo, voglia ed interesse all'argomento, altrimenti si finisce col predicare a prescindere ed in modo approssimativo.

    Poi, ogni progetto deve avere una sua allocazione e non essere messo in sottocartelle di altri progetti. Altrimenti si e' in prossimita' di raggiungere il caos informatico. Mysql e phpmyadmin sono parenti come lo sono un cavallo ed il suo cavaliere ma ogni cavallo vive tranquillo anche senza un cavaliere. Mentre il cavaliere necessita di un cavallo per definirsi tale. Pero' nonostante questo nessun cavaliere si sognerebbe di portare un cavallo nella sua camera da letto.

    Quindi mysql ha la sua gestione delle tabelle che suddivide in file in una sua cartella \data e funziona da cavallo.

    phpmyadmin viene allocato nella cartella definita nella documentRoot che viene utilizzata da apache ed e' capace di gestire mysql come fosse il cavaliere.

    Laonde per cui il tuo applicativo deve trovare posto "a fianco" di phpmyadmin nella documentRoot e fare le cose che servono utilizzando il cavallo mysql esattamente come se fosse il cavaliere "pinco" mentre phpmyadmin era il cavaliere "pallino".

    Spero che con questi eufemici eufemismi di aver contribuito a schiarire il tuo orizzonte informatico.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10

    [database, inserimento di un link in un campo record]

    Egr. piero.mac

    Ho letto attentamente i suoi consigli, e li ho applicati, mettendo la cartella contenente lo script in questione non accodata a quella di phpmyadmin, ma direttamente sotto /htdoc, e quindi in parallelo con essa; ovviamente, ho dato un'occhiata al mio file system, in particolare alla cartella /data gestita da MySQL, e anche a quella /htdoc gestita dal server, e infine ho rivisto le configurazioni di Apache, Mysql, Php e PhpMyAdmin,
    per le quali in Agosto c.a. ebbi anche i suoi consigli. In definitiva, ora ho le idee più chiare.

    Per il resto, ha perfettamente ragione.

    Resta solo un aspetto che mi lascia un poco perplesso.
    Lo script in questione funziona perfettamente, ma esiste la possibilità di rendere linkabile l'indirizzo della guida che compare nel campo Indirizzo del recordset visualizzato da PhpMyAdmin quando si fa clic su Mostra?

    Grazie.

    Cordiali saluti

    Cicerone80

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.