Mise à jour de tables MySQL (depuis PostgreSQL)

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • #16
    Envoyé par RobertG Voir le message
    Autre chose : dans une boucle for() de la fonction qui traite les données provenant de PostgreSQL, une variable définissant la table en cours de traitement se vide.
    La fonction récupère le nom du fichier provenant de PostgreSQL et permet d'en déduire le nom de la table MySQL, puis on entre dans la boucle, sans sortir de la fonction, pour traiter le contenu du fichier.
    J'ai par exemple besoin de faire un traitement particulier sur un champ spécifique d'une table "hr5i3_fb_stay", mais dans la boucle, cette valeur non seulement se vide, mais si j'utilise un "if" sur son nom pour ce traitement supplémentaire, toutes les tables sont traitées de la même manière (je le vois avec la ligne echo !
    Code:
    if ($insert_table ="hr5i3_fb_stay" && $i > 0) {
    Comment si $insertable est vide, cette condition peut-elle être vraie ?
    Faut-il que je sorte la boucle for() dans une autre fonction en lui passant en variable les données et le nom de la table ?
    Hello.

    En php un = est une affectation, elle retourne toujours vrai.
    C'est trompeur.

    Pour une condition il faut faire un == (2x =) ou un === (3x =)

    Avec == il faut que les 2 valeurs correspondent
    Avec === il faut en + que le type des variables comparées soit identique
    A tous les utilisateurs de Joomla du très Grand Est de la France et du Jura suisse
    Rejoignez le Joomla Users Groupe Alsace...
    roland_d_alsace va-t-il devenir roland_du_grand_est ?

    Commentaire


    • #17
      Merci Roland,

      J'ai l'habitude de le faire pour les valeurs numériques, j'oublie pour les autres !
      "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
      MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

      Commentaire


      • #18
        Bonjour,
        Envoyé par RobertG Voir le message
        {s:7:"id_stay";s:4:"2092";s:7:"id_week";s:3:"704"; s:9:"id_option";N;s:11:"id_activity";s:2:"27";}}}s :9:"adminFees";s:2:"85";s:10:"extraNight";s:2:"45 " ;s:7:"busPass";s:2:"10";s:3:"tva";s:2:"-1";s:6:"nbWeek";i:2;s:10:"activities";a:1:{i:27 ;a: 3:{s:6:"object";O:18:"BMA\\Model\\Activity":6:{s:2 :"id";s:2:"27";s:4:"name";s:61:"Pass 4 activities (1surfing+1 excursion+ 2 activities) /week ";s:11:"description";s:0:"";s:5:"price";s:6:"1 10.0 0";s:5:"weeks";s:1:"1";s:6:"active";b:1;}s:5:"c oun t";s:1:"2";s:5:"total";d:220;}}s:7:"options";a: 0:{ }s:5:"extra";a:2:{s:4:"name";s:0:"";s:5:"price";s: 0:"";}s:9:"itemTotal";N;s:9:"agentPart";N;s:8:"s ub total";N;s:7:"balance";N;s:6:"incTVA";N;s:12:"opti onsTotal";N;}','A2','2','2','12','154','5','','202 3')
        Ca ressemble a du json.
        Un test à faire:
        Code:
        $var = {s:7:"id_stay";s:4:"2092";s:7:"id_week";s:3:"704"; s:9:"id_option";N;s:11:"id_activity";s:2:"27";}}}s :9:"adminFees";s:2:"85";s:10:"extraNight";s:2:"45" ;s:7:"busPass";s:2:"10";s:3:"tva";s:2:"-1";s:6:"nbWeek";i:2;s:10:"activities";a:1:{i:27;a: 3:{s:6:"object";O:18:"BMA\\Model\\Activity":6:{s:2 :"id";s:2:"27";s:4:"name";s:61:"Pass 4 activities (1surfing+1 excursion+ 2 activities) /week ";s:11:"description";s:0:"";s:5:"price";s:6:"110.0 0";s:5:"weeks";s:1:"1";s:6:"active";b:1;}s:5:"coun t";s:1:"2";s:5:"total";d:220;}}s:7:"options";a:0:{ }s:5:"extra";a:2:{s:4:"name";s:0:"";s:5:"price";s: 0:"";}s:9:"itemTotal";N;s:9:"agentPart";N;s:8:"sub total";N;s:7:"balance";N;s:6:"incTVA";N;s:12:"opti onsTotal";N;}','A2','2','2','12','154','5','','202 3')
        
        echo json_decode($var);
        et voir ce qui ressort comme résultat.
        La seule chose qui me fait douter est l'absence d'accolade de fin. Et la présence de }}} à la première ligne. Normalement, il devrais avoir autant de fermantes que d'ouvrantes. A moins qu il ne soit pas complet....
        Dernière édition par lefabdu51 à 31/07/2023, 08h20

        Commentaire


        • #19
          Merci de ta réponse.
          Ceci n'est qu'un extrait de la fin du contenu du champ, et pour les accolades multiples, il y a des imbrications, entre autres pour lister des données liées à une semaine particulière du séjour.
          Je viens de tester json_decode sur la totalité du contenu du champ, et le retour est vide. En supprimant la partie précédant la première accolade, même résultat.
          "Patience et longueur de temps font plus que force ni que rage..." (La Fontaine : Le Lion et le Rat) - "Il n'y a pas de problèmes; il n'y a que des solutions" (André Gide).
          MoovJla et LazyDbBackup sur www.joomxtensions.com - FaQ sur www.fontanil.info - Site pro : www.robertg-conseil.fr chez PHPNET, sites perso chez PlanetHoster + sites gérés chez PHPNET, PlanetHoster, Ionos et OVH

          Commentaire

          Annonce

          Réduire
          Aucune annonce pour le moment.

          Partenaire de l'association

          Réduire

          Hébergeur Web PlanetHoster
          Travaille ...
          X