Pagina 3 di 5 primaprima 1 2 3 4 5 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 42
  1. #21
    cmq inserendo ISSET prima di $_POST('search') nell'IF sono riuscito ad escludere quel fastidioso problema della notifica di errore :P

    eppure ancora non riesco a farmi un'idea di come dovrei intrecciare le ricerche che voglio... mi pare assurdo dover fare una quesry per ogni evenienza con una decina di possibili variabili di form!!!

  2. #22
    Semplicemente fai:
    Codice PHP:
    $querystr "SELECT * FROM cliente WHERE settore = \"$keysSettore[$x]\" && settore LIKE \"%$keysSettore[$x]%\""
    Con gli && (AND) gli dici di trovarti il nome E il cognome, così se metti solo il nome, ti cercherà il nome che hai immesso e il cognome "", cioè tutti.
    Ce l'ho fatta! - ItalianPixel -

  3. #23
    Ti posso mandare il file?
    Ora, seguendo quello che ho capito... la ricerca non mi funziona se seleziono qualche voce.

    Ecco il codice PARZIALE:
    Codice PHP:
    <?php

    if (isset($_POST['search'])){

    if(!isset(
    $_POST['settore'])){$searchSettore="";}
    else{
    $searchSettore=$_POST['settore'];}
    if(!isset(
    $_POST['organismo'])){$searchOrganismo="";}
    else{
    $searchOrganismo=$_POST['organismo'];}
    if(!isset(
    $_POST['norma'])){$searchNorma="";}
    else{
    $searchNorma=$_POST['norma'];}
    if(!isset(
    $_POST['certificato'])){$searchCertificato="";}
    else{
    $searchCertificato=$_POST['certificato'];}
    if(!isset(
    $_POST['dal'])){$searchDal="";}
    else{
    $searchDal=$_POST['dal'];}
    if(!isset(
    $_POST['al'])){$searchAl="";}
    else{
    $searchAl=$_POST['al'];}
    if(!isset(
    $_POST['azienda'])){$searchAzienda="";}
    else{
    $searchAzienda=$_POST['azienda'];}
    if(!isset(
    $_POST['campo_appl_cert'])){$searchCampoApplCert="";}
    else{
    $searchCampoApplCert=$_POST['campo_appl_cert'];}
    if(!isset(
    $_POST['stato'])){$searchStato="";}
    else{
    $searchStato=$_POST['stato'];}
    if(!isset(
    $_POST['regione'])){$searchRegione="";}
    else{
    $searchRegione=$_POST['regione'];}
    if(!isset(
    $_POST['provincia'])){$searchProvincia="";}
    else{
    $searchProvincia=$_POST['provincia'];}
    if(!isset(
    $_POST['citta'])){$searchCitta="";}
    else{
    $searchCitta=$_POST['citta'];}


    $keysSettore explode(" "$searchSettore);
    $keysOrganismo explode(" "$searchOrganismo);
    $keysNorma explode(" "$searchNorma);
    $keysCertificato explode(" "$searchCertificato);
    $keysDal explode(" "$searchDal);
    $keysAl explode(" "$searchAl);
    $keysAzienda explode(" "$searchAzienda);
    $keysCampoApplCert explode(" "$searchCampoApplCert);
    $keysStato explode(" "$searchStato);
    $keysRegione explode(" "$searchRegione);
    $keysProvincia explode(" "$searchProvincia);
    $keysCitta explode(" "$searchCitta);

    /*
    $arrSettore = array(0);
    $arrOrganismo = array(0);
    $arrNorma = array(0);
    $arrCertificato = array(0);
    $arrDal = array(0);
    $arrAl = array(0);
    $arrAzienda = array(0);
    $arrCampoApplCert = array(0);
    $arrStato = array(0);
    $arrRegione = array(0);
    $arrProvincia = array(0);
    $arrCitta = array(0);
    */


    $risultato mysql_query("SELECT * FROM cliente");
    $num_righe mysql_num_rows($risultato);


    $found=false;


    // RICERCA SINGOLA PAROLA
    /*
    if (!empty($_POST['settore'])){
        for ($x = 0; $x < count($keysSettore); $x++) {
        $querystr = "SELECT * FROM cliente WHERE settore = \"$keysSettore[$x]\" OR settore LIKE \"%$keysSettore[$x]%\" ";
        $result = mysql_query($querystr);
        $found = false;
            if ($frow = mysql_fetch_array($result)) {
                $found = true;
                do {
                    echo "" . $frow["settore"] . " - ".$frow["organismo"]."
    " . $frow["norma"] . " - " . $frow["certificato"] . " 
     " . $frow["dal"] . " - " . $frow["al"] . " 
     " . $frow["azienda"] . " - " . $frow["campo_appl_cert"] . " 
     ". $frow["stato"] . " - ". $frow["regione"] . " - " . $frow["provincia"] . " - " . $frow["citta"] . " 
    <hr> ";
                } while ($frow = mysql_fetch_array($result));
            }
        }
    }
    */


    // RICERCA FILTRATA
    if ((!empty($_POST['settore'])) OR (!empty($_POST['organismo'])) OR (!empty($_POST['norma'])) OR (!empty($_POST['certificato'])) OR (!empty($_POST['dal'])) OR (!empty($_POST['al'])) OR (!empty($_POST['azienda'])) OR (!empty($_POST['campo_appl_cert'])) OR (!empty($_POST['stato'])) OR (!empty($_POST['regione'])) OR (!empty($_POST['provincia'])) OR (!empty($_POST['citta']))  ) {
        for(
    $x=1;$x>$num_righe;$x++){
        
    $querystr "SELECT * FROM cliente WHERE intID!=1 && settore = \"$keysSettore[$x]\" OR settore LIKE \"%$keysSettore[$x]%\" && organismo = \"$keysOrganismo[$x]\" OR organismo LIKE \"%$keysOrganismo[$x]%\"";
        
    $result mysql_query($querystr);
        if (
    $frow mysql_fetch_array($result)) {
                
    $found=true;
                do {
                echo 
    "" $frow["settore"] . " - ".$frow["organismo"]."
    $frow["norma"] . " - " $frow["certificato"] . 
     " 
    $frow["dal"] . " - " $frow["al"] . 
     " 
    $frow["azienda"] . " - " $frow["campo_appl_cert"] . 
     "
    $frow["stato"] . " - "$frow["regione"] . " - " $frow["provincia"] . " - " $frow["citta"] . 
    <hr> "
    ;
                } while (
    $frow mysql_fetch_array($result));
            }
        }
    }



    //MOSTRA TUTTO
    if ((empty($_POST['settore'])) AND (empty($_POST['organismo'])) AND (empty($_POST['norma'])) AND (empty($_POST['certificato'])) AND (empty($_POST['dal'])) AND (empty($_POST['al'])) AND (empty($_POST['azienda'])) AND (empty($_POST['campo_appl_cert'])) AND (empty($_POST['stato'])) AND (empty($_POST['regione'])) AND (empty($_POST['provincia'])) AND (empty($_POST['citta']))  ) {
        
    $querystr "SELECT * FROM cliente WHERE intID!=1";
        
    $result mysql_query($querystr);
        if (
    $frow mysql_fetch_array($result)) {
                
    $found=true;
                do {
                echo 
    "" $frow["settore"] . " - ".$frow["organismo"]."
    $frow["norma"] . " - " $frow["certificato"] . 
     " 
    $frow["dal"] . " - " $frow["al"] . 
     " 
    $frow["azienda"] . " - " $frow["campo_appl_cert"] . 
     "
    $frow["stato"] . " - "$frow["regione"] . " - " $frow["provincia"] . " - " $frow["citta"] . 
    <hr> "
    ;
                } while (
    $frow mysql_fetch_array($result));
            }
        
    }

    if (!
    $found) {
    print(
    "Nessun risultato
    "
    );
    }

    }
    else {

    print(
    "Devi inserire una stringa di ricerca
    "
    );

    }

    ?>

    Non ridere troppo

  4. #24
    Beh, nelle if non puoi scrivere AND e OR ma rispettivamente && e || (la barra verticale).
    Inizia a cambiare quelle e poi vediamo.
    Ce l'ho fatta! - ItalianPixel -

  5. #25
    ok, modificato, anche se credo funzionasse lo stesso, visto che la ricerca con tutti i valori empty andava bene.

    E comunque niente di fatto ancora sulla ricerca filtrata.
    Sicuramente credo sia da regolare la scansione nel ciclo for che, ahimè, non ho idea di come sviluppare per ogni parola, nel senso che il ciclo ripete la query x volte quante sono le righe e, sfruttando questo, ho generalizzato la x per utilizzarla anche nel campo selezionato dall'array delle parole cercate... e credo che sia una ca**ata, ma purtroppo non ho idea di come poter mettere nella query tutte le parole da cercare senza sapere la loro dimensione.

    Giusto?
    Volevo sapere, a tal proposito, se è possibile inserire nella query direttamente
    WHERE settore = strSettore, dove strSettore = $_POST('settore')

    Dai dai che dobbiamo farcela!!!!

  6. #26
    Dicevo le OR e AND nelle if, mentre nelle query devi mettere AND e OR.

    Codice PHP:
    if ((!empty($_POST['settore'])) || (!empty($_POST['organismo'])) || (!empty($_POST['norma'])) || (!empty($_POST['certificato'])) || (!empty($_POST['dal'])) || (!empty($_POST['al'])) || (!empty($_POST['azienda'])) || (!empty($_POST['campo_appl_cert'])) || (!empty($_POST['stato'])) || (!empty($_POST['regione'])) || (!empty($_POST['provincia'])) || (!empty($_POST['citta']))  ) { 
        for(
    $x=1;$x>$num_righe;$x++){ 
        
    $querystr "SELECT * FROM cliente WHERE intID!=1 && settore = \"$keysSettore[$x]\" OR settore LIKE \"%$keysSettore[$x]%\" OR organismo = \"$keysOrganismo[$x]\" OR organismo LIKE \"%$keysOrganismo[$x]%\""
        
    $result mysql_query($querystr) or die ("Errore query filtrata!"); 
        if (
    $result)) { 
                
    $found=true
                do { 
                echo 
    "" $frow["settore"] . " - ".$frow["organismo"]."
    $frow["norma"] . " - " $frow["certificato"] . 
     " 
    $frow["dal"] . " - " $frow["al"] . 
     " 
    $frow["azienda"] . " - " $frow["campo_appl_cert"] . 
     "
    $frow["stato"] . " - "$frow["regione"] . " - " $frow["provincia"] . " - " $frow["citta"] . 
    <hr> "

                } while (
    $frow mysql_fetch_array($result)); 
            } 
        } 

    Ho corretto un pò qua e la.
    Provalo. Sperando sia giusto...
    Ho cambiato gli OR con ||, aggiustato un AND nella query e la seconda if l'ho fatta verificare con la query, non con l'array.
    Ce l'ho fatta! - ItalianPixel -

  7. #27
    si, avevo capito.
    Ho provato il codice che mi hai dato sostituendolo nella sezione RICERCA FILTRATA, ovviamente.
    Purtroppo non va.. stesso errore.. pur selezionando una sola voce la ricerca mi dà NESSUN RISULTATO

  8. #28
    CE L'HO FATTA!!!

    E' bastato togliere cicli inutili, togliere la scansione array delle parole, togliere gli "=" nelle query e semplicemente scrivere:

    SELECT * FROM cliente WHERE settore LIKE \"%$searchSettore%\" AND organismo LIKE \"%$searchOrganismo%\" ecc........ ";

    Ora, forse non mi funzionerò nel caso in cui la ricerca avvenga con parole contenenti degli SPAZI all'interno, ma per ora è già tanto.


    Ti ringrazio ancora per tutto! Sei stato una grande guida per me in questi giorni.


    Ovviamente se pensi ci sia qualcosa che potrebbe andare storto, scrivi pure!

    Ciao

  9. #29
    Dipende tutto da quello che vuoi ottenere.
    Più cose metti e più c'è possibilità di errore.
    Se vuoi ripristinare qualche condizione, fallo una per volta e vedi subito quando ti da errore, così sai cosa sbagli.
    A buon rendere

    Ce l'ho fatta! - ItalianPixel -

  10. #30
    ho festeggiato troppo presto...

    ho inserito tutti i campi da ricercare e ora mi da sempre nessun risultato

    ho cercato di tornare indietro e CHISSAPERCOSA non va più...

    mi viene da piangere...

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.