Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    61

    Mostra sempre lo stesso dato

    Salve a tutti ,
    vi spiego il mio problema.
    Ho creato questo codice:

    codice:
    $qry = "SELECT * FROM `libri_categoria` AS u, `libri_autori` AS m WHERE (u.name_libro = m.libro_name AND m.accepts = 1) ORDER BY u.console_libri , u.game_libri ,m.id_libri";                   
    
    
     $row1 = XenForo_Application::get('db')->fetchAll($qry);
    echo('<form action="rassegnalibro.php" method="POST">');
     foreach ( $row1 AS $rows1 ) {
    
    echo('<input type="hidden" name="mTS" value="'.$rows1['name_libro'].'" />
    <input type="submit" value="'.$rows1['name_libro'].'" accesskey="s" class="submit" />');
    
    }
    
    echo('<form>');
    L'errore che si manifesta è che il sistema va alla pagina rassegnalibro.php ma inserisce sempre l'ultimo libro inserito e non quello a cui dovrebbe far riferimento.

    Sono obbligato a salvare il singolo valore del campo hidden sul database e poi da li riprenderlo per inserirlo nella pagina rassegnalibro.php senza usare GET ma solo POST.
    Quindi ache la possibilità di inserire un a href che mandi alla pagina rassegnalibro.php è da escludere.

    Per maggiore chiarezza faccio un esempio di ciò che accade:
    Exp.:
    1- Clicco sul submit "Libro 1"
    2- Il sistema legge il valore del contenuto name="mTS" (che è 1)
    3- Salva questo valore sul database nella tabella temp_libro
    4- nella pagina rassegnalibro.php ricavo l'ultimo valore inserito nel database nella tabella temp_libro

    ... Ma invece passa sempre l'ultimo libro inserito , e se anche io clicco sul Libro 2 (valore 2) o il Libro 3 (valore 3) passa sempre l'ultimo libro inserito che per esempio ammettiamo che ha valore 10 , quindi che se clicco su Libro 2 il valore restituito nella pagina rassegnalibro.php sarà 10 e cosi anche per gli altri Libri.

    Credo che l'errore sia nel fatto che essendo in un foreach il sistema abbia dei problemi.
    Se io trasformo l'hidden input in text input comunque il contenuto è corretto , cioè:

    Libro 1 --> valore name="mTS" = 1
    Libro 2 --> valore name="mTS" = 2
    Libro 3 --> valore name="mTS" = 3
    .....
    ...
    ..
    .

    Ringrazio fin da adesso per l'aiuto.
    Ultima modifica di netkingZ; 03-09-2014 a 10:18

  2. #2
    Prova a cambiare così:

    Codice PHP:
    ...
    foreach ( 
    $row1 AS $rows1 ) {
        echo(
    '<form action="rassegnalibro.php" method="POST">');
        echo(
    '<input type="hidden" name="mTS" value="'.$rows1['name_libro'].'" /><input type="submit" value="'.$rows1['name_libro'].'" accesskey="s" class="submit" />');
        echo(
    '</form>');
    }
    ... 
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    61
    Quote Originariamente inviata da satifal Visualizza il messaggio
    Prova a cambiare così:

    Codice PHP:
    ...
    foreach ( 
    $row1 AS $rows1 ) {
        echo(
    '<form action="rassegnalibro.php" method="POST">');
        echo(
    '<input type="hidden" name="mTS" value="'.$rows1['name_libro'].'" /><input type="submit" value="'.$rows1['name_libro'].'" accesskey="s" class="submit" />');
        echo(
    '</form>');
    }
    ... 

    Non è cambiato nulla ... il problema persiste.

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    61
    Nessuno sa darmi una spiegazione ?

  5. #5
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Crei un form e il ciclo foreach ti crea tanti campi quanti record tutti con lo stesso nome all'interno. E' normale che non vada bene e che scelga un valore tra tutti.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    61
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Crei un form e il ciclo foreach ti crea tanti campi quanti record tutti con lo stesso nome all'interno. E' normale che non vada bene e che scelga un valore tra tutti.
    Scusa non ho capito la tua risposta , me la puoi spiegare.
    Grazie

    EDIT:

    Veramente all'interno del'Hidden input i nomi sono tutti diversi solo che all'interno del db nella tabella temp_libro ( che è una tabella diversa da quella da cui ricavo i libri ) viene salvato sempre e solo l'ultimo nome ( titolo ) del libro.
    Ultima modifica di netkingZ; 03-09-2014 a 22:52

  7. #7
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Io mi riferivo al tuo primo post.

    Nel form puoi avere diversi campi hidden ma hanno sempre lo stesso nome (name="mTS") anche se il valore è diverso.
    In poche parole, è come se uno scrivesse il codice php seguente e si lamentasse dal fatto che $a è diverso di 1.
    $a = 1;
    $a = 2;
    $a = 3;

    Lo script proposto da satifal consente di ovviare il problema rendendo ogni record univoco in quanto unico in termini di nomi all'interno del form.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2013
    Messaggi
    61
    Quote Originariamente inviata da badaze Visualizza il messaggio
    Io mi riferivo al tuo primo post.

    Nel form puoi avere diversi campi hidden ma hanno sempre lo stesso nome (name="mTS") anche se il valore è diverso.
    In poche parole, è come se uno scrivesse il codice php seguente e si lamentasse dal fatto che $a è diverso di 1.
    $a = 1;
    $a = 2;
    $a = 3;

    Lo script proposto da satifal consente di ovviare il problema rendendo ogni record univoco in quanto unico in termini di nomi all'interno del form.
    Ok ho capito. Grazie
    Riprovo il codice fornito .

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.