Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Inserire valori array in un unico campo di un record Mysql

    Salve, ho un dubbio: Mi trovo nella situazione in cui ho un prodotto che può appartenere a più categorie, che potrebbero anche aumentare (quindi non predefinite), e pensavo di inserire nella table dei prodotti un campo "categorie" in cui inserire tutti i vari id delle categorie selezionate in una option multiselect al momento dell'inserimento del prodotto, per poi utilizzare il comando in_array per capire se all'interno del campo c'è una determinata categoria o no quando faccio la select. Non capisco però come inserire in un campo un array da poter poi riutilizzare...
    Probabilmente è una cosa banale ma non trovo la via...
    Grazie
    Fabrizio

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,503
    Semplicemente non puoi.
    I tipi di dato per i campi di un DB non contemplano gli array.
    Dovresti rivedere la struttura del DB, per esempio aggiungendo una tabella che metta in relazione prodotti e categorie.

  3. #3
    Risolto, grazie

  4. #4
    Ho risolto in questo modo, trovato in giro sul web:

    $var_array = array('pippo','pluto','paperino');
    $array_to_save = base64_encode( serialize($var_array) );

    /* Salvataggio nel database */
    $sql = "INSERT INTO TABELLA (CAMPO) VALUES ('".$array_to_save."')";
    mysql_result($sql,$dblink);

  5. #5
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    la soluzione va bene, ma non credo ci sia qualcosa di meno efficiente rispetto alla tua scelta
    molto meglio se fai una tabella di correlazione, come suggerito da Alhazred

  6. #6
    Alla fine ho fatto in quel modo, la tabella di correlazione, ma volevo capire se potevo modificare al minimo una serie di pagine già scritte.
    Grazie comunque della velocità delle risposte!

Tag per questa discussione

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.