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

Discussione: Dov'è l'errore!!!

  1. #1

    Dov'è l'errore!!!



    Premesso che ne capisco poco:

    codice:
    $make= isSet($_POST["make"]) ? $_POST["make"] :  ""; if (!$make) {$condizione1=""} else {$condizione1="AND make='$make'"}; 
    $state= isSet($_POST["state"]) ? $_POST["state"] :  ""; if (!$state) {$condizione2=""} else {$condizione2="AND state='$state'"};
    il risultato è:

    Parse error: parse error, unexpected '}' in /home/public_html/browse2.php on line 52

    Ok, non vuole la graffa..perchèèèèèèè?
    Dove sbaglio!!!
    Aiutoooooooooooooooooooo :master:
    Grazie
    [...Ubi iacet dimidium, iacet pectus meum...]

  2. #2
    dentro le graffe, manca il punto e virgola al termine dell'istruzione.

    Dopo le graffe, non serve punto e virgola.

  3. #3
    Cavolo cavolo cavolo!!!
    E' vero!
    Ora funziona...
    ma cmq non fa quello che dovrebbe fare
    Vuol dire che cmq il ragionamento alla base era sbagliato
    Non riesco, in un form di ricerca, a fare in modo che nessun campo sia obbligatorio.
    Cioè se li compilo tutti okj, ho i miei risultati in risposta.
    Se solo ne salto uno non mi dà alcun risultato...anche se invece dovrebbero esserci
    [...Ubi iacet dimidium, iacet pectus meum...]

  4. #4
    Originariamente inviato da badcat
    Non riesco, in un form di ricerca, a fare in modo che nessun campo sia obbligatorio.
    Cioè se li compilo tutti okj, ho i miei risultati in risposta.
    Se solo ne salto uno non mi dà alcun risultato...anche se invece dovrebbero esserci
    Non ho capito cosa vuoi ottenere.

    Puoi provare a rispiegarti? Magari fai un breve esempio

  5. #5
    Originariamente inviato da skidx
    Non ho capito cosa vuoi ottenere.

    Puoi provare a rispiegarti? Magari fai un breve esempio
    Ok ti spiego....
    Ho una tabella (articolo) di un db dove ci sono vari campi: campo1, campo2, campo3, campo4
    Ho una form dove tramite menù a tendina o campi text compilo la mia ricerca...
    Se compilo tutti i campi della form allora ottengo dei risultati corretti, se solo ne salto una invece, anche se presenti articoli, la ricerca non trova nulla.
    Se nella form compilo campo1,campo2,campo3 e campo4 ok...se solo ne lascio in bianco uno..allora non ottengo alcun risultato.
    Ho provato con i menù a tendina una cosa del genere:

    codice:
     <option value="">Tutte</option>
    Quindi se seleziono "Tutte" non ho specificato il valore del campo, ma credo che invece venga interpretato così: "Se quel campo è vuoto"

    La mia domanda è:
    Come posso fare in modo che se seleziono "Tutte" in un determinato campo, quel campo sia escluso come parametro nella ricerca?
    Con l'IF? sì ma come??

    Sono stato chiaro? No eh
    [...Ubi iacet dimidium, iacet pectus meum...]

  6. #6
    [...Ubi iacet dimidium, iacet pectus meum...]

  7. #7
    Sì, ora ho capito.
    Del codice che hai scritto, manca la parte in cui unisci le varie $condizione1, $condizione2, etc. probabilmente lì sta l'errore.

    Puoi fare una cosa del genere:

    codice:
    $conditions = array();
    $query = 'SELECT blablabla FROM tab1,tab2,tabEtc. ';
    
    // per ogni campo fai:
    if(isset($_POST['campo1']) && $_POST['campo1'] != 'tutte')
      $conditions[] = "campo1 = '".$_POST['campo1']."'";
    
    //alla fine: 
    if($conditions)
      $query .= ' WHERE '.implode(' AND ', $conditions);
    IMPORTANTE:
    Prima di inserire i valori di $_POST dentro la query da eseguire, devi trattare opportunamente gli apici per evitare SQL INJECTION.

  8. #8
    Originariamente inviato da skidx
    Sì, ora ho capito.
    Del codice che hai scritto, manca la parte in cui unisci le varie $condizione1, $condizione2, etc. probabilmente lì sta l'errore.

    Puoi fare una cosa del genere:

    codice:
    $conditions = array();
    $query = 'SELECT blablabla FROM tab1,tab2,tabEtc. ';
    
    // per ogni campo fai:
    if(isset($_POST['campo1']) && $_POST['campo1'] != 'tutte')
      $conditions[] = "campo1 = '".$_POST['campo1']."'";
    
    //alla fine: 
    if($conditions)
      $query .= ' WHERE '.implode(' AND ', $conditions);
    IMPORTANTE:
    Prima di inserire i valori di $_POST dentro la query da eseguire, devi trattare opportunamente gli apici per evitare SQL INJECTION.
    Ehm..grazie...ci provo eh!
    Se sei qui fra 5 minuti ti faccio sapere
    [...Ubi iacet dimidium, iacet pectus meum...]

  9. #9
    Sono negato
    [...Ubi iacet dimidium, iacet pectus meum...]

  10. #10
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    241
    che problema ti da ora?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.