Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

Discussione: non mi funziona OR

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043

    non mi funziona OR

    ciao non mi funziona || (or) mi stampa sempre nome e cognome anche quando invece mi dovrebbe stampare la ragione sociale è come se ignorasse il comando OR

    Codice PHP:
    <?php
    if ($row['categoria']=='fornitore' || $row['categoria']=='concessionario' || $row['categoria']=='centro' || $row['categoria']=='scuola'){ 
    ?>
    <?=$row
    ['ragione_sociale']?>
    <?php
    }
    else { 
    ?>
    <?=$row
    ['nome']?> <?=$row['cognome']?>
    <?php
    }
    ?>

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Perchè entri ed esci da php?

    Prova così

    Codice PHP:
    if ($row['categoria']=='fornitore' || $row['categoria']=='concessionario' || $row['categoria']=='centro' || $row['categoria']=='scuola')
    echo 
    $row['ragione_sociale'];
    else
    echo 
    $row['nome'].' '.$row['cognome']; 
    Evita la forma contratta con l'uguale che può creare problemi.

    edit. Puoi anche evitare di scrivere mille alternative e usare la funzione in_array:

    Codice PHP:
    $valori = array('fornitore','concessionario','centro','scuola');
    if (
    in_array($row['categoria'],$valori))
    echo 
    'qualcosa';
    else
    echo 
    'altro'

  3. #3
    Ma per quale diavolo di ragione continui ad aprire e chiudere i tag di php?

    Codice PHP:
    <?php
    if ($row['categoria'] == 'fornitore' || $row['categoria'] == 'concessionario' || $row['categoria'] == 'centro' || $row['categoria'] == 'scuola')
    {
        echo 
    $row['ragione_sociale'];
    }
    else 
    {
        echo 
    $row['nome'] . ' ' $row['cognome'];
    }
    ?>
    Se poi ti stampa sempre nome e cognome, ovviamente una delle condizioni è falsa (trovo difficile che OR non funzioni ) VVoVe:

    Prova a stampare il valore di $row['categoria']. Inoltre verifica che non vi siano spazi prima o dopo, eventualmente eliminali con trim().
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  4. #4
    Ecco, abbiamo detto le stesse cose
    PHP LEARN - Guide, tutorial e articoli sempre aggiornati
    NUOVO: standardLib; il potente framework PHP é ora disponibile
    *******************************************
    Scarica oggi la tua copia di MtxEventManager

  5. #5
    Utente di HTML.it L'avatar di diaz
    Registrato dal
    Apr 2000
    residenza
    Berlin
    Messaggi
    379
    l'OR e' corretto
    prima della condizione if prova a stampare a schermo il contenuto dell'array row con chiave nome:
    Codice PHP:
    echo $row['nome'] . '  ' $row['cognome']; 
    E da quel giorno, se andavo da qualche parte, io ci andavo correndo!

    Tweeting @apphancer | Views my own – except when I say things I don’t really think.

  6. #6
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Grazie ragazzi per l'aiuto, ho corretto la sintassi, ma ancora non funziona, mi sa che dipende dalla query che non va perchè levando gli alias funziona, solo che gli alias mi servono!

    Codice PHP:
    SELECT c_registro_prinzword.*, a_login.*, a_anagrafica.*, a_login2.*, a_anagrafica2.nome AS nome2a_anagrafica2.cognome AS cognome2a_anagrafica2.ragione_sociale AS ragione_sociale2
                
    DATE_FORMAT(c_registro_prinzword.data_fine_lavoro'%d-%m-%Y') AS data_fine_lavoro
                FROM 
    (c_registro_prinzword
                
                INNER JOIN a_login
                ON c_registro_prinzword
    .mittente a_login.id_login
                
                INNER JOIN a_anagrafica
                ON a_login
    .id_anagrafica a_anagrafica.id_anagrafica)
                
                
    INNER JOIN a_login AS a_login2
                ON c_registro_prinzword
    .referente a_login2.id_login
                
                INNER JOIN a_anagrafica 
    AS a_anagrafica2
                ON a_login2
    .id_anagrafica a_anagrafica2.id_anagrafica

                ORDER BY c_registro_prinzword
    .id_registro_prinzword DESC 

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Cosa significa che levando gli alias funziona? Che succede se li lasci?

  8. #8
    Utente di HTML.it L'avatar di diaz
    Registrato dal
    Apr 2000
    residenza
    Berlin
    Messaggi
    379
    scusa tu stai facendo un mysql_fetch_array, giusto?
    quindi quel $row['ragione_sociale'] da dove lo prendi se nella query non selezioni quel campo
    in SELECT, tu selezioni a_anagrafica2.ragione_sociale come ragione_sociale2 e non come ragione_sociale (cioe' quello che usi come chiave nella parte di codice che hai inviato all'inizio)
    E da quel giorno, se andavo da qualche parte, io ci andavo correndo!

    Tweeting @apphancer | Views my own – except when I say things I don’t really think.

  9. #9
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Originariamente inviato da diaz
    scusa tu stai facendo un mysql_fetch_array, giusto?
    quindi quel $row['ragione_sociale'] da dove lo prendi se nella query non selezioni quel campo
    in SELECT, tu selezioni a_anagrafica2.ragione_sociale come ragione_sociale2 e non come ragione_sociale (cioe' quello che usi come chiave nella parte di codice che hai inviato all'inizio)
    ci sono due ragione sociale, uno di "a_anagrafica.*" e un'altro di a_anagrafica2.ragione_sociale che poi con l'alias diventa ragione_sociale2

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    2,043
    Originariamente inviato da nicola75ss
    Cosa significa che levando gli alias funziona? Che succede se li lasci?
    levando tutto ciò che riguarda a_anagrafica2 e a_login2 riesco a far stampare la ragione sociale del mittente

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.