• User

    Problema con uno script per generare una lista utenti

    Salve ragazzi. Ho un problema con un codice.

    Avviso che è da una settimana che sto imparando a programmare. Sto capendo tante cose ed ho iniziato uno script per gestire un sito.

    Ho fatto login, registrazione e alcuni piccoli dettagli divertenti (numero utenti registrati, ultimo utente registrato ecc..). Ora sto cercando di fare la lista degli utenti registrati ma non ci riesco.

    Il codice è questo

    [PHP]<?php
    //Dati del mio database
    $nomehost = "";
    $nomeuser = "
    ";
    $password = "";
    $dbname = "
    ";

    //Connessione al database
    $connessione = mysql_connect($nomehost,$nomeuser,$password);

    //Controllo Connessione
    if($connessione == 0){echo "Connessione al database fallita";}

    //selezione database login
    $database_select = mysql_select_db($dbname, $connessione);

    //Controllo selezione del database
    if($database_select == 0) {echo "Selezione non riuscita";}

    //Estrazione utenti
    $lista_utenti = mysql_query("SELECT username as utente FROM login ORDER BY username");
    $array_utenti = mysql_fetch_array($lista_utenti);
    foreach($array_utenti as $valore) {
    echo $valore['utente'];
    }
    ?>[/PHP]

    Il tutto "funziona" ma mi estrae solo 1 username scritto a metà diciamo .-.

    Quale può essere il problema? Grazie per l'aiuto!!


    Altra cosa.

    Non riesco nemmeno a registrare la data nel db settando un campo TIMESTAMP...Qualche anima buona può spiegarmi come si fa? Mi serve solo sapere come si inserisce nel db...Non mi interessa estrarla...

    Grazie ancora.


  • User

    Dopo i problemi iniziali cercando per internet e leggendo qualche nuova funzione che non conoscevo ci sono riuscito.
    Posto comunque il file per qualche consiglio per renderlo più pulito soprattutto sulla tabella perchè sono convinto che non sia proprio il massimo (l'ho fatta molto da niubbo).
    [PHP]<?php
    //Dati del mio database
    $nomehost = "";
    $nomeuser = "
    ";
    $password = "";
    $dbname = "
    ";

    //Controllo connessione
    $connessione = mysql_connect($nomehost,$nomeuser,$password) or die(mysql_error());

    //Selezione database
    $select_db = mysql_select_db($dbname,$connessione) or die (mysql_error());

    //Selezione db per estrarre gli utenti
    $lista_utenti = mysql_query("SELECT username as utente FROM login ORDER BY username");
    echo "<b><center>Lista Utenti</b></center>";
    $n = "1";
    ?>
    <html>
    <head><title>Lista Utenti</title></head>
    <body>
    <center><table border="0" width="30%">
    <?php while($record = mysql_fetch_array($lista_utenti)) {
    echo "<tr><td>";
    echo "$n ";
    echo "</td>";
    echo "<td>";
    echo $record['utente'];
    echo "</td></tr>";
    $n++;
    }
    ?>
    </table></center>
    </body>
    <html>[/PHP]

    Però ancora non sono riuscito a immettere la data nel db durante le registrazione col TIMESTAMP. Chi mi aiuta?


  • User Attivo

    E cosa c'entra questo pezzo di codice con l'insert dei dati nel DB?


  • User

    $insert = "INSERT INTO login (col1, col2, col3. data) VALUES ('$val1', '$val2', '$val3', '".date()."')";

    dove col1 col2 col3 sono i nomi delle colonne all'interno del db. ad esempio id
    $val1 $val2 $val3 sono le variabili valorizzate, quindi potrebbe contenere il nome l'username e la password

    date() invece è una funzione nativa di php, cosi ti stampa il timestamp se fai una ricerca approfondita su google puoi gestire e memorizzare la data come ti è più comoda.

    Attento a queste cose:

    nel db metto i doppi apici tra la funzione con i punti di collegamento " . date() . " oltre che i singoli apici ' " . date() . " '

    può non funzionare se il campo data nel database è in timestamp.
    potrebbe stamparti valori zero 0000.00.00 fallo diventare per non complicarti troppo la vita un varchar(8)