Page 1 sur 1

[PHP/MySQL] Créer un systéme de modification de texte.

Posté : 03 sept. 2005, 19:07
par BuGs
Bonjour à tous,
Etant peu expérimenté en PHP/SQL, je requière de l'aide sur ce forum ;)

Je vous explique mon dilémne :

J'aimerai pouvoir créer, moi même si possible, un petit systéme qui me permetrais, de metre du texte sur une page, et de le modifier par la suite.

L'exemple le plus frappant que j'ai a vous montrer, c'est ce post ! Je le crée, ensuite je peut le modifier.
Sauf que ce que je veut faire, est plus simple, avec quelques lignes de texte seulement.

Le problème étant que je ne sais pas par ou commencer, et comme je doit comprendre ce que je code, il faut que ce ne soit pas très compliquer, c'est a dire evitez des milliers de lignes de code.

J'ai fait plusieur essai reussi, mais peu efficace:
- J'ai créer une base de donnée, avec une table, qui contient le champ titre et texte. Ensuite avec des INSERT TO, UPDATE et SELECT, je peut modifier ces champs et les afficher.
Le probleme est que ce n'est pas vraiment flexible et tres limiter, car je ne sait pas mettre mon texte en forme :gras, souligné, italique, retour a la ligne, pour les exemples les plus simples. :(
j'oublie egalement les ' et autres " qui sans \ font totalement foirer mes requetes SQL. :?

Alors, si vous avez des idées, suggestions, page internet précise ( j'ai deja pas mal de site sur les different languages donc merci de ne pas les poster inutilement :P ).

Et si je n'ai pas eter assez clair, n'hesitez pas a me demandez d'autres explication.
Je rejoute que c'est tres important, c'est mon travail de qualification pour mes etudes :)

Merci d'avance pour toutes reponses.

Posté : 03 sept. 2005, 19:11
par HD
deux solutions : le mettre dans une bd ou dans un txt (je prefere la 1ere solution)
dans les 2 cas tu prepare la mise en forme du texte (style ... ) et tu recupere les donnees de là où elles sont stockés pour les inserer là où c'est prevu

Posté : 03 sept. 2005, 19:16
par bugs
Merci d'avoir repondu aussi vite.

J'ai plus ou moins comprit ce que tu vient de me dire.

J'utilise une BD, mais je ne connait pas encore toutes les possibilitées a part les requete UPDATE, SELECT INSERT TO, les bases en faits ( mais je suis pas contre le fait d'apprendre :P).

j'aurai aussi quelques question.

Comment utiliser le style pour la mise en forme de mon texte. Aurai tu un site qui pourrai m'en dire plus ?

Ensuite comment stocker mon texte avec la mise en forme ?

Merci pour les reponses ;)

Posté : 03 sept. 2005, 19:39
par HD
Comment utiliser le style pour la mise en forme de mon texte. Aurai tu un site qui pourrai m'en dire plus ?
http://www.commentcamarche.net/css/cssintro.php3 par exemple
crée une feuille de style adaptée à ce que tu veux et dans l'endroit ou il faut mettre du texte, fais une reference à l'endroit où il est stocké (bd par exemple)
Ensuite comment stocker mon texte avec la mise en forme ?
le texte est stockés dans une bd par exemple
quant à la mise en forme tu peux creer autant de feuilles de style que tu veux et à chaque fois tu utilise celle que tu veux c'est plus simple à mons avis

Posté : 03 sept. 2005, 19:55
par bugs
Je suis perdu la :)

j'ai essayer de lire un peu les css, mais c'est une chose que je n'ai pas encore toucher, donc je suis un peu perdu :)

Je vais resumer vite fait ce que je veut faire, et si quelqu'un saurai me donner une bonne marche a suivre, je lui en serai reconnaissant.

- Un formulaire ou champ de texte ( comme ce post que je fait)
- l'enregistrer quelque part ( fichier texte ou BD)
- afficher sur une page, les information rentree dans le formulaire.

les problemes rencontrés : - comment gardez la mise en forme (retour a la ligne surtout) =>> css ? oui mais comment utiliser cela avec un formulaire, du php et une BD.

Posté : 03 sept. 2005, 20:02
par HD
creer l'emplacement du texte --> HTML
http://www.lehtml.com/htmlplus/fmzone.htm

poster / afficher le texte saisi --> PHP
http://phpdebutant.org/article56.php

reference vers une feuille de style --> CSS
http://www.commentcamarche.net/css/cssintro.php3

