Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822

    Problema con una query passata in QueryString

    Ciao

    ho un form con una taballa che mostra 16 utenti. Cliccando sul pulsante "avanti" visualizzo i 16 utenti successivi mentre cliccando sul pulsante "indietro" visualizzo i 16 precedenti.
    Per sapere quale query ho fatto, mi passo la query da una pagina all'altra assieme alle variabili che mi fanno capire quali utenti visualizzare.
    La query è questa

    SELECT utenti.id, utenti.nome, utenti.dataNascita, nazioni.nazione FROM utenti, nazioni WHERE nazioni.id = utenti.nazione ORDER BY utenti.nome LIMIT 0, 16

    La faccio eseguire su PHPMyadmin e funziona cosi come funziona la PRIMA volta che la faccio eseguire dal porgramma. Ma quando tale query viene passata alla pagina precedente o a quella successiva ricevo questo messaggio di errore

    "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ORDER BY utenti.nome' at line 1"

    Nella barra degli indirizzi la query viene scritta in questa maniera

    query=SELECT%20utenti.id,%20utenti.nome,%20utenti. dataNascita,%20nazioni.nazione%20FROM%20utenti,%20 nazioni%20WHERE%20nazioni.id%20=%20utenti.nazione% 20%20%20ORDER%20BY%20utenti.nome%20LIMIT%200,%2016

    cioè con i caratteri degli spazi convertiti.

    Temendo che il problema fossero proprio quei caratteri ho usato la funzione html_entity_decode ($query) ma non cambia nulla. ...

    Mi date una mano ?
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  2. #2
    nella SELECT prova a mettere ORDER%20BY%20utenti.nome%20ASC o ORDER%20BY%20utenti.nome%20DESC a seconda se li vuoi in ordine ascendente o decrescente

  3. #3
    Utente di HTML.it L'avatar di ivy_76
    Registrato dal
    Dec 2004
    Messaggi
    1,822
    Come dici tu ho un errore perché %20 non viene interpretato come una instruzione SQL.

    In cima alla pagina ho provato a fare cosi

    if (isset($_GET["query"]))
    {
    $query = $_GET["query"];
    $query = str_replace ("%20", " " , $query);
    }

    cioè a cambiare manualmente ogni %20 con uno spazio ma ho sempre lo stesso errore. Non capisco a questo punto dove sia il mio errore.
    TORTA DI RISO .. F I N I T A !!

    Da M.C.S.A. a impiegato pubblico :-(

  4. #4
    posta la variabile $query dopo la sostituzione dei " %20 "

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.