Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    [Php]Scorrere un array ed inserirlo all'interno del database

    Ciao ragazzi, allora io ho un checkbox fatto così

    codice:
    <input type="checkbox" name="giochi_speciali[]" value="<?php echo "$id_spec"; ?>"/>
    nella pagina successiva richiamo il tutto in questo modo


    Codice PHP:
    $giochi_speciali $_POST['giochi_speciali'];    


    if( 
    is_array($giochi_speciali) )

    {

     echo 
    "Elementi selezionati: ".count($giochi_speciali)."
    "
    ;

       echo 
    reset($giochi_speciali);

       while( 
    $elemento next($giochi_speciali) ) echo "|$elemento";


    In questo modo mi stampo i dati così

    1|5|15|ecc.

    Ora vorrei far in modo di avere una variabile contenente tutti i numeretti, quindi una cosa così

    $variab = "1|5|15|";

    come riesco a farlo??

    Ciao e grazie

  2. #2
    anziché
    echo "|$elemento";"
    metti

    Codice PHP:
    $variabile .= "|$elemento"
    non ho però capito cosa c'entri il database!!!

  3. #3
    Ottimo grazie mille

  4. #4
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    Codice PHP:
    $giochi_speciali $_POST['giochi_speciali'];       
    if( 
    is_array($giochi_speciali) )  {   
        echo 
    "Elementi selezionati: ".count($giochi_speciali)."
    "
    ;     
        echo 
    reset($giochi_speciali);     

        foreach( 
    $giochi_speciali AS $key => $elemento ){ 
            
    $variab .="|".$elemento;
        }

        echo 
    $variab;



    P.S. ho sostituito il ciclo con un foreach perchè mi sembra più indicato per ciclare un array
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  5. #5
    Originariamente inviato da las
    Codice PHP:
    $giochi_speciali $_POST['giochi_speciali'];       
    if( 
    is_array($giochi_speciali) )  {   
        echo 
    "Elementi selezionati: ".count($giochi_speciali)."
    "
    ;     
        echo 
    reset($giochi_speciali);     

        foreach( 
    $giochi_speciali AS $key => $elemento ){ 
            
    $variab .="|".$elemento;
        }

        echo 
    $variab;



    P.S. ho sostituito il ciclo con un foreach perchè mi sembra più indicato per ciclare un array
    Grazie mille

  6. #6
    Il problema arriva adesso, per questo avevo scritto database.

    Ora devo estrarre i dati ed ovviamente devo estrarre solo i dati che hanno un certo numero all'interno di quella variabile.


    Per estrarre i dati faccio così

    Codice PHP:
    $sql "SELECT * FROM giochi_files WHERE speciale = '$id_spec' ORDER BY id_gioco DESC LIMIT $primo,$msg_per_page"
    Per esempio $id_spec = "5";

    però all'interno del db il mio record è fatto in questo modo

    $speciale_db = "4|5|8";

    Come faccio a estrarre solo i dati dove ho il 5 come numero?

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da Alex90
    Il problema arriva adesso, per questo avevo scritto database.

    Ora devo estrarre i dati ed ovviamente devo estrarre solo i dati che hanno un certo numero all'interno di quella variabile.


    Per estrarre i dati faccio così

    Codice PHP:
    $sql "SELECT * FROM giochi_files WHERE speciale = '$id_spec' ORDER BY id_gioco DESC LIMIT $primo,$msg_per_page"
    Per esempio $id_spec = "5";

    però all'interno del db il mio record è fatto in questo modo

    $speciale_db = "4|5|8";

    Come faccio a estrarre solo i dati dove ho il 5 come numero?
    Potresti provare con like se ho capito bene

    Codice PHP:
    $sql "SELECT * FROM giochi_files WHERE speciale LIKE '%$id_spec%' ORDER BY id_gioco DESC LIMIT $primo,$msg_per_page"

  8. #8
    Originariamente inviato da RoTeam
    Potresti provare con like se ho capito bene

    Codice PHP:
    $sql "SELECT * FROM giochi_files WHERE speciale LIKE '%$id_spec%' ORDER BY id_gioco DESC LIMIT $primo,$msg_per_page"
    Ciao, ci sono due problemi

    1) mettendo il codice in questa maniera $variabile .= "|$elemento"; mi salta il primo elemento è quindi invece di trovarmi per esempio 2|5, mi ritrovo solo |5

    2)per la questione LIKE '%$id_spec%' ci avevo pensato pure io, ma se per dire ho un'id fatto così 1, mi inserisce anche i valori dell'id 15, quindi i dati estratti non sono corretti, come ovviare a questa problematica?

    Ciao e grazie

  9. #9
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    se sono separati dal pipe ti basta fare il like anche con quello (campo LIKE "%|1|%") in questo modo non andrebbe a prendere ad esempio |3|15|4|5

    per la domanda n.1 non ho capito quale sia il problema
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  10. #10
    Se ti trovi in una situazione del genere ti consiglierei di ripensare da capo la struttura del tuo db.

    In ogni caso, se la struttura rimane questa devi fare così:
    il campo
    $speciale_db = "4|5|8|15|45";
    deve diventare
    $speciale_db = "|4|5|8|15|45|";

    e poi anziché
    LIKE '%$id_spec%'

    farai
    LIKE '%|$id_spec|%'

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.