Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    13

    aggiornare db il lunedì

    Vorrei aggiornare un campo di una tab il lunedì di ogni settimana... ho scritto questo:
    Codice PHP:
    $oggi=date("Y-m-d");
    $result mysql_query("SELECT WEEKDAY('".$oggi."')");
    $row=mysql_fetch_assoc($result);
    $sql1="select data from cerca where tipo=3";
    $result1=mysql_query($sql1);
    $row1=mysql_fetch_assoc($result1);
    if (
    $oggi>$row1['data']){
    if (
    $row['weekday('.$oggi.')']==0){
        
    $sql "update cerca set data='".$oggi."', num='1' where tipo=3";
        
    mysql_query($sql);
        }
        } 
    il valore di cerca.data e cerca.num mi vengono aggiornati ad ogni giorno superiore a quello di $oggi.... Dove sbaglio?

    Grazie
    dmiao83

  2. #2
    Ciao
    Inizierei col dirti che questo:

    Codice PHP:
    $result mysql_query("SELECT WEEKDAY('".$oggi."')");
    $row=mysql_fetch_assoc($result); 
    lo sostituirei con qualcosa di simile:

    Codice PHP:
    $giorno date('w'); 
    vedi la documentazione qui: http://it1.php.net/manual/en/function.date.php
    Lunedì dovrebbe essere l'1.
    Mi sembra uno spreco fare una connessione al db per una roba del genere.

    detto questo...qui:
    Codice PHP:
    if ($oggi>$row1['data']){
    if (
    $row['weekday('.$oggi.')']==0){ 
    I due IF li puoi unire con un & visto che non c'è altro, inoltre il secondo if potrebbe essere un semplice
    Codice PHP:
    1===$giorno 
    ad ogni modo ti consiglierei anche un
    Codice PHP:
    var_dump($row1['data']) 
    per vedere se contiene i dati che ti aspetti.

    Spero di aver capito giusto e averti offerto altre opzioni...
    bye

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2012
    Messaggi
    13
    Originariamente inviato da punkrazio
    Ciao
    Inizierei col dirti che questo:

    Codice PHP:
    $result mysql_query("SELECT WEEKDAY('".$oggi."')");
    $row=mysql_fetch_assoc($result); 
    lo sostituirei con qualcosa di simile:

    Codice PHP:
    $giorno date('w'); 
    vedi la documentazione qui: http://it1.php.net/manual/en/function.date.php
    Lunedì dovrebbe essere l'1.
    Mi sembra uno spreco fare una connessione al db per una roba del genere.

    detto questo...qui:
    Codice PHP:
    if ($oggi>$row1['data']){
    if (
    $row['weekday('.$oggi.')']==0){ 
    I due IF li puoi unire con un & visto che non c'è altro, inoltre il secondo if potrebbe essere un semplice
    Codice PHP:
    1===$giorno 
    ad ogni modo ti consiglierei anche un
    Codice PHP:
    var_dump($row1['data']) 
    per vedere se contiene i dati che ti aspetti.

    Spero di aver capito giusto e averti offerto altre opzioni...
    bye
    Grazie mille!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.