Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Update d'un enregistrement MySQL avec PHP

13 réponses
Avatar
Otto Haldi
Bonjour

Je bébute en PHP et j'ai un problème de logique.

Depuis une liste je passe un identifiant pour afficher à
l'aide d'un formulaire les champs dans une nouvelle page
PHP.
A l'aide de l'identifiant je fais un select pour me pointer
sur l'enregistrement.

J'ai inclus dans mon formulaire un bouton pour enregistrer
les modifications.
J'ai pu réaliser ce programme jusque là.

Je voudrais maintenant que lorsque l'on click sur ce bouton
que le même programme PHP enregistre les modifications et
relise l'enregistrement pour contrôle.

Y-a-t'il quelqu'un pour me dire comment faire ou me dire ou
l'on peut trouver des examples?

Merci d'avance pour tous renseignements.

O. Haldi,

Si quelqu'un veux m'aider je peux lui envoyer mon source.

3 réponses

1 2
Avatar
Otto Haldi
Bonjour

Voilà comme exercice je cherche à updater une fiche
adresse, laquelle à env. 20 champs.

Après avoir récupéré mes champs de ma base MySQL, je les
affiche dans un formulaire de la façon suivante:

..
<Td width="190"><input type="text" name="nom" value="<?php
echo($NOM); ?>" size="32"></td>
..

Puis à l'aide du bouton enregistrer, je rapelle le même
script "$PHP_SELF".

Je détecte ce bouton et je passe dans un boucle UPDATE.

Mais voilà tous mes champs sont maintenant vide!

Ma question: quel est ou sont les méthodes la plus compacte
pour passer un certain nombre de variables lorsque l'on
rappelle un même script?

Meilleures salutations

Otto
Avatar
Nudrema
Guillaume je vois que tu es un crack en php.
Depuis quelques jours, j'ai compris plein de trucs grace à ce forum. Mais à
pars taper un nombre de lignes importants, je ne vois pas encore comment
passer "a moindre fraits" env. 30 variables d'un script à un même script
que je rappelle par $PHP_SELF.


Je n'ai pas pu lire les messages précédent à cause de ça : "newsgroup
server responded:No such article number in this group; Perhaps the
article has expired"

Cependant je puis proposer plusieurs solutions au problème :

a) si tu veux passer toutes les variables déjà fournies à la page via
GET, en changeant l'une ou l'autre de ces variables :

function getUrlGet($vars = array()) {
foreach($_GET as $k=>$v) {
if(isset($vars[$k])) {
$v = $vars[$k];
}
$url .= '&' . $k . '=' . urlencode($v);
}
return $_SERVER['PHP_SELF'] . '?' . substr($url, 1);
}

Dans ce cas, tu passes en argument à cette fonction un tableau de cette
forme :
$vars = array(
'var1' => 'valeur1b'
'var3' => 'valeur3b'
);

Ainsi, si tu as appelé ta page comme ceci :
tonscript.php?var1=valeur1&var2=valeur2&var3=valeur3&var4=valeur4

getUrlGet($vars) donnera :
/tonscript.php?var1=valeur1b&var2=valeur2&var3=valeur3&var4=valeur4

b) si tu veux passer des autres variables, il suffit de reprendre se
principe en ajoutant des variables à la fin. Un simple test disant si
une valeur de $_GET est définie permettra de rajouter les paramètres
manquants...

c) si tu veux reconstruire une url de 0 : un simple script de
concaténation en partant d'un tableau fera facilement l'affaire. Un
autre exemple :

$var1='a';
$var2='b';

function getUrlNewVars() {
$variables_a_recuperer = array('var1','var2');

foreach($variables_a_recuperer as $var) {
if(isset($GLOBALS[$var])) {
$url .= '&' . $k . '=' . urlencode($v);
}
}
if(empty($url)) {
return $_SERVER['PHP_SELF'];
} else {
return $_SERVER['PHP_SELF'] . '?' . substr($url, 1);
}
}

donnera : /tonscript.php?var1=a&var2=b

j'espère avoir pu t'aider...

Avatar
Otto Haldi
Juste pour savoir?

Guillaume Bouchard wrote:
Bien tu utilise POST pour les transmettres.
Puis apres, et bien tu doit taper du code pour tester tes vars une par
une, et c'est normale et pas long.

Voici ce que je viens de lire sur un page internet:

"Lorsque ce formulaire est envoyé, le PHP va créer la variable $nom, qui
contiendra la valeur que vous avez entrée dans le champs Nom: du
formulaire. "
Ce qui veux dire que mes variables ne devraient donc pas se perdre
lorsque je recharge mon script! Non?

Voici en résumé mon formulaire, y-a-t'il quelque chose faux?

update.php
**********
..
<Form method="post" action="<? echo $PHP_SELF ?>" >
<table>
<tr>
<td width="100" height="275">
<table border="0" width="700" cellspacing="5" cellpadding="0"
bgcolor="#A0D5F0" style="border-collapse: collapse"
bordercolor="#111111">
<tr>
<td colspan="4" bgcolor="#3399FF">
<p align="center"><b><font face="Arial" color="#FFFFFF">MODE:
Mutation</font></b></td>
</tr>

<tr>
<td width="150"><font face="Arial">Adresse No.:</font></td>
<td width="190"><b><font face="Arial"><font
color="#FF0000"><?php echo($NO_ADR); ?></color></b></td>
<td width="30">&nbsp;</td>
<td width="220"><b><font face="Arial">Groupes</b></td>
</tr>

<tr>

---> Mon premier champs!

<Td width="150"><font face="Arial">Politesse:</font></td>
9 <td width="190"><input type="text" name="politesse"
value="<?php echo($POLITESSE); ?>" size="32"></td>
<td width="30">&nbsp;</td>
<td width="220" bgcolor="#E0E0E0">GR1</td>
</tr>

---> Les champs suivants!
...
etc.
...

</Table>


---> Bouton qui rappelle le même script ($PHP_SELF).

<p><input type="submit" value="Enregister">;

---> Pour ne pas perdre l'identifiant en rechargeant la même page!
Je détecte "he_save" pour savoir si je dois réenregister mes
variables dans ma base MySQL.

<Input type=hidden name=he_save value="<?php echo $id; ?>">

---> Rappel d'un autre script

<A href="hermes.php">Liste des adresses; </a>

</form>


Meilleures salutations

Otto

1 2