Visualizzazione dei risultati da 1 a 8 su 8

Discussione: Decremento

  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    19

    Decremento

    Ho questo codice:

    Codice PHP:
     $param  str_replace("_"" "$param);

    $pot "SELECT nomeIncantesimo FROM incantesimi_memorizzati WHERE id_utente = '".$_SESSION['utente']['id_utente']."' AND nomeIncantesimo = \"".$param."\"";  
    $potres mysql_query($pot) or die(mysql_error()."
    "
    .$pot);

    if(
    mysql_num_rows($potres) > 0) {


    $pspesi "SELECT punti FROM incantesimi WHERE incantesimo = \"".$param."\"";   
    $spesi mysql_query($pspesi) or die(mysql_error()."
    "
    .$pspesi);

    $pp "SELECT punti_potere.punti_potere FROM punti_potere,utenti_x_classi WHERE punti_potere.classe = utenti_x_classi.classe AND id_utente = '".$_SESSION['utente']['id_utente']."' AND punti_potere.livello = utenti_x_classi.livello";
    $ppres mysql_query($pp) or die(mysql_error()."
    "
    .$pp);   


    list(
    $spesi) = mysql_fetch_array($spesi);
    list(
    $ppres) = mysql_fetch_array($ppres);
     

    while (
    $resu $ppres-$spesi) { 

    $chatTesto "EBMAGTEmanifesta potere ".$param." e spende almeno ".$spesi." punti potere. Ha a disposizione ".$resu." su un totale di ".$ppres." punti potere più eventuale bonus caratteristica ";

    break 
    1;


    }
     

      }else{

    $chatTesto "PRIHCHA".$nome."@ non hai punti potere o non possiedi quel potere!";

                 
     } 
    In chat, in pratica viene scelto un valore presente nella tabella incantesimi_memorizzati e in base al valore punti diminuisce il valore ppres. Ho messo il ciclo while per sottrarre i punti spesi da quelli totali e un break perché nella mia totale ignoranza speravo non solo di uscire dal ciclo ma anche di conservare il risultato.

    Ecco vorrei una funzione che mi permettesse di poter diminuire il totale e conservare il risultato per poterlo diminuire un'altra volta alla prossima postata in chat con il $param.

    Spero di essermi spiegato e mi scuso per la poca competenza

  2. #2
    non ho capito molto quello che chiedi nè il perchè di quel while che non serve ad una ceppa (dal momento che sarà sempre true a meno che $ppres-$spesi non sia <=0 e quindi il break ci và tutto, ma un if era la soluzione giusta in questo caso)

    diciamo che il giocatore WIZARD parte con 100 punti potere, nel db punti_potere.punti_potere = 100

    - WIZARD lancia incantesimo "luce" che costa 1 punto potere, nel db punti = 1

    quindi avrai $spesi = 1 e $ppres = 100

    allora:

    Codice PHP:

    if($ppres<$spesi){

    echo 
    "non hai punti potere a sufficienza";

    }else{

    $resu $ppres-$spesi;

    //aggiorno il db
    //aggiorno il db aggiornando i punti potere a disposizione dell'utente_x

    echo "hai speso $spesi punti potere su un totale di $ppres, ti restano $resu punti potere";


    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    19
    Grazie per il consiglio, adesso funziona perfettamente con una query di update. E' possibile dopo l'update riportare al valore originale i ppres?

  4. #4
    Originariamente inviato da Cioves79
    Grazie per il consiglio, adesso funziona perfettamente con una query di update. E' possibile dopo l'update riportare al valore originale i ppres?
    ovvero?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    19
    Diciamo che vorrei cancellare la tabella con un truncate table ad un'ora specifica. E' possibile? Come potrei fare?

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    19
    Codice PHP:
    //cancello da pp_x_utente

    <?php

    $ora 
    date("G");
    $minuti date("i");

    if(
    $ora == 13) && ($minuti == 30


    mysql_query("TRUNCATE TABLE pp_x_utente"
    or die(
    mysql_error()); }

    ?>
    Vorrei poter creare un evento che faccia caricare la pagina per l'ora stabilita e sia quindi possibile fare il truncate della tabella e riportarla allo stato originale. Come posso fare?

  7. #7
    Originariamente inviato da Cioves79
    Codice PHP:
    //cancello da pp_x_utente

    <?php

    $ora 
    date("G");
    $minuti date("i");

    if(
    $ora == 13) && ($minuti == 30


    mysql_query("TRUNCATE TABLE pp_x_utente"
    or die(
    mysql_error()); }

    ?>
    Vorrei poter creare un evento che faccia caricare la pagina per l'ora stabilita e sia quindi possibile fare il truncate della tabella e riportarla allo stato originale. Come posso fare?
    tendenzialmente con un cronjob (se cerchi sul forum ci sono 6mila discussioni a riguardo) oppure wrappi il tutto in una funzione e la richiami all'inizio di ogni pagina in maniera da sfruttare chi visita il tuo sito per l'operazione pianificata (ovviamente segnandoti da qualche un flag per non farla eseguire due volte nella stessa giornata)
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    19
    Ti ringrazio molto e di nuovo per la tua risposta puntualissima. In effetti il cron job potrebbe essere l'ideale ma per curiosità e per imparare, se ti va di condividere, mi faresti un esempio della funzione che avevi in mente?


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.