Afficher les Articles dans mon application

Bonjour à  tous,


J'essaie de faire une application pour mon association et je suis arrivé à  la partie "Articles".

J'ai un site et donc une base de données Mysql utilisant une PHPMyadmin contenant l'ensemble des données (articles, etc)

Je voudrais utiliser ces mêmes données dans mon application, pour pas avoir à  créer une nouvelle base dans Firebase, et aussi avoir a publier plusieurs fois sur plusieurs supports.

Connaissez-vous une méthode pour me permettre de faire cela ? Si oui, pouvez-vous m'aider svp ?


Réponses

  • As-tu déjà  créé les WebServices pour pouvoir faire des appels à  ta BDD?


  • bonjour "Larme"


    non pour le moment j'ai rien crée. je sais pas ou mettre les documents donc je me renseigne d'abord :)

  • J'ai mis les fichier sur mon serveur (site internet)


    et donc avec un get url j'essais d'y accédé




  • J'ai mis les fichier sur mon serveur (site internet)


    et donc avec un get url j'essais d'y accédé




     


    C'est quoi comme type de fichier ?

  • Bonjour "



    jguimberteau"

     


    pour le moment j'ai un fichier PHP me permettant de me connecté à  ma base (wordpress) et cela fonction (pas de message d'erreur)


     


    par contre j'ai aucune donnée de remonter de ma table wp_posts


  • j'ai essayé plusieurs codes parmi lesquels celui la :



    <?php

    // Create connection
    $con=mysqli_connect("localhost","username","password","dbname");

    // Check connection
    if (mysqli_connect_errno())
    {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    // This SQL statement selects ALL from the table 'Locations'
    $sql = "SELECT * FROM Locations";

    // Check if there are results
    if ($result = mysqli_query($con, $sql))
    {
    // If so, then create a results array and a temporary one
    // to hold the data
    $resultArray = array();
    $tempArray = array();

    // Loop through each row in the result set
    while($row = $result->fetch_object())
    {
    // Add each row into our results array
    $tempArray = $row;
    array_push($resultArray, $tempArray);
    }

    // Finally, encode the array to JSON and output the results
    echo json_encode($resultArray);
    }

    // Close connections
    mysqli_close($con);
    ?>


  • Bonjour "


    jguimberteau"

     


    pour le moment j'ai un fichier PHP me permettant de me connecté à  ma base (wordpress) et cela fonction (pas de message d'erreur)


     


    par contre j'ai aucune donnée de remonter de ma table wp_posts




     


     




     


    j'ai essayé plusieurs codes parmi lesquels celui la :



    <?php

    // Create connection
    $con=mysqli_connect("localhost","username","password","dbname");

    // Check connection
    if (mysqli_connect_errno())
    {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }

    // This SQL statement selects ALL from the table 'Locations'
    $sql = "SELECT * FROM Locations";

    // Check if there are results
    if ($result = mysqli_query($con, $sql))
    {
    // If so, then create a results array and a temporary one
    // to hold the data
    $resultArray = array();
    $tempArray = array();

    // Loop through each row in the result set
    while($row = $result->fetch_object())
    {
    // Add each row into our results array
    $tempArray = $row;
    array_push($resultArray, $tempArray);
    }

    // Finally, encode the array to JSON and output the results
    echo json_encode($resultArray);
    }

    // Close connections
    mysqli_close($con);
    ?>



     


     


    C'est le code ci-dessus qui doit remonter les informations de WP_POST ? Car dedans tu remontes toutes les datas de la table "Location". 



    "SELECT * FROM Locations"
  • Oui exactement, le code est le code d'origine (pris sur le net)


     


    evidement, je l'ai modifier pour correspondre à  mes informations notamment "SELECT * FROM wp-posts"


  • Pour wordpress il existe un plugin plutôt pas mal https://fr.wordpress.org/plugins/json-api/ qui permet d'accéder au post après le passage des filtres etc... le tout en JSON à  la sortie avec pas mal de possibilité sur les requêtes... Cela pourrait être uns piste.


  • +1 Lexxis


    C'est plutôt une bonne approche qu'il te propose. Parser un flux JSON c'est assez simple en swift.  ;)


  • Excellent


     


    Merci beaucoup les amis. je teste cela et je vous tiens au courant 

  • Bonjour à  tous


    J'ai regardé quelques explications sur l'API et effectivement, il me semble parfaitement convenir à  ce que je souhaite faire. Seulement je ne sais pour quelles raisons, lorsque j'installe l'API sur WP et effectue un test (request GET) avec nomDeDomaine.com//wp-json/wp/v2/posts j'ai une erreur.


     


     


     



    The requested URL can't be reached

    The service's server DNS address could not be found.


    Search Google for chrome network error 105


    net::ERR_NAME_NOT_RESOLVED


  • rollanorollano Membre
    août 2016 modifié #14
    BON Il a fallu que je me plaigne pour avoir une réponse de la part de l'API. 

    J'ai bien les postes remontés Avec saisi direct depuis la barre d'adresse

     

    un extrait



    font-size: 16.0pt; font-family: Arial; color: #351c75;\">https:\/\/www.leetchi.com\/c\/solidarite-de-id-elasri-essaouira<\/span><\/p>\n<p style=\"text-align: start; text-justify: inter-ideograph; background: white; orphans: auto; widows: 1; -webkit-text-stroke-width: 0px; background-image: initial; background-repeat: initial; word-spacing: 0px;\"><span style=\"font-size: 16.0pt; font-family: Arial; color: #351c75;\"><a href=\"http:\/\/www.kheir-fi-dounia.com\/index.php\/faire-un-don\/\"><span style=\"color: #1155cc;\">http:\/\/www.kheir-fi-dounia.<wbr \/>com\/index.php\/faire-un-don\/<\/span><\/a><\/span><\/p>\n<p style=\"text-align: start; text-justify: inter-ideograph; background: white; orphans: auto; widows: 1; -webkit-text-stroke-width: 0px; background-image: initial; background-repeat: initial; word-spacing: 0px;\"><span style=\"font-size: 16.0pt; font-family: Arial; color: #351c75;\">Nous comptons sur vous pour relayer un maximum cette publication afin de collecter au plus vite la somme n\u00e9cessaire.<\/


     

     

     




    Bonjour à  tous


    J'ai regardé quelques explications sur l'API et effectivement, il me semble parfaitement convenir à  ce que je souhaite faire. Seulement je ne sais pour quelles raisons, lorsque j'installe l'API sur WP et effectue un test (request GET) avec nomDeDomaine.com//wp-json/wp/v2/posts j'ai une erreur.


     


     


     


    The requested URL can't be reached

    The service's server DNS address could not be found.


    Search Google for chrome network error 105


    net::ERR_NAME_NOT_RESOLVED



  • Je ne touve decidement rien qui fonctionne. Avez-vous un tuto svp ?


  • Rien ne fonctionne avec le plugin JSON ?

    Si c'est celui dont je t'ai parlé je l'ai installé sur un site WP, activé le Core Module (je crois qu'il est actif à  l'installation). Pour tester il suffit de cliquer sur les méthode accessibles (Un bon moyen pour voir si tout fonctionne)


    JSONAPI.png


     


    Exemple de résultat pour la méthode info



    {"status":"ok","json_api_version":"1.1.1","controllers":["core"]}
  • rollanorollano Membre
    août 2016 modifié #17
    Salut Lexxis

     

    Enfaite ça fonctionne très bien lorsque j'essaie d'accéder viens le navigateur ou l'outil "rest consolé" de google.

    c'est dans l'application que ça va pas.

     


    [sharedmedia=core:attachments:3876]

     



     

    le tuto que j'essaie de suivre manque un peu de précision, je perds un temps fou à  rechercher les erreurs.


     

    là  j'ai uniquement la date des posts qui est remontée. les titres et les images non. j'essai de regarder les résultats des requêtes (rest api) pour voir comment les récupéres

     

  • j'ai l'impression que le lien de l'image n'est pas remonté pour mon site. en exemple la comparaison des deux sites me montre bien l'absence. (les infos de mon site en bas de l'image)


     


    j'ai fini par trouver pour le titre


  • Au début de l'article il est dit qu'il faut modifier "fonctions.php" et ajouter une fonction pour avoir "featured_image_thumbnail_url". As tu bien suivi la procédure ?


  • Yes j'ai bien modifié et ajouté les fonctions.

     

    Après j'avais une parse error car dans le fichier wp-setting, l'ordre d'appel de wp-function et de wp-setting n'était pas bon.

     

    j'ai ensuite modifié le code pour récupérer l'image. Maintenant, aussi bien l'image, la date et le titre sont bien remontés.

     


    Cela compose la première page. J'aimerais maintenant, lorsqu'une row est sélectionnée, faire passer les informations précédentes en les complètes du contenu (texte) de l'article sur une deuxième page (detail View).

     

    Je pense qu'il faut faire une "prepareforsegue" mais je n'ai aucune idée du comment puisque la page de destination est aussi une table View


     


     


     


  • j'ai trouver aussi pour passer les informations


     


    maintenant j'ai un souci. Les textes affichent les balises html, les div etc... une idée de comment faire ?


  • Joanna CarterJoanna Carter Membre, Modérateur
    Tu utilises UITextView ou UIWebView ?
  • UITEXTVIEW


  • loooool Merci bien pour ta réponse 


    je vais remplacer du coup hein looooool


  • mais comment faire pour afficher le texte ?


     


    par exemple, UItextView.text (fonctionne)


     


    mais cela ne fonction pas avec le webview. quel attribue dois-je utilisé ?


  • self.contentTextWV.loadHTMLString(self.content, baseURL: nil)


     


    cela fonctionne bien meme tres bien


     


    merci beaucoup


  • UITextView peut parser du HTML ("pas trop complexe" non plus, toutes les balises n'étant pas gérée) via NSAttributedString.


    Doc: https://developer.apple.com/reference/foundation/nsattributedstring/1524613-initwithdata


Connectez-vous ou Inscrivez-vous pour répondre.