recuperer le texte de la bd --> PHP/SQL
http://phpdebutant.org/article63.php

Posté : 03 sept. 2005, 20:11
par bugs
creer l'emplacement du texte --> HTML ==> OK

poster / afficher le texte saisi --> PHP ==> OK

reference vers une feuille de style --> CSS ==> la !!!! Je bloque :)

recuperer le texte de la bd --> PHP/SQL ==> Enregistrer de simples champs et les afficher OK ! mais si le CSS entre en jeu, je bloque aussi ^^


Voila, dans le lien sur CCM et les CSS que tu ma donner, y a t'il un point qui concerne mon probleme ? Saurai tu jeter un coup d'oeil pour moi et me dire ce qui pourrait me servir ? :)

Merci beaucoup HD pour ton aide, meme si je n'ai pas encore fini de t'ennuyer avec mes question ;)

Posté : 03 sept. 2005, 20:14
par HD
c'est pas grave
maintenant il s'agit de poster ici ce qui est OK afin qu'on t aide à le completer
ps: le lien c'est un tuto complet sur les css (voir le menu de gauche) c'est là que j'ai appris essentiellement le php et autres langages

Posté : 03 sept. 2005, 20:28
par bugs
Oki alors, on va faire simple et tres shematiser :p

je commence par la carte des pages ( je simplifie tout, sans metre tout le codes, enfin tu verra lol ;) ).

- la page pour afficher les infos (historique.php)
- le formulaire (adminhistorique.php)
- la page de post (addhistorique.php)


===> adminhistorique.php :

Code : Tout sélectionner

<?php // on se connecte à MySQL $db = mysql_connect('localhost', 'root', ''); // on sélectionne la base mysql_select_db('mysql',$db); // on crée la requête SQL $sql = 'SELECT titre,texte01, FROM table_historique WHERE id = 1'; // on envoie la requête $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $data = mysql_fetch_assoc($req); ?> <form method="POST" action="addhistorique.php"> <div align="center"> <input name="titre" type="text" value="<? echo $data['titre']; ?>" size="50"> <br> <input name="texte" type="texte01" value="<? echo $data['texte01']; ?>" size="85"> <br> <input type="submit" value="Envoyer" name="envoyer"> </div> </form>
Ici on a le formulaire qui recoit les infos que je tape. je ne sais pas, combien de champs je doit mettre, si seul un suffit pour ce que je veut faire, enfin tu me conseillera.


===> addhistorique.php :

Code : Tout sélectionner

<?php // On commence par récupérer les champs if(isset($_POST['titre'])) $titre=$_POST['titre']; else $titre=""; if(isset($_POST['texte01'])) $texte=$_POST['texte01']; else $texte01=""; // On vérifie si les champs sont vides if(empty($titre)) { echo '<font color="red">Attention, vous n\'avez pas rempli exactement le titre</font>'; } // Aucun champ n'est vide, on peut enregistrer dans la table else { // connexion à la base $db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error()); // sélection de la base mysql_select_db('mysql',$db) or die('Erreur de selection '.mysql_error()); // on écrit la requête sql $sql = "UPDATE table_historique SET titre='$titre', texte01='$texte01' WHERE ID = 1"; // on insère les informations du formulaire dans la table mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error()); // on affiche le résultat pour le visiteur echo 'Vos infos on été ajoutées.<br>'; echo '<a href="./adminblanc.php">Retour à l\'administration</a>'; mysql_close(); // on ferme la connexion } ?>
J'ai peut etre un probleme egalement, je n'ai pas de requete INSERT TO, enfin je verrai ca par apres

===> historique.php :

Code : Tout sélectionner

<?php // on se connecte à MySQL $db = mysql_connect('localhost', 'root', ''); // on sélectionne la base mysql_select_db('mysql',$db); // on crée la requête SQL $sql = 'SELECT titre,texte01 FROM table_historique WHERE id = 1'; // on envoie la requête $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); $data = mysql_fetch_assoc($req); echo '<center>'.$data['titre'].'<br>'; echo $data['texte01'].'<br>'; // on ferme la connexion à mysql mysql_close(); ?>

Voila, donc je prend des donne d'un formulaire, et je les enregistre dans une BD.

c'est assez simple mais peu efficace.

j'avais pensez rajouter plusieur champ pour faire plusieur lignes, mais ce n'est pas le top apres essais ^^.

que me conseille tu ?