Forum Programmation.shell script shell et page web

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
-4
9
mai
2015

Slt j'ai écrit un script shell qui accède à mysql et exécute une requette. pour le moment la resultat de la requette s'affiche au niveau du terminal et j'aimerai le renvoyer sur une page html.
voici mon extrait de code

#/bin/bash

mysql -u root -p<< EOF
use mysql;
show Boutique;             # Nom de ma bd 
select* from client;       # Ma requette
EOF
  • # Une réponse aussi clair que la question

    Posté par  (site web personnel) . Évalué à 4.

    C'est pas testé mais ça devrait marcher.

    #!/bin/sh
    #Copyright under WTFPL v2
    
    # Get the output html page in argument
    HTML_PAGE=$1
    
    # SQL
    SQL="select * from client;"
    
    # Database
    MYSQL_USER=user
    MYSQL_PASS=mypass
    MYSQL_DATABASE=Boutique
    
    # Begin of the script
    cat << EOF > $HTML_PAGE
    <html>
    <head>    
    <title>Result for a select</title>
    </head>
    <body>
    <h1>Here is my great select</h1>
    EOF
    
    [ $MYSQL_USER != "root" ] && echo $SQL | mysql -u $MYSQL_USER -p $MYSQL_PASS $MYSQL_DATABASE -H >> $HTML_PAGE
    
    cat << EOF >> $HTML_PAGE
    </body>
    </html>
    EOF
  • # php

    Posté par  . Évalué à 3.

    mais pourquoi en shell et pas en php ?
    le php c'est fait pour. (ou ruby, ou python, qui ont des libs faites pour ça)

    • [^] # Re: php

      Posté par  . Évalué à 3.

      Ca peut être parce que ce fameux script doit tourner en cron pour générer la fameuse page, ou que la page ne sera pas utilisée par un serveur web mais envoyé par mail (déjà vu ce genre de chose).

  • # Sinon utilisation de HTML output

    Posté par  . Évalué à 2.

    Depuis au moins la version 3.23 de MySQL, il est possible de demander une sortie HTML depuis une option :
    Mode d'emploi

    Je ne sais si cela te sera utile, mais c'est bon à savoir pour du shell !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.