Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    241

    Da array a clausola where

    Allora, stavo cercando una soluzione alternativa ultilizzando le funzioni predefinite di PHP (come l'implode) al mio problema di portare un array, che ha come indici i campi e come valori appunto i valori che dovrebbero avere tali campi, in clausola where!

    codice:
    $clausola_where = "";
    foreach ($chiave_unica as $campo => $valore)
      $clausola_where .= " AND ".$campo."='".$valore."'";
    $clausola_where = substr($clausola_where, 5);
    sono sicuro che si può fare di meglio!

  2. #2
    non e' sbagliato l'approccio che fai. Solo che una clausola WHERE non puo' iniziare con AND. ed anche quel substr() farebbe pensare che l'AND prima era al fondo della stringa.

    Particolari a parte, faccio pure io cosi' per opzioni multiple di cui non conosco a priori la quantita' impostata dall'utente.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    241
    ho trovato una soluzione migliore:

    codice:
    foreach ($chiave_unica as $campo => $valore)
      $condizioni[] = $campo."='".$valore."'";
    $clausola_where = implode(" AND ", $condizioni);
    speravo di trovare un'unica istruzione con implode e substr_replace o str_replace ma credo che non sia possibile!

  4. #4
    anche qui non credo si sia una medicina buona per tutte le malattie. Bisogna sempre valutare cosa si deve fare, e non e' detto che tutto sia sempre in AND e che non necessiti qualche LIKE....


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2004
    Messaggi
    241
    In questo caso sì, beh probabilmente non mi sono espresso bene, o almeno non ho spiegato tutto, la clausola where mi serve ad identificare un solo record, i campi inseriti nell'array costituiscono una chiave primaria.

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.