Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    14

    da json format alla normalizzazione

    Salve a tutti!!
    Sto usando php 7 con mysql 5.7 con tabelle innodb e alcune colonne come img_prodotti in json.

    ho questo codice:
    codice:
    $sql =  "SELECT * FROM comparator2.prodotti WHERE img_prodotti->'$.img1'= \"a\";";
                   $result = mysqli_query($connessione, $sql);
     if (mysqli_num_rows($result) > 0) {
          
        while($row = mysqli_fetch_assoc($result)) {
            echo "idprodotti: " . $row["idprodotti"]. "<br>img_prodotti: " . $row["img_prodotti"]. " " . "<br>";
        }
    } else {
        echo "0 results";
    }
    Il risultato a video è:
    idprodotti: 16
    img_prodotti: {"img1": "a", "img2": "b"}
    Invece quello che vorrei a video è:
    idprodotti: 16
    img_prodotti: img1 a

    le parentesi, le virgolette i 2 punti la virgosa dovrei eliminarla e mi servirebbe un modo modulare con quasiasi caso e profondità, es stupido: {"lingua":{"inglese":{"comment":{"marco":"da paura", "ulisse":"interessante"}}}}
    Potrei mettere una lista tipo ["/img/file1.jpg","/img/file2.jpg] ma è anche per capire un pò meglio come unire php con mysql json

    Grazie!

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    Se ti è più comodo lavorare con gli array puoi usare json_decode() passandogli la stringa JSON che hai adesso.

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    14
    Grazie per avermi risposto , Mamma mia se stato pure velocissimo
    Perdona la mia ingnoranza ma come posso togliere le parentesi ecc lasciando solo la/le stringe e numeri?
    Io ci ho provato ma mi da un risultato cosi:
    codice:
    "{\"img1\": \"a\", \"img2\": \"b\"}"

    con questo codice:
    codice:
    $var=$row["img_prodotti"];
            echo json_encode($var);
    per avere un risultato tipo:
    codice:
    img1 a
    img2 b
    
    Come dovrei fare?

    Grazie ancora!!!!

  4. #4
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,448
    json_decode() ti converte la stringa JSON in un array, quindi ti basta ciclare l'array per averne tutto il contenuto, per esempio
    Codice PHP:
    $var json_decode($row['img_prodotti']);

    foreach ( 
    $var as $key => $value )
    {
        echo 
    $key ': ' $value '<br>';


  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2015
    Messaggi
    14
    Wow!!! Grazie mille!! Mi hai salvato
    A dirti gentilissimo è poco!!!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.