Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 29
  1. #11
    Utente di HTML.it L'avatar di gizax
    Registrato dal
    Jan 2004
    residenza
    Rome
    Messaggi
    386
    esatto quindi basta mettere l'or al posto di AND

  2. #12
    Originariamente inviato da gizax
    non capisco...
    select * from TABELLA where nomecampo='$campo1' and nomecampo='$campo2' and nomecampo='$campo3' etc etc soddisfa pienamente i requisiti della richiesta. Viene visualizzato il risultato se almeno una di queste condizioni è vera..

    la tua query non verrebbe mai soddisfatta, in quanto nomecampo dovrebbe essere uguale ad un valore e contemporaneamente anche ad un altro.
    io l'avevo intesa come VaLvOnAuTa; che la ricerca venisse fatta in più campi, non in uno soltanto. se invece la ricerca viene fatta in un solo campo ci vuole per forza l'OR, l'AND rende automaticamente impossibile estrarre anche un solo record che soddisfi la condizione, a meno che non ci metti le %; ma anche in questo caso è un pò complicato che soddisfi tutte le condizioni insieme, ma dipende comunque anche da come è stato strutturato il suo db.

    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  3. #13
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788
    Si infatti bisogna conoscere la struttura del DB, e vedere su quanti campi viene effettuata la ricerca..

    E cmq l'AND può essere inserita ma ci vuole un LIKE %valore%..
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  4. #14
    Originariamente inviato da Inoki
    Se campo1 è = "" in questo script ci sarebbe un errore..io correggerrei con:
    ...
    ma non aveva detto che non voleva tutta una serie di if? :master:

    anche per me sarebbe più corretto strutturare lo script come suggerito da voi, ma la richiesta mi sembrava diversa...

    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  5. #15
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    [supersaibal]Originariamente inviato da Inoki
    Se campo1 è = "" in questo script ci sarebbe un errore..io correggerrei con:
    Codice PHP:
    $where="";
    if (
    $_POST['campo1'] != "") {
     
    $where .= "campo1='".$_POST['campo1']."'";
    }
    if (
    $_POST['campo2'] != "") {
     
    $where .= ($where == "") ? "campo2='".$_POST['campo2']."'" " AND campo2='".$_POST['campo2']."'";
    }
    if (
    $_POST['campo3'] != "") {
     
    $where .= ($where == "") ? "campo3='".$_POST['campo3']."'" " AND campo3='".$_POST['campo3']."'";
    }
    mysql_query("SELECT * FROM tabella WHERE ".$where); 
    [/supersaibal]
    Io lo modificherei ancora:
    Codice PHP:
    $where="";
    if (
    $_POST['campo1'] != "") {
     
    $where .= "campo1='".$_POST['campo1']."'";
    }
    if (
    $_POST['campo2'] != "") {
     
    $where .= ($where == "") ? "campo2='".$_POST['campo2']."'" " AND campo2='".$_POST['campo2']."'";
    }
    if (
    $_POST['campo3'] != "") {
     
    $where .= ($where == "") ? "campo3='".$_POST['campo3']."'" " AND campo3='".$_POST['campo3']."'";
    }
    if (
    $where != "") {
     
    mysql_query("SELECT * FROM tabella WHERE ".$where);

    In questo modo se l'utente non riempie nessun campo ma invia lo stesso il form non si otterrà un errore di sintassi nella query

  6. #16
    Utente di HTML.it L'avatar di gizax
    Registrato dal
    Jan 2004
    residenza
    Rome
    Messaggi
    386
    esatto ha detto proprio che voleva risolverlo tramite mysql e non tramite 600 mila if

  7. #17
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788
    Originariamente inviato da 13manuel84
    ma non aveva detto che non voleva tutta una serie di if? :master:

    anche per me sarebbe più corretto strutturare lo script come suggerito da voi, ma la richiesta mi sembrava diversa...

    Bhe la sequenza di if, a mio modestissimo parere, è pressochè necessario...
    Anche perchè ti permette di creare le query ad hoc e ottimizzarle a seconda della richiesta dell'utente...

    Ma perchè non vuoi mettere le if? :master:
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  8. #18
    Utente di HTML.it L'avatar di Inoki
    Registrato dal
    Oct 2001
    Messaggi
    788
    Originariamente inviato da gizax
    esatto ha detto proprio che voleva risolverlo tramite mysql e non tramite 600 mila if
    ma sei campi sono 5...
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando
    tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
    insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
    il perché!" (Albert Einstein)

  9. #19
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Originariamente inviato da gizax
    esatto ha detto proprio che voleva risolverlo tramite mysql e non tramite 600 mila if
    Sì ma la tua query non avrebbe mai resituito qualcosa.
    Purtroppo la serie di if è l'unico modo sicuro.
    Io in una query di update sono arrivato ad averne più di 20. Non sarà canonico nè elegante nè velocissimo ma è funzionale

  10. #20
    sto provando la soluzione di valvonauta con le opportune modifiche !!
    tra una decina di minuti vi dico il risultato !!

    Per il momento grazie infinitamente a tutti per l'aiuto !!
    Nulla è impossibile. Il difficile è trovare la soluzione che renda l'impossibile possibile...
    http://www.eternaldream.it

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.