Visualizzazione dei risultati da 1 a 6 su 6

Discussione: if..elseif

  1. #1

    if..elseif

    perchè non viene aggiornata la tabella se la prima condizione è falsa e la seconda è vera, è sbagliato qualcosa nell'uso di if else if?

    Codice PHP:
    while ($row mysql_fetch_array($risultato_morosi)){
    $id  $row["id_ass"]; 
    $pagamento $row["id_pagamento"];

    if (
    $pagamento == 200 ){ 

    $sql"UPDATE anagrafica SET morosoucsi ='pag' WHERE id_ass = $id";  
    $query mysql_query($sql) or die (errore_server());
    }
    elseif (
    $pagamento != 200 ){ 
    $sql"UPDATE anagrafica SET morosoucsi ='mor' WHERE id_ass = $id";  
    $query mysql_query($sql) or die (errore_server());
    }



  2. #2
    il problema potrebbe essere nel $row.

    il while (e quindi tutto il codice che racchiude) potrebbe non essere mai eseguito se tale array ($row) ritorna una valore FALSE.

    quindi potrebbe non essere un problema di IF

  3. #3
    i valori che restituisce sono o 200, e in questo caso funziona aggiornando la riga, oppure non c'è il 200 e in questo caso non funziona la seconda if...

  4. #4
    prova ad impostare
    $pagamento=100;

    metti nell' ELSEIF un print "test" e cotnrolla che lo script arrivi dentro e poi verifica che venga effettuato l'aggiornamento .

    errore_server() e' una funziona scritta da te?

    altrimenti die(mysql_error()) potrebbe aiutart ia capire se c'e' un errore di DB .

    se tutto funziona significa che hai dei problemi prima dello script che hai postato , ossia la select non prende i valori diversi da 200

  5. #5
    risolto, era un problema nella query

    grazie

  6. #6
    ops, ulteriore problema....

    ad ogni iscritto corrispondono più id_pagamento... io vorrei che una volta soddisfatta la condizione presente in if il ciclo si fermasse e continuasse solo se non trova il valore 200... invece se dopo quella con 200 è presente un altro id_pagamento con 100 mi inserisce nel database il valore mor...
    continuo a non capire come fare... e ripeto il codice che stò utilizzando:

    Codice PHP:
    $query_morosi "SELECT anagrafica.id_ass, anagrafica.cognome_nome, pagamenti.id_transaz, pagamenti.id_pagamento, pagamenti.descr_pagamento, pagamenti.data_pagamento, pagamenti.valore FROM anagrafica INNER JOIN pagamenti ON anagrafica.id_ass = pagamenti.id_ass WHERE anagrafica.dataiscr_ucsi >0 ";
    $risultato_morosi mysql_query($query_morosi$connessione);
    $num_righe mysql_query($risultato_morosi);

           while (
    $row mysql_fetch_array($risultato_morosi)){
    $id  $row["id_ass"]; 
    $pagamento $row["id_pagamento"];

    if (
    $pagamento == 200 AND (data_pagamento >= '$anno_now-01-01')){ 

    $sql"UPDATE anagrafica SET morosoucsi ='pag' WHERE id_ass = $id";  
    $query mysql_query($sql) or die (errore_server());
    }
    else{ 
    $sql"UPDATE anagrafica SET morosoucsi ='mor' WHERE id_ass = $id";  
    $query mysql_query($sql) or die (errore_server());
    }



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.