Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    183

    tabella per principianti

    ciao a tutti.
    ho appena letto le due guide base php e mysql presenti sul sito.
    i concetti esposti sulla guida mi sono abbastanza chiari però non sono sufficienti per creare qualche cosa di leggermente più complicato.

    Quindi per prima cosa vorrei un consiglio su un libro dove poter trovare più informazioni.

    Poi sarei di curioso di capire come realizzare questo 'semplice' esempio:
    immaginate una semplice tabella nel db :
    nome cognome
    mario rossi
    luca bianchi

    la guida del sito ti spiega come visulizzare questa tabella in una pagina php.
    però con quel metodo vengono visualizzati sono i dati.
    Io non riesco a far comparire l'intestazione (nome e cognome).

    Inoltre non spiega come poter variare l'ordinamento dei dati direttamente sulla pagina del sito
    esempio: cliccando sopra cognome ordinare secondo l'ordine crescente i cognomi mentre cliccando su nome si ordinerebbe per nome.... meglio sarebbe avere la possibilità di ordinare per ordine crescente o decrescente...

    potete scrivermi qualche riga del codice per realizzare questa tabella e farmi capire meglio il meccanismo?

    grazie infinite

  2. #2
    per l 'intestazione dei dati che intendi tu devi usare mysql field name, cmq questo script fa al caso tuo.
    Codice PHP:
    //effettui la connessione al database

    $query "select * from nome_tabella'";
    $dbResult mysql_query($query$conn);
    $AffectedRows mysql_affected_rows($conn);

    if (
    $AffectedRows == 0)
    {
     print(
    "la tabella è vuota!");
    }
    else
    {
    print 
    "<table border=\"1\">\n";

    for (
    $index=$index<$AffectedRows $index++)
        {
        
    $row mysql_fetch_row($dbResult);
        if (
    $index==0)
            {
            print 
    "<tr>\n";
            foreach (
    $row as $k => $v)
                {
                
    $myfield mysql_fetch_field($dbResult,$k);
                print (
    "<td>[b]" $myfield->name "[/b]</td>");
                }
            print 
    "</tr>\n";
            }
            foreach (
    $row as $k => $v)
                { print (
    "<td>$v");
                  if (
    $k==0)
                  { 
    /*
                                  qui puoi fare seguire un istruzione per ogni riga
                                  esempio: se scrivi
                                  echo '<a href="pagina.html>clicca qui</a> ';
                                  per ogni riga di risultati ti apparira un link
                    */
    }
                print (
    "</td>");
                }
            print 
    "</tr>\n";
        }    
        print 
    "</table>\n";
    }
        
    mysql_free_result($dbResult);
        
    mysql_close($conn); 
    www.gicchesto.com
    Servizi informatici ed elettronici a 360° per aziende e/o privati.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    183
    ti ringrazio molto per la risposta, ma sei sicuro del codice?

    per prima cosa mi segnala errore (non capisco il motivo) alla riga:

    mysql_free_result($dbResult);

    ho poi eliminato la riga (non penso sia indispensabile) però non ottengo risultato..
    schermo bianco... tabella non visualizzata...

    non è un problema di connessione perchè mettendo nel ELSE:

    ....
    else
    {
    print "ciao";
    print "<table border=\"1\">\n";
    ....
    ....

    visualizzo il ciao ma nulla sotto....

    grazie ancora

  4. #4
    ciao, allora lo script funziona, l' ho preso direttamente dall pagina di php di un mio sito ecommerce online. quindi si tratta di dettagli di configurazione al massimo.
    la free_result serve solo a liberare il set di risultati, non è indispensabile,postami la riga della query e del file di connessione, cosi ti aiuto
    www.gicchesto.com
    Servizi informatici ed elettronici a 360° per aziende e/o privati.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    183
    il dababase in locale si chiama rubrica
    la tabella si chiama nomi
    la tabella contiene:
    nome cognome --> intestazione
    mario rossi
    marco bianchi

    il codice è:
    <html>
    <head>
    <title>tabella </title>
    </head>
    <body>
    <?php

    $host = 'localhost';
    $user = 'iorso';
    $password = 'pippo';
    $database = 'rubrica';

    $conn = mysql_connect($host, $user, $password)
    or die ("impossibile connettersi al server $host");

    $query = "select * from 'nomi'";
    $dbResult = mysql_query($query, $conn);
    $AffectedRows = mysql_affected_rows($conn);

    if ($AffectedRows == 0)
    {
    print("la tabella è vuota!");
    }
    else
    {
    print "<table border=\"1\">\n";

    for ($index=0 ; $index<$AffectedRows ; $index++)
    {
    $row = mysql_fetch_row($dbResult);
    if ($index==0)
    {
    print "<tr>\n";
    foreach ($row as $k => $v)
    {
    $myfield = mysql_fetch_field($dbResult,$k);
    print ("<td>" . $myfield->name . "</td>");
    }
    print "</tr>\n";
    }
    foreach ($row as $k => $v)
    { print ("<td>$v");
    if ($k==0)
    { /*
    qui puoi fare seguire un istruzione per ogni riga
    esempio: se scrivi
    echo '<a href="pagina.html>clicca qui</a> ';
    per ogni riga di risultati ti apparira un link
    */}
    print ("</td>");
    }
    print "</tr>\n";
    }
    print "</table>\n";
    }
    mysql_free_result($dbResult);
    mysql_close($conn);

    ?>


    l'errore a video è:
    Warning: mysql_free_result() expects parameter 1 to be resource, boolean given in C:\wamp\www\prova1\tabella.php on line 60

    eliminando la riga 60
    /* mysql_free_result($dbResult); */

    lo schermo visualizzato è completamente bianco... nessuna tabella!

    grazieeeeee

  6. #6
    effettua la connessione cosi:
    Codice PHP:
      $db_host="localhost";
      
    $db_user="user";
      
    $db_pass="xxxx";
      
    $db_name="rubrica";

      
    $conn=mysql_connect($db_host,$db_user,$db_pass) or die("Non è stato possibile stabilire una connessione");
    if(@
    mysql_select_db("rubrica",$conn)!=1)

    mysql_query("CREATE DATABASE rubrica")or die("Errore ".mysql_errno().":".mysql_error()."\n"); 
    e poi al seguito incolla lo script e dimmi.
    www.gicchesto.com
    Servizi informatici ed elettronici a 360° per aziende e/o privati.

  7. #7
    ha che scemo non ho visto questa riga

    allora quando fai la select il nome della tabella non va fra apici!

    ma è semplicemente cosi:

    $query = "select * from nomi";

    al massimo tra apici ci va la clausola se devi fare una cosa del tipo

    $id=1;
    $query = " select * from articoli where id='$id' ";
    www.gicchesto.com
    Servizi informatici ed elettronici a 360° per aziende e/o privati.

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    183
    ora funziona e studierò il tuo codice nel dettaglio!

    gli apici nella stringa non c'entrano.... funziona sia con apici che senza!

    il problema era nel creare il database:
    mysql_query("CREATE DATABASE rubrica")or die("Errore ".mysql_errno().":".mysql_error()."\n");

    sinceramente però non capisco perchè bisogna specificare la creazione anche se in effetti il database era già stato creato in precedenza su mysql manualmente....
    i misteri informatici non finiranno mai :-)

    grazie

  9. #9
    Originariamente inviato da iorso
    ora funziona e studierò il tuo codice nel dettaglio!

    gli apici nella stringa non c'entrano.... funziona sia con apici che senza!

    il problema era nel creare il database:
    mysql_query("CREATE DATABASE rubrica")or die("Errore ".mysql_errno().":".mysql_error()."\n");

    sinceramente però non capisco perchè bisogna specificare la creazione anche se in effetti il database era già stato creato in precedenza su mysql manualmente....
    i misteri informatici non finiranno mai :-)

    grazie
    be mi fa piacere che ti sia stato utile, si studia il codice xke con quel pezzo puoi creare istruzioni molto potenti e funzionali, sopratutto dove c'è la REM,ossia il mio commento.
    cmq si a volte ci sono misteri, e a volte no, magari c'era un errore di lettere o case sensitive non so, cmq per risolvere il mistero è semplice! vai nel tuo database e vedi , di tabelle di nome rubrica dovrebbe essercene una sola no? se è cosi non ti ha creato nulla il mio script. cmq nella connessione poi se noti era aggiunto l'if (select db) che tu non avevi messo. ciau
    www.gicchesto.com
    Servizi informatici ed elettronici a 360° per aziende e/o privati.

  10. #10
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    183
    mi permetto ancora di farti una domanda:

    attivando la parte del link :

    foreach ($row as $k => $v)
    { print ("<td>$v");
    if ($k==0)
    {

    /* qui puoi fare seguire un istruzione per ogni riga - esempio: se scrivi */


    echo '<a href="pagina.html>clicca qui</a> ';


    /* per ogni riga di risultati ti apparira un link */

    }
    print ("</td>");
    }
    print "</tr>\n";


    mi compare il la tabella con intestazione più solo una riga di dati dove compare effettevamente il link nella prima colonna ($k==0)
    la domanda è perchè compare solo una SOLO UNA riga?
    Non dovrebbero comparire tutte le righe?

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.