collapse collapse

Rushbox

Refresh History
  • fr@c@s: il y a quand meme 41 invité de co ... lol
    lundi 23 septembre 2019, 20:23:26
  • fr@c@s: salut kiliny
    lundi 23 septembre 2019, 20:20:08
  • fr@c@s: il existe encore ce cite de gamers sans gamers ... :D
    lundi 23 septembre 2019, 20:20:01
  • Mecane: Salut Kiliny, rdv dans  10 ans ;)
    lundi 26 août 2019, 22:11:56
  • Kiliny: mon petit coucou de la décenie :D
    mercredi 21 août 2019, 12:23:33
  • Concombre Masqué: oui ?
    lundi 27 mai 2019, 17:42:15
  • fr@c@s: allo
    samedi 27 avril 2019, 10:08:58
  • Patriarche: plus grand monde :)
    jeudi 14 mars 2019, 21:20:29
  • Empitgv: bonne année ! :D
    mercredi 30 janvier 2019, 21:21:16
  • Moi: une relique
    dimanche 09 décembre 2018, 00:37:18

* Rusherche


* T'es qui toi?

 
 
Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Bonne Année vingt vingt

Auteur Sujet: Update de plusieurs lignes  (Lu 2717 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Patriarche

  • Besoin d'un clavier neuf
  • ****
  • Messages: 1914
  • Karma: 20
  • Je ne suis pas Ronchon seulement Grincheux
    • Voir le profil
    • F.T.A
Update de plusieurs lignes
« le: mercredi 21 avril 2010, 16:36:08 »
explication : :)

1) un select me permet de choisir un nom

2) en fonction du nom selectionner il m'affiche les resultats correspondant :

exemple :

Eric <= selection

resultat
<table width="150" align="center"><tr><td  bgcolor="#00F038"><fieldset><center><input type="button" onclick="document.location.href='index.php';" value="Retour"></center></fieldset></td></tr></table>
<fieldset>
<legend>Ajout de la Surveillance</legend>
<form method="post" action="<?php $PHP_SELF?>" name="desti">
<label>Sélection du Destinataire :</label>
<select name='dest'>
<option value='0'>Choix</option>
<?php
$base 
mysql_connect ($serveur$user$password);  
mysql_select_db ($db$base) ;  

// lancement de la requete  
$sql 'SELECT DISTINCT res_nom,id FROM facfam1 GROUP BY res_nom ORDER BY res_nom';  
 
// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)  
$req mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
 
// on recupere le resultat sous forme d'un tableau  
while($data mysql_fetch_assoc($req)) 
// on libère l'espace mémoire alloué pour cette interrogation de la base  
{
echo 
"<option value=".$data['res_nom']."
>"
.$data['res_nom']."</option>";
}
?>

</select>
<input type="submit" value="Sélectionner" name="Selection">
</form>
<?php
mysql_free_result 
($req); 
?>

</fieldset>
<?php
$dest
=$_POST['dest'];

if (
$dest=='')
{
$dest="0";
}
if (
$dest<>'0')
{
echo 
"<fieldset>";
echo 
"<legend>Enfant(s)</legend>";
echo 
"<form method='post' name='modifsurv' action='modif_controle.php'>";
$sql2 "SELECT DISTINCT * FROM facfam1 WHERE res_nom='$dest' GROUP BY con_prenom"
$req2 mysql_query($sql2) or die('Erreur SQL !<br>'.$sql2.'<br>'.mysql_error());
while($data2 mysql_fetch_assoc($req2)) 
{
echo '<table><tr height=40><td colspan=5 valign=middle align=left>';
$consommateur=$data2['con_prenom'];
echo $consommateur.' '.$data2['con_nom'].'</td></tr>';
$destpre=$data2['res_prenom'];
echo'<tr heigh=20><td></td><td>Période</td><td>Q</td><td>Mt</td><td>Surveillance</td><tr>';



$sql3 ="SELECT DISTINCT * FROM facfam1 WHERE con_prenom='$consommateur' AND res_nom='$dest' AND res_prenom='$destpre'";
$req3 mysql_query($sql3) or die('Erreur SQL !<br>'.$sql3.'<br>'.mysql_error());
while ($data3 mysql_fetch_assoc($req3))

{
echo'<tr height=20>';
$periode=$data3['con_periode'];
$quantite=$data3['con_quantite'];
$montant=$data3['con_montant'];
$surveillance=$data3['con_surveillance'];
$consonom=$data2['con_nom'];
echo '<td colspan=2 width=300 height=20 valign=top align=center>Période '.$periode.'</td><td height=20 valign=top align=center>'; echo $quantite.'</td><td height=20 valign=top align=center>'; echo $montant.'</td><td height=20 valign=top align=center>'; echo '<input type=text name=surveillance size=15 value='.$surveillance.'></td></tr>';

}
}

}
else 
{
echo
"aucune selection";
}
?>
</table>
<input type="submit" value="Valider">
</form>


periode
PeriodeQuantiteMontantValeur
1er periode814,40"champ formulaire input donnée modifiable"
2em periode918,40"champ formulaire input donnée modifiable"


suivi du bouton Submit et fin du formulaire.

N'utilisant qu'une seule table dans ma BD comment faire pour mettre a jour que les enregistrements à l'écran ???

Merci.
« Modifié: mercredi 21 avril 2010, 16:54:40 par Patriarche »


Hors ligne Uranys

  • J'ai plus de vie
  • *****
  • Messages: 4206
  • Karma: 26
  • ...C'est la faute à  Calou....
    • Voir le profil
    • PQ Clan
Re : Update de plusieurs lignes
« Réponse #1 le: jeudi 22 avril 2010, 14:16:32 »
En SQL, si j'ai bien compris la question, il suffit de faire un update du select :
update <nomtable>
SET <champ>=<nouvellevaleurchamp>
where  <champ>=<valeur>

  <champ>=<valeur> peut être remplacé par une clause sql

Hors ligne Patriarche

  • Besoin d'un clavier neuf
  • ****
  • Messages: 1914
  • Karma: 20
  • Je ne suis pas Ronchon seulement Grincheux
    • Voir le profil
    • F.T.A
Re : Update de plusieurs lignes
« Réponse #2 le: dimanche 25 avril 2010, 13:19:04 »
slt ura, merci d'avoir répondu mais c'est un peu plus tordu qu'un simple update (que je sais faire)...

le résultat retourné donne:

1er requete choix d'un nom
2eme requete choix des correspondance au nom deja choisi
3eme requete selection des differentes lignes qui correspondent au 2 critères précèdent.

au final :

Eric (req 1)

Alienor (req2)

periode 1 - Q - MT (req3)
periode 2 - Q - MT (req3)

chacune des ligne de la 3ème requête est indépendantes, il faut que je fasse un update de plusieurs lignes de ma base lorsque je met les lignes periodes a jour.


Hors ligne Uranys

  • J'ai plus de vie
  • *****
  • Messages: 4206
  • Karma: 26
  • ...C'est la faute à  Calou....
    • Voir le profil
    • PQ Clan
Re : Update de plusieurs lignes
« Réponse #3 le: mardi 27 avril 2010, 14:53:48 »
Peux tu :
- Me donner la liste des champs
- La 1ere requête (Eric (req 1))
- La 2ieme requête (Alienor (req2))