Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 16 su 16
  1. #11
    Utente di HTML.it
    Registrato dal
    Nov 2016
    residenza
    Italy
    Messaggi
    139
    print_r()
    codice:
    $query=("SELECT * FROM notizie ORDER BY data DESC WHERE ".$select);
    $res
    =mysql_query($query);

    echo print_r($res);

    cosa ti stampa ?
    Ciao Enzo,

    ho fatto la stampa come mi hai detto, ma non ho nulla come risultato, non mi viene stampato niente.
    Adesso mi stanno venendo dubbi che non venga compilata correttamente la query, ma quando vado a stampare la variabile $query ottengo ciò che desidero, per esempio supposto di selezionare dalla checkbox come sport: Tennis e Nuoto, quando stampo $query ho:

    SELECT * FROM notizie ORDER BY data DESC WHERE Sport=Tennis AND Sport=Nuoto, così come deve essere.

    Non riesco proprio a spiegarmi questo non voler funzionare del codice.

  2. #12
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    stampa anche la query a schermo prima di eseguirla, te la copi e la esegui direttamente sul DB
    e quando la esegui, fatti stampare il messaggio di errore

    suggerimento: guarda nel WHERE, ad occhio mancano degli apici intorno al valore da cercare...

  3. #13
    Appunto, print_r() è una funzione molto utile: ti dovrebbe stampare la risorsa ottenuta dalla query, in forma di un array human-readable.

    Quindi l' errore lo hai a monte, ed è il fatto degli apici per certo (non a occhio); nella compilazione nel FOR :
    codice:
    $select=$select.("Sport='" . $sport[$i] . "'");
    }else
    {
    $select=$select.(" AND Sport='" . $sport[$i] . "'");
    }
    }

  4. #14
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Quote Originariamente inviata da Enzo SIMONELLI Visualizza il messaggio
    [...]il fatto degli apici per certo (non a occhio)[...]
    e se nella variabile gli apici ci fossero stati perché il form te li passa così?

  5. #15
    Utente di HTML.it
    Registrato dal
    Nov 2016
    residenza
    Italy
    Messaggi
    139
    Appunto, print_r() è una funzione molto utile: ti dovrebbe stampare la risorsa ottenuta dalla query, in forma di un array human-readable.

    Quindi l' errore lo hai a monte, ed è il fatto degli apici per certo (non a occhio); nella compilazione nel FOR :
    codice:
    $select=$select.("Sport='". $sport[$i]."'");
    }else
    {
    $select
    =$select.(" AND Sport='". $sport[$i]."'");
    }
    }
    stampa anche la query a schermo prima di eseguirla, te la copi e la esegui direttamente sul DB
    e quando la esegui, fatti stampare il messaggio di errore

    suggerimento: guarda nel WHERE, ad occhio mancano degli apici intorno al valore da cercare...


    Ciao Clasku ed Enzo,

    ho fatto quello che mi avete detto, ed in parte ho risolto il problema, ovvero, stampando print_r ottengo come risultato il valore 1, mentre per la query avevo invertito l'ordine delle operazioni, ovvero dovevo mettere prima il WHERE e poi l'ORDER BY.... ed ho anche dovuto aggiungere come suggerivate, gli apici.
    Adesso però resta il problema che quando faccio una selezione multipla di caselle della checkbox non ottengo risultati, quindi quanto detto funziona solo per una sola selezione di checkbox.
    Inoltre anche provando una selezione multipla mediante interrogazione diretta del mio database, ottengo una query vuota, dicendomi 0 risultati trovati.

  6. #16
    Difatti clasku la mia voleva essere una conferma alla tua giusta osservazione sulla mancanza degli apici, che a me era invece sfuggita rimasto a guardare il primo codice postato da Ezi.

    E per costruire dinamicamente la query avevo a mente di andargli poi direttamente a suggerire la funzione nativa implode() ma se l'è cavata bene assai a fare il costrutto con l' IF e le soluzioni basilari pure mi piacciono; comunque:

    $clause=implode(' OR Sport=', $sport);

    implode() fornendole un array, restituisce una stringa composta dagli articoli dell' array con interposta una stringa separatrice (che può anche essere niente: "").
    L' array è quello che proviene dagli input stesso-name con le quadre [] .

    N.B.: Conservo una discreta area urbana ripudiando obbrobriose speculazioni edilizie e .. vorrei mettere le galline ma pare che in città ci siano problemi coi regolamenti comunali!
    E poi ci siamo già noi che siam polli: non ci va AND ma OR ...
    Ultima modifica di Enzo SIMONELLI; 29-03-2017 a 06:21

  7. #17
    Utente di HTML.it
    Registrato dal
    Nov 2016
    residenza
    Italy
    Messaggi
    139
    Quote Originariamente inviata da Enzo SIMONELLI Visualizza il messaggio
    Difatti clasku la mia voleva essere una conferma alla tua giusta osservazione sulla mancanza degli apici, che a me era invece sfuggita rimasto a guardare il primo codice postato da Ezi.

    E per costruire dinamicamente la query avevo a mente di andargli poi direttamente a suggerire la funzione nativa implode() ma se l'è cavata bene assai a fare il costrutto con l' IF e le soluzioni basilari pure mi piacciono; comunque:

    $clause=implode(' OR Sport=', $sport);

    implode() fornendole un array, restituisce una stringa composta dagli articoli dell' array con interposta una stringa separatrice (che può anche essere niente: "").
    L' array è quello che proviene dagli input stesso-name con le quadre [] .

    N.B.: Conservo una discreta area urbana ripudiando obbrobriose speculazioni edilizie e .. vorrei mettere le galline ma pare che in città ci siano problemi coi regolamenti comunali!
    E poi ci siamo già noi che siam polli: non ci va AND ma OR ...
    Grazie per i consigli preziosi,

    finalmente ho risolto ed il tutto funziona a dovere , effettivamente ho avuto una grande svista nell'utilizzare AND anziché OR.
    Poi è utilissima anche la funzione implode, essendo neofita non la conoscevo, e mi son adattato alla meno peggio, ma grazie ad essa il codice ne ha guadagnato.

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.