Page 1 sur 1
BDD update d'un texte en ligne
Posté : 18 nov. 2015, 08:50
par rene06530
Bonjour à tous.
J'ai appris à faire un update pour modifier une donnée, par ex. remplacer "oui" par "non" ou 12 par 18. Donc le update est préparé pour une certaine "chose".
Est-il possible avec le duo php-sql de modifier "en ligne" un texte, par ex. une tournure de phrase sans aller dans modification dans PHPadmin ? J'ai déjà vu ça dans certain site.
Merci de vos réponses.
cordialement.
Re: BDD update d'un texte en ligne
Posté : 18 nov. 2015, 11:13
par Mazarini
Oui, de la même façon que pour remplacer 'OUI' par 'NON' en utilisant la colonne correspondante au texte.
Re: BDD update d'un texte en ligne
Posté : 18 nov. 2015, 13:16
par rene06530
Merci pour ta réponse Mazarini mais je suppose que tu veux dire "Modification dans PHPMyadmin" . Ma question est : modification en ligne" pour des personnes n'ayant pas accès à la BDD. ça ce fait, mais comment ? Je viens de penser à q.q chose en mettant "Prévisualiser" avant d'envoyer ma réponse, là par exemple on pourrais modifier sa réponse, apparamment ça ne se fait pas. c'est ce que je voudrais !!
Re: BDD update d'un texte en ligne
Posté : 18 nov. 2015, 14:01
par Mazarini
Je pensais que tu modifiais OUI en NON autrement que par phpmyadmin.
Pour ce que tu veux faire, Regardes les fonction de mysqli ou pdo dans la doc php.
Une fonction pour exécuter une requete est par exemple mysqli_query, mais il faut d'abord se connecter au serveur et sélectionner la base de donnée (mysqli_connect).
Re: BDD update d'un texte en ligne
Posté : 18 nov. 2015, 15:52
par rene06530
Je sais faire une update mais je voudrais faire des modifications sur un texte que j'ai sorti de la BDD par une requête. Actuellement ce n'est pas possible par la méthode que j'ai apprise, ça existe pourtant!!!
Re: BDD update d'un texte en ligne
Posté : 18 nov. 2015, 16:18
par Mazarini
Montres ce qui ne marche pas en indiquant l'erreur (mysqli_error() par exemple). Peut être que l'on pourra t'aider.
Re: BDD update d'un texte en ligne
Posté : 18 nov. 2015, 20:34
par rene06530
Je n'ai pas d'erreur, voici une petite requête update qui fonctionne, je l'ai essayé.
Le formulaire
<?php include("../header.php"); ?>
<form action="modif_contrat.php" method="POST">
<p>
<label for="num">Numéro</label> : <input type="text" name="num" num="num" /><br />
<label for="nvdesignation">nouvelle designation</label>:<input type="text" name="nvdesignation" $nvdesignation="nvdesignation" /><br /><br />
<input type="submit" value="Valider" />
</p>
</form>
</body>
</html>
puis la requête
<?php include("../header.php"); ?>
<?php include("../connect_wamp.php"); ?>
<?php
$update = $bdd->prepare('UPDATE contrat SET designation = :nvdesignation WHERE num = :num');
$update->execute(array(
':nvdesignation' => $_POST['nvdesignation'],
':num' => $_POST['num']));
echo 'Les modifications ont bien été faites !';
?>
</body>
</html>
Si le texte est long, la personne qui n'a pas accès à la BDD ne sait pas exactement (même si c'est elle qui la rentré) où faire sa modif. Il faut tout retaper, enfin avec la méthode que j'utilise, c'est ce que je veux savoir, est-il possible de faire une correction lorsque tout le texte sortant d'un update est affiché ? et comment faire ? ça existe, je l'ai déjà vu et utilisé dans un site de location de vacances.
Merci de vos réponses.
Re: BDD update d'un texte en ligne
Posté : 18 nov. 2015, 21:38
par or 1
avant d'afficher le formulaire, il faut faire une requete select pour récupérer la désignation du contrat, afin de mettre une valeur dans
<input type="text" name="nvdesignation" value="<?php echo ...; ?>" />
Re: BDD update d'un texte en ligne
Posté : 18 nov. 2015, 23:42
par rene06530
Merci de ta réponse or1 .
Bien sur ça fonctionne (mais il ne faut pas mettre <?php et ?> ) mais ceci implique que l'utilisateur x ou y puisse avoir accès à la requête, ce qui n'est pas le cas. Et si il y a une grande page ?
Cordialement.
Re: BDD update d'un texte en ligne
Posté : 19 nov. 2015, 00:03
par rene06530
C'est encore moi or1 .
J'ai dit une bêtise dans mon dernier message. Il suffit simplement de mettre la désignation récupérée dans la fenêtre " nouvelle désignation". Pas besoin d'avoir accès à la requête. ça répond partiellement à mon problème MAIS il doit y avoir une autre solution, je l'ai déjà vécu, peut être pas avec php et sql mais avec un autre langage ou des scripts. Le sujet reste ouvert.