• Consiglio Direttivo

    Rieccomi 😉

    Si, hai ragione scusami, ero un po' di fretta e mi son dimenticato il tag di chiusura, alla fine del file basta che aggiungi ?> 😉

    Per cosa creare nel Database dipende da cosa ti serve. Devi creare una tabella ed al suo interno i campi che ti giovano. Utilizzando Phpmyadmin ti basta selezionare il Database e quindi utilizzare la procedura guidata per creare una nuova tabella (stabilisci il numero di campi ed il nome e clicchi *Esegui).
    *Se ci fornisci maggiori informazioni vediamo di essere più precisi magari. 😉


  • User

    Allora..nel file config.php ho messo questo:

    
       <?php  
       $link = mysql_connect('localhost', 'nome_utente', 'password');  
        if (!$link) {  
            die ('Non riesco a connettermi: ' . mysql_error());  
        }  
          
        $db_selected = mysql_select_db('prova', $link);  
        if (!$db_selected) {  
           die ("Errore nella selezione del database: " . mysql_error());  
      }  
       ?>  
    ```Il mio problema è creare la tabella nel db, scusa ma sono nuovo del php
    
    Mi puoi dire come fare???

  • Consiglio Direttivo

    Vediamo se riesco in poco ad essere chiaro su come creare una tabella utilizzando la procedura guidata di Phpmyadmin 😉

    Per prima cosa ovviamente devi accedere a Phpmyadmin 😄
    Il secondo passo è quello di selezionare il database dove vuoi che venga creata questa nuova tabella:

    image

    A questo punto vedrai accanto il contenuto del Db, vuoto se non esistono tabelle, ed in basso c'è il form per usufruire della procedura guidata:

    image

    Immetti il nome della nuova tabella ed il numero di campi che dovrà avere e quindi clicca su Esegui. Ti si presenterà il form di struttura:

    image

    Che dovrai compilare secondo le esigenze di quel che ti serve, questo è un esempio:

    image

    Cliccando infine su Salva verrà creata la tua nuova_tabella così per come hai stabilito nel form quì sopra:

    image

    Come puoi notare nella parte alta ti verrà presentata l'istruzione SQL che è stata utilizzata per creare questa tabella, fai un po' di test ed inizia a familiarizzare con il linguaggio, tutto sommato non è difficile.

    Due piccole aggiunte su cosa ti servirà sapere:
    Tipo campo (ne metto solo alcuni ;)):
    INT - Numeri interi (utilizzato anche per il timestamp)
    SMALLINT - per piccoli numeri interi
    FLOAT - numeri decimali
    VARCHAR - testo di lunghezza massima 255 caratteri
    DATE - campi data in formato inglese (esempio: 2008-12-13)
    DATETIME - campi data/ora in formato inglese (esempio: 2008-12-13 15:45:00)
    TEXT - per lunghi testi
    etc etc

    E' sempre consigliabile creare un indice primario auto-increment (nell'esempio di prima il campo id) in modo che sia univoco a tutti i record contenuti nella tabella...poi, ovvio, dipende dalle necessita' 😉

    Spero ti sia utile :ciauz:


  • User

    Ma il nome della tabella influisce su qualche parametro???_Il numero dei campi corrisponde con il numero dei valori da inserire..??

    Cioè se nel form ho campo nome e campo cognome, allora numero dei campi è 2???

    Grazie


  • Consiglio Direttivo

    @affittami said:

    Ma il nome della tabella influisce su qualche parametro???
    Certo nell'INSERT è il primo valore che devi indicare, ovvero: dove andare a creare il record?

    INSERT INTO *nome_tabella*
    ```@affittami said:
    > Il numero dei campi corrisponde con il numero dei valori da inserire..??
    
    Cioè se nel form ho campo nome e campo cognome, allora numero dei campi è 2???
    Se ti servono solo due campi allora si, se, come ti dicevo, vuoi inserire anche un campo univoco (chiave primaria *id*) allora diventano 3.
    ;)

  • User

    Allora ho fatto tutto solo che mi da questo errore

    Warning: mysql_connect() [function.mysql-connect]: Lost connection to MySQL server at 'reading initial communication packet', system error: 111 in /home/mhd-01/xx.dominio.com/htdocs/config.php on line 2
    Non riesco a connettermi: Lost connection to MySQL server at 'reading initial communication packet', system error: 111


  • User

    Ecco il file config.php```
    <?php
    $link = mysql_connect('host dominio', 'nome db', 'pass');
    if (!$link) {
    die ('Non riesco a connettermi: ' . mysql_error());
    }

    $db_selected = mysql_select_db('nome tabella', $link);  
    if (!$db_selected) {  
       die ("Errore nella selezione del database: " . mysql_error());  
    

    }
    ?>


  • User

    Niente.. ho risolto...adesso vorrei fare una pagina che mi permette di visualizzre il contenuto del mio db...

    Come posso fare???


  • User

    Altro problema...ho creato un campo "numero_civico" sia nel form che nel db

    Solo che me lo da sempre 0..come mai???

    Vi do le caratteristiche che ho messo nel db

    campo:numero_civico
    tipo:int(11)
    collation:niente (anche se cerco di modficare mi da sempre vuoto)
    attributi:niente
    Null:no
    predefinito:niente
    extra:niente


  • ModSenior

    Buona sera Affittami.
    Perchè, nonostante le ripetute correzioni dei suoi post e relative note di modifica da parte di due modsenior, continua a non scrivere correttamente (maiuscole)?


  • User

    Non capisco cosa c'è che ho sbagliato???Non devo fare le maiuscole???


  • Super User

    @affittami said:

    Non capisco cosa c'è che ho sbagliato???Non devo fare le maiuscole???

    Ciao affittami, penso che le note e la domanda che ti è stata posta dal ModSenior non lasciano adito ad interpretazioni.

    *Last edited by Samyorn; 08-12-08 at 19:28. Motivo: Curare le maiuscole. Corretti errori di battitura.*Ovviamente le maiuscole devono essere utilizzate.

    Ti invito a rileggere il regolamento prima di postare ancora, ulteriori infrazioni al regolamento non saranno tollerate.

    Grazie.


  • Consiglio Direttivo

    @affittami said:

    Solo che me lo da sempre 0..come mai???
    Nella pagina di inserimento dati hai recuperato, così come hai fatto per gli altri, il valore della casella input numero civico?
    Se si, vediamo di isolare dove sta il problema; poco prima dell'INSERT fai un echo della variabile che contiene il valore del numero civico e vedi se contiene il valore postato. Se da' zero significa che il problema sta nell'invio/recupero dati, se il valore invece è giusto ma nonostante questo sul Db esce zero allora il problema è nell'inserimento in tabella 😉

    Facci sapere :ciauz:


  • User

    Ho risolto._Adesso come dicevo precedentemente dovrei fare una pagina da mettere online dove posso vedere i contenuti caricati(non utilizzando il phpmyadmin)._Penso che bisogna fare delle echo._Giusto??_Ma come?


  • Consiglio Direttivo

    Ti basterà fare una SELECT dei campi e quindi ciclare il contenuto per visualizzarlo. Ecco un esempio:

    [php]<?php
    $sql="SELECT * FROM nome_tabella";
    $query=@mysql_query($sql) or die (mysql_error());

    while ($array=mysql_fetch_array($query))
    {
    echo $array['nome_campo1']."-".$array['nome_campo2']."-".$array['nome_campo3']."<br>";
    }
    ?>[/php]Questo ovviamente è un semplicissimo esempio di come estrarre i dati. 😉


  • User

    Un problema.Mi da questo errore```
    Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

    Io ho inserito questo codice nel file dati.php
    
    

    <?php
    $sql="SELECT * FROM form";
    $query=@mysql_query($sql) or die (mysql_error());

    while ($array=mysql_fetch_array($query))
    {
    echo $array['nome_immbile']."-".$array['via']."-".$array['numero_civico']."-".$array['provincia']."<br>";
    }
    ?>


  • Consiglio Direttivo

    Devi mettere i dati di connessione al Db 😉