Visualizzazione dei risultati da 1 a 5 su 5

Discussione: problema script

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    216

    problema script

    Salve, nel mio database ho una tabella in cui vengono salvati gli iscritti
    al mio sito; c'è un campo fascia_eta che vale 1 se l'iscritto ha da 16 a 25 anni,
    2 da 26 a 35 anni, 3 da 36 a 45 anni e 4 da 46 anni in su.
    Sempre in quella tabella ho 3 campi (giorno, mese e anno di nascita dell'iscritto);
    ora ho scritto uno script php in modo che aggiorni automaticamente il campo
    fascia_eta usando un cron job, ma mi cambia tutti i record sempre con 4 con qualsiasi
    data di nascita.
    Potete aiutarmi?
    Questo è lo script:
    Codice PHP:
    <?php
    // Collegamento ad database. 
    include("config.php");

    $sql "select * from form";
    $res mysql_query($sql) or die(mysql_error()); 

    while(
    $row=mysql_fetch_object($res))
    {
        
    // Differenza in secondi tra la data corrente
        // e la mia data di nascita
        
    $differenza time() - mktime(000$row->mese_nascita$row->giorno_nascita$row->anno_nascita);

        
    // Calcolo età
        
    $eta floor($differenza 31536000);
                    
        if((
    $eta >= 16) && ($eta <= 25))
            
    $fascia_eta 1;
                        
        elseif((
    $eta >= 26) && ($eta <= 35))
            
    $fascia_eta 2;
                        
        elseif((
    $eta >= 36) && ($eta <= 45))
            
    $fascia_eta 3;

        else 
            
    $fascia_eta 4;
            
        
    $query "UPDATE form SET fascia_eta = $fascia_eta";
        
    mysql_query($query) or die(mysql_error()); 
    }
    ?>

  2. #2
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739

    Re: problema script

    Codice PHP:
    $query "UPDATE form SET fascia_eta = $fascia_eta"
    se non specifichi una clausola where è normale che applichi l'aggiornamento a tutta la tabella!
    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2010
    Messaggi
    570
    usa le costanti che rendono il codice più leggibile, inoltre se sei sotto php 5.3 puoi usare direttamente date_diff

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    216
    lo script deve aggiornare tutta la tabella, ma con il giusto valore

  5. #5
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Originariamente inviato da Bruce5000
    lo script deve aggiornare tutta la tabella, ma con il giusto valore
    Sbagliato, lo script deve aggiornare solo il record relativo a quanto contenuto in $row e non tutta la tabella. Se in $row hai un ID univoco, utilizzalo per aggiornare solo quel record e non tutti i record della tabella inserendo l'opportuna clausola where nella query di aggiornamento!

    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

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